xinhe

I like open and free

  DonewsBlog  |  Donews首页  |  Donews社区  |  Donews邮箱  |  我的首页  |  联系作者  |  聚合   |  登录
  73篇文章 :: 13篇收藏:: 0篇评论:: 3个Trackbacks

文章

收藏

相册

Linux/UNIX技术站点

安全站点

编程资料站点

好友Blog

软件下载站点

存档


正在读取评论……


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了

后记:squid.conf还可以配置很多东西,比如限制访问时间,访问IP等
大家多看说明文档。


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=210922


[点击此处收藏本文]  发表于2004年12月22日 2:49 PM




正在读取评论……