|
|
squid是一款功能十分强大的代理服务器软件,这里我把我的配置过程公布出来供大家参考。 一、安装squid 我的配置环境是FC2,在安装时安装了squid的RPM包,可以用:rpm -q squid来进行查询。这里建议把RPM包卸掉,去官方网站下载最新的原码包。卸载命令: rpm -e squid。 目前官方网站最近的版本为:squid-2.5.STABLE7,下载了squid-2.5.STABLE7.tar.gz后先解压:tar -vxzf squid-2.5.STABLE7.tar.gz 然后进入squid-2.5.STABLE7目录,进行编译:./configure 这里有很多选项,大家可以参考./configure --help里的说明,我编译的时候有没带选项。然后 make all make install OK,squid的安装完成了 二、配置 如果在configure时没在加安装目录的选项,那么默认会安装在/usr/local/squid的目录下。 修改配置文件/usr/local/squid/etc/squid.conf 修改如下: http_port 8080 代理端口改成8080 cache_effective_user squid 更改squid的进程用户,这里说明一下,默认安装这里是nobody权限,这样会导致启动不成功,因为nobody权限不能写cache和log文件,因为在系统安装时装了squid的rpm包,所以有一个squid的用户,在/etc/passwd里可以找到,如果没有这个帐号最好是添加一个,强烈建议不要把root权限给squid, visible_hostname xinhe 设置主机名,这个默认配置没有,必须添加,否则无法启动。 将/usr/local/squid目录的所以都改为squid chown squid:squid -R /usr/local/squid 然后启动squid测式一下, /use/local/squid/sbin/suqid -z -z 是为了创建cache目录 如果这里失败的话请回到上一步检查权限问题,要确保squid在/use/local/suqid/var目录有写权限。 如果成功的话会提示创建cache目录成功 再运行 /use/local/squid/sbin/squid 检查 /use/local/squid/sbin/squid/var/下的cache目录和logs目录下的日志文件是否正确创建,再运行 netstat -an |grep LISTEN 看代理端口8080是否在监听,如果在,就证在squid成功运行了,否则请在logs下的日志文件里找一下原因。 这样,squid的配置是算完成了(这里用的是最简单的配置) 三、添加认证功能 squid自身不带认证功能,需要另外的软件来支持认证,可以选mysql,smb,LDAP,ncsa等,从squid2.5开始都包含了ncsa的模块 我们再回到最开始解压的目录:squid-2.5.STABLE7 在helpers/basic_auth/NCSA目录下找到ncsa_auth文件。 注意:如果你在开始编译的时候用的是:make all的话就会有这个会件,否则,需要在这个目录下单独编译 把这个文件拷贝到/usr/bin目录下 cp ./ncsa_auth /usr/bin 下一步开始创建认证用户和密码 htpasswd -c /usr/local/squid/etc/password guest 如果是以后添加用户的话就把-c的参数去掉 然后再更改/use/local/squid/etc/squid.conf文件 auth_param basic program /usr/bin/ncsa_auth /usr/local/squid/etc/password 配置认证文件和用户文件 auth_param basic children 5 指定认证程序的进程数 auth_param basic realm Squid proxy-caching web server 代理服务器的名称 auth_param basic credentialsttl 2 hours 认证有效时间为2小时 acl normal proxy_auth REQUIRED http_access allow normal 只有认证用户才能访问
OK 重启squid服务, 在浏览器里配上这个代理,打开任意网站,如果弹出了输入用户名和密码的对话框,就证明OK了
|
| |
OVER
|