Debian或Ubuntu下squid的安裝與基本配置(已驗證)
http://linux.blogbus.com/logs/35912092.html
在debian lenny 5.0安裝squid過程,記下來備查。
#安裝的過程的具體過程,中間有些反覆,大致過程如下
##############################################
$sudo apt-get install squid squid-common
$cd /etc/squid
$ls -al
$sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.old
#具體內容爲:
####################################################################
##########
http_port 1.2.3.4:8080
cache_mgr webmaster
cache_swap_low 90
cache_swap_high 95
acl all src 0.0.0.0/0.0.0.0
http_access deny all
##############################################################################
$sudo apt-cache search htpasswd
#可以看到htpasswd工具包含在apache2-utils裏
$sudo apt-get install apache2-utils
#不知道有沒有辦法單獨安裝htpasswd?沒有仔細看文檔,一起安裝了
#下載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組件
$make
#如果要使用其他目錄,注意目錄的權限
$sudo squid -z
$sudo /etc/init.d/squid stop
$sudo /etc/init.d/squid reload
$sudo /etc/init.d/squid start
#第一次用'-c'來產生/etc/squid/passwd 文件,並設置用戶sunny
$sudo htpasswd -c /etc/squid/passwd sunny
#輸入兩次用戶sunny的密碼就可以了
$sudo htpasswd /etc/squid/passwd usr2
#輸入兩次用戶usr2的密碼就可以了,若存在usr2用戶,就是更改密碼的操作。
#刪除用戶
#安裝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 [email protected]
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