学习笔记

在路上

导航

Ubuntu下Squid代理服务器的安装与配置[转贴]

Posted on 2008-09-06 10:54  An Shi  阅读(499)  评论(0编辑  收藏  举报

原帖地址:http://bbs.suizhou.biz/viewthread.php?tid=74494&extra=page%3D1&sid=T52Cyc

今天,我花了一个整整一个下午的时间总算可以用Linux(Ubuntu7.04)来开代理给校园网(局域网)内的其他同学开代理上外网呐,在设置的过程中我主要遇到了如下两个问题(似乎跟Ubuntu复杂的用户关系有关):

"(core dumped)"
"Failed to make swap directory /var/spool/squid/00: (13) Permission denied"

上面这些问题真的弄到我有点抓狂,不过最好我把Squid有关的用新立得软件管理器全都删掉,按下面的做法一步步来才最终搞定,发现网上有关ubuntu squid的资料真的难找,希望其他人看了这篇文章后能少走一点弯路。

具做做法如下(参考网上的资料根据自己的实践进行了重要的修改):

如果你认为编译源码比较麻烦的话,你可以用这个命令来装:
shell~$ sudo apt-get install squid #很快就会装上并且还自动启动了.
Shell~$ whereis squid #可以查看squid主要文件装到什么地方去了.
squid默认配制是不让任何用记使用它的,你需要做相应的修改.
shell~$ sudo gedit /etc/squid/squid.conf
然后 定位到
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
http_access allow localhost
########add by LfT
acl my_network src 10.16.7.222 10.16.8.168 10.16.6.24 #设置你允许访问的ip
http_access allow my_network
#########end add
# And finally deny all other access to this proxy
http_access deny all

再定位到
# Squid normally listens to port 3128
########change by LfT
http_port 10.16.8.51:808 #你的局域网IP及开放的端口;原来是:http_port 3128
#########change add

# TAG: https_port
# Note: This option is only available if Squid is rebuilt with the
# --enable-ssl option
这样当你启用squid后,这几个ip就可使用这个代理了.如果你还希望客户端提供用户名密码才能使用的话,我们还需做点修改,继续定位到
#Then, set this line to something like
#
# auth_param basic program /usr/lib/squid/ncsa_auth /usr/etc/passwd
######add by chenheng
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl auth proxy_auth sdau
http_access allow auth
######end add
以上修改后,你就可以启用squid(这里假设你设置好了用户名和密码,如果没有设置,参考如下)
得用apache的htpasswd工具为squid设置用户的密码:
shell~$ sudo htpasswd -c /etc/squid/passwd proxy_user proxy_password (passwd路径你可以自己定制,但建议你参考官方建意,虽然我没有照做).
如果是首次运行squid,你需要首先执行:
shell~$ sudo squid -z (作用我不好用中文解释,但相信你一定能理解这样做必要性)
接下来检验我们的配制文件是否有问题
shell~$ sudo squid -k parse
如果没有任何消息输出,恭喜,你可以使用squid了.
shell~$ sudo squid (后台启动)
shell~$ sudo squid -k shutdown (用这个命令关掉代理)
如果你认为源码安装更好,你可以如下操作:
shell~$ sudo ./configure --prefix=/usr/local/squid -enable-basic-auth-helpers=NCSA
shell~$ sudo make
shell~$ sudo make install
然后对配制文件的修改就同上了,这里不在多说了.
这里仅仅是个人使用的简单配制,如果你想详细了解squid,推荐大家到(Squid中文权威指南):http://home.arcor.de/jeffpang/squid/