./configure --prefix=/usr/local/squid
make all
sudo make install(因为要拷贝到系统目录,需要root权限,所以sudo了,你也可以root登录执行,我是Ubuntu的系统,所以用sudo,有root权限就行)
检查配置文件:
sudo vi /usr/local/squid/etc/squid.conf
配置项1:
# Squid normally listens to port 3128
http_port 3128
配置项2:
acl localnet src 192.168.0.0/16
http_access allow localnet
配置项3:
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /usr/local/squid/var/cache/squid 100 16 128
cache_mem 32 MB (这一条必须配置)
否则你就会遭遇报错: 2013/10/12 16:16:55 kid1| WARNING cache_mem is larger than total disk cache space!
安装好了以后,系统中新建了一个用户squid,在组中一查,发现属于nobody组的:
cat /etc/passwd|grep squid
cat /etc/group|grep 65534
安装squid的所在目录是:/usr/local/squid
我闲得没事干,直接改了所属用户为squid:nobody
sudo chown -Rf squid:nobody /usr/local/squid
建立cache的时候,对下面目录需要nobody用户权限,这个是网上没有说的很清楚的地方,折腾了我半天:
sudo chown -Rf nobody /usr/local/squid/var/cache/
sudo chown -Rf nobody /usr/local/squid/var/logs/
一、Windows版Squid的下载与安装下载windwosNT版本的squid
1、把squid-2.6.STABLE13-bin.zip解压缩,把里面的squid文件夹拷到c:/下(squid默认的是c:/squid)
2、squid/etc目录下把
squid.conf.default拷贝一份重新命名为squid.conf
cachemgr.conf.default拷贝一份重新命名为cachemgr.conf
mime.conf.default拷贝一份重新命名为mime.conf
3.用文本编辑器打开squid.conf,需要修改的地方:
找到http_port 3128在后面增加一行
http_port 80 transparent
找到#cache_peer sib2.foo.NET sibling 3128 3130 [proxy-only]在后面增加一行
cache_peer 192.168.1.8 parent 7001 0 no-query originserver
找到# TAG: visible_hostname在后面增加一行
visible_hostname volcano(任意命名)
找到http_access deny all在其前面加#将这一行注释掉,然后增加一行
http_access allow all
4.从命令行到c:/squid/sbin目录下执行
squid -i(将squid服务加入到服务里面)
squid -z
安装完成
5.从服务里启动squid
访问squid服务器:
http://192.168.1.2(你的squid服务器IP地址)>>>指向http://192.168.1.8:7001(web服务器地址)
如果把#http_access deny all打开把http_access allow all注释掉,你的访问就会被拒绝
你需要配置一下:找到下面两行
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
打开注释,修改你的内网ip(段)可以设为192.168.1.0/24一个也可以如上面的一样设一段IP
二、squid.conf配置文件
cache_mgr ghxu@zju.edu.cn #设置管理员邮箱,无关紧要
visible_hostname ibi #设置虚拟主机名,似乎squid2.5这个版本需要
#设置这一项,2.4却不需要
cache_peer 10.10.2.53 parent 6666 3130 login=account:passwd default no-query
#设置上级代理,其中10.10.2.53是我们校内的代理地址,6666是他的端口号,
#account,passwd则是上网帐号密码(当然我不会把我们真实的帐号贴出来)
#hierarchy_stoplist cgi-bin ? #注释掉这一行,不然不能访问带有"?"
#的url
#acl QUERY urlpath_regex cgi-bin ? #这两行没有具体测试,应该和cgi请求有关
#no_cache deny QUERY
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl lan-a src 10.49.41.150-10.49.41.190/32 #对ip进行控制,这行定义了一个ip
#段为组lan-a
http_access allow lan-a #这里控制组lan-a的ip可以使用squid代理
acl lan-b src 10.141.96.0/24 #同样设置了一个ip段,ip地址前三位是
#10.141.96的所有ip,其实就是我们寝室楼的ip段
http_access allow lan-b
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow all
never_direct allow all #这一行解决无法登陆的问题。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)