转贴自欺欺人:http://linux.blogbus.com/logs/35912092.html

  • 2009-03-01

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://linux.blogbus.com/logs/35912092.html

    在debian lenny 5.0安装squid过程,记下来备查。

    安装使用 用户名和 密码 的squid代理 服务器

    #安装的过程的具体过程,中间有些反复,大致过程如下
    ##############################################
    #安装squid
    $sudo apt-get install squid squid-common
    #备份一下/etc/squid/squid.conf
    $cd /etc/squid
    $ls -al
    $sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.old
    #更改配置 文件  gedit /etc/squid/squid.conf  (可以在原文件基础上修改或新建一个squid.conf)

    #具体内容为:
    ####################################################################
    ##########
    http_port 1.2.3.4:8080
    cache_mgr webmaster
    cache_dir ufs /var/spool/squid 100 16 256
    cache_mem 64 MB
    cache_swap_low 90
    cache_swap_high 95
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
    acl passwder proxy_auth REQUIRED
    acl all src 0.0.0.0/0.0.0.0
    http_access allow passwder
    http_access deny all
    ##############################################################################
    #安装htpasswd用于产生用户名和密码,htpasswd包含在apache2-utils里
    $sudo apt-cache search htpasswd
    #可以看到htpasswd工具包含在apache2-utils里
    $sudo apt-get install apache2-utils
    #不知道有没有办法单独安装htpasswd?没有仔细看文档,一起安装了
    #在squid使用密码和用户名,需要squid的源码来安装NCSA
    #下载squid的源码,再安装NCSA
    $cd    #到自己的目录中去
    #下载squid的源码,系统默认的squid版本是squid-2.7.STABLE3
    $apt-get source squid
    #下载后在目录中有squid-2.7.STABLE3源码目录,
    $cd cd /home/sunny/squid-2.7.STABLE3
    #编译NCSA组件
    $ ./configure --enable-basic-auth-helpers="NCSA"
    $make
    #这时会在 /home/sunny/squid-2.7.STABLE3/helpers/basic_auth/NCSA/目录生成ncsa_auth文件。
    $cp helpers/basic_auth/NCSA/ncsa_auth  /usr/lib/squid/
    #建立squid cache的目录,默认的目录是/var/spool/squid
    #如果要使用其他目录,注意目录的权限
    #初始化cache目录
    $sudo squid -z
    #设置完成
    #停止已经开始的squid
    $sudo /etc/init.d/squid stop
    #重新载入squid.conf文件
    $sudo /etc/init.d/squid reload
    #开始运行squid
    $sudo /etc/init.d/squid start
    #使用htpasswd程序来产生用户名密码
    #第一次用'-c'来产生/etc/squid/passwd 文件,并设置用户sunny
    $sudo htpasswd -c /etc/squid/passwd sunny
    #输入两次用户sunny的密码就可以了
    #产生其他的用户名和密码时,不要用-c
    $sudo htpasswd /etc/squid/passwd usr2
    #输入两次用户usr2的密码就可以了
    check access: /var/log/squid/access.log

    ####################################################################另一则供参考
    安装很简单 apt-get squid.
    #安装squid
    $sudo apt-get install squid squid-common
    #备份一下/etc/squid/squid.conf
    $cd /etc/squid
    $ls -al
    $sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.old
    #建立一个新的配置文件
    $sudo touch squid.conf

    重点是配置/etc/squid/squid.conf,我的范本

    #########################

    http_port 202.115.22.209:8080

    cache_mgr peterpan.mail@gmail.com

    cache_dir ufs /home/ufooo/squid 32 16 256

     #定义squid缓存地址,尽量找空间大的地方。后三个参数不知道什么意思……照着别人依葫芦画瓢。

    cache_mem 8MB

    #定义使用内存

    cache_swap_low 30

    cache_swap_high 40

    #定义使用硬盘空间百分比

    visiable_hostname Peter Proxy

    #定义名字

    client_mask 255.255.255.255

    #网上说是让squid把每个IP单独对待,不知道什么意思。而且加上这行启动squid会有个警报提示,但是不影响使用。

    acl safe_ports port 80 21 443 563 70 210 1025-65535

    acl all src 0.0.0.0/0

    #定义访问规则组。其中all组必须定义,0.0.0.0/0表示全部ip。

    http_access allow safe_ports

    http_access allow all

    #允许还是拒绝?这是个问题……

    #############################

    基本这个conf文件就能满足基本的使用。当然,为了避免被滥用,一般使用密码认证。

    步骤:

    #安装htpasswd用于产生用户名和密码,htpasswd包含在apache2-utils里
    $sudo apt-get install apache2-utils

    #在squid使用密码和用户名,需要squid的源码来安装NCSA
    #下载squid的源码,再安装NCSA
    $cd    #到自己的目录中去
    #下载squid的源码
    $apt-get source squid
    #下载后到有squid源码目录
    $cd squid-2.7.STABLE3/

    #编译NCSA组件

    $ ./configure –prefix=/usr/local/squid –enable-auth=”basic” –enable-basic-auth-helpers=”NCSA”
    $cd /home/ufooo/squid-2.7.STABLE3

    $make

    #将ncsa_auth拷贝至可执行目录/usr/sbin

     $cd /home/funpower/squid-2.6.STABLE16
     $cd helpers/basic_auth/NCSA/
    $cp ncsa_auth /usr/sbin

    #利用htpasswd创建密码文件

    $htpasswd -c /etc/squid/ password www

    #输入两次密码即可。

    #配置squid.conf,添加如下行

    auth_param basic program /usr/sbin/ncsa_auth /usr/local/squid/etc/password

    #该选项指出了认证方式(basic)、需要的程序(ncsa_auth)和对应的密码文件(password)
    auth_param basic children 5
    auth_param basic realm Please enter the user name and password
    #指定认证程序的进程数

    浏览器显示输入用户/密码对话框时的领域内容
    #普通用户需要通过认证才能访问Internet

    acl normal proxy_auth REQUIRED

    http_access allow normal

    并改写http_access allow all为http_access deny all

    收藏到: Del.icio.us



    <script src="http://www.blogbus.com/ads/ads.js" type="text/javascript"></script> <script src="http://pro.blogbus.com/useruploads/js/1d/1dde2a19e2cfd2a8279fc8e74f18f468.js" type="text/javascript"></script>

  • 评论

  • /usr/local/squid/var/logs/access.log
Logo

更多推荐