zoukankan      html  css  js  c++  java
  • 如何编译并安装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

  • 相关阅读:
    【C/C++】例题5-4 反片语/算法竞赛入门经典/C++与STL入门/映射:map
    【VSCode】如何打开全屏模式/退出全屏模式
    【合同】电子科技大学/外协合同/采购合同
    新的开始
    ubuntu server 1604 搭建FTP服务器
    vim的查找功能
    Ubuntu改坏sudoers后无法使用sudo的解决办法
    ubuntu server 1604 配置网络信息
    ubuntu server 1604 关机和重启
    ubuntu server 1604 设置笔记本盒盖 不操作
  • 原文地址:https://www.cnblogs.com/fangbo/p/1605229.html
Copyright © 2011-2022 走看看