Debian或Ubuntu下squid的安裝與基本配置(已驗證)

Debian或Ubuntu下squid的安裝與基本配置(已驗證)

 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的密碼就可以了,若存在usr2用戶,就是更改密碼的操作。
check access: /var/log/squid/access.log
#刪除用戶
htpasswd -b -D /etc/squid/passwd usrname passwd


####################################################################另一則供參考
安裝很簡單 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 [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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章