当前位置:操作系统 > Unix/Linux >>

如何编译并安装Squid

软件环境:Redhat

  Linux

  6.x

  建议:如果你用Redhat

  Linux

  6.x,建议你不要使用Redhat

  自带的RPM版本的Squid,我发现问题很多

  而是去Squid主页www.squid-cache.org下载最新的Squid

  2.3-STABLE4进行编译。

  步骤:

  1.下载最新版本的源文件

  Squid-2.3.STABLE4.src.tar.gz

  放置于/tmp目录下

  2.

  进入squid目录进行编译,考虑两个编译选项,一是安装路径--prefix=/usr/local/squid

  二是Squid内部DNS功能是否禁止

  --disable-internal-dns

  ,也就是说,如果不带上禁止选项的话,

  Squid代理服务器在程序内部实现DNS解析,不会检查/etc/hosts文件,直接根据/etc/resolv.conf

  中列出的DNS服务器的顺序进行DNS解析,这样有个毛病就是不能代理对内部网段上服务器的访问了。

  我的情况下加上了这个选项。

  登录作为root,执行下面的命令:

  #cd

  squid*

  #

  ./configure

  --prefix=/usr/local/squid

  --disable-internal-dns

  #

  make

  #make

  install

  3.上面三步执行完毕,Squid整个程序应该被安装在/usr/local/squid目录下了,但仍需要做其余的动作。

  4.以root身份创建组nogroup

  #groupadd

  nogroup

  5.进行目录/usr/local

  ,以root身份执行下面的命令,改变整个Squid目录的所有者为nobody.nogroup:

  #cd

  /usr/local

  #chown

  nobody.nogroup

  -R

  squid

  6.

  su

  作为nobody,进行/usr/local/squid/bin目录,执行#squid

  -z

  创建cache交换目录

  #su

  nobody

  $

  cd

  /usr/local/squid/bin

  $./squid

  -z

  7.更改/usr/local/squid/etc/squid.conf文件中的http_access

  deny

  all行为

  http_access

  allow

  all允许所有的机器能存取代理服务器,你也可以定义自己的存取控制规则,

  但要注意默认安装后的初始设置是禁止所有的存取的。

  8.

  如果你要取消一些不必要的log文件的话,改squid.conf中下面的行。

  cache_log

  /dev/null

  cache_store_log

  none

  这样可禁止这两个log的生成,仅生成access.log 本文来自:http://www.xiaoyaxiao.com/2653.html
发表您的意见和建议!
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,