萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux簡明系統維護手冊(四)

Linux簡明系統維護手冊(四)

class="22667"> (7)安裝imap服務器

  幾乎所有的發行包都帶有imap服務器軟件(一般是華盛頓大學版本),最好的辦法是用你的發行包安裝IMAP服務器。事實上,我個人覺得IMAP服務器很少被使用。下載最常規的IMAP服務器源碼地址是:ftp://ftp.cac.washington.edu/imap/imap.tar.Z


  tar zxvf imap.tar.Z
  cd imap-2001a
  make slx

  (如果不行依次試驗一下其他你覺得可能的系統類型,用vi看一下Makefile中列的名稱)

  然後配置/etc/inetd.conf,讓inetd允許imap服務。[本節內容沒有試驗成功,編譯總是過不去]

  (8)安裝squid服務器

  SQUID是一個優秀的代理服務器軟件,它可以很靈活的被配置為各種應用形式,其中包括正向代理,反向加速模式和透明代理等。但是SQUID目前只能代理HTTP協議,代理FTP協議需要配置浏覽器仿真主動FTP協議。下面的步驟是安裝SQUID的過程。

  1、下載反向代理服務器軟件采用squid,下載地址:http://www.squid-cache.org/

  下載後存放在/usr/local/src目錄裡,文件名是squid-2.4.STABLE2-src.tar.gz

  2、tar zxvf squid-2.4.STABLE2-src.tar.gz 解壓縮

  3、cd /usr/local/src/squid-2.4.STABLE2 進入目錄

  4、./configure --prefix=/usr/local/squid --enable-heap-replacement --disable-internal-dns建立環境,把squid安裝/usr/local/squid中。第二個參數是指定使用更先進的緩沖算法。第三個參數是取消內部DNS解析(如果使用在遠程高速緩存模式,比如GSLB,需要增加選項:--disable-internal-dns,目的是關閉內部DNS.否則內部DNS不理睬你在etc/hosts中的設定,直接尋找域名服務器,這樣就會造成轉發循環。就是cache發送給物理服務器的更新請求(因為用域名)也會被用戶的GSLN設備解析回來而形成循環。)

  5、make 開始編譯

  6、make install 安裝到剛才--prefix=指定的路徑當中

  7、安裝完成後,會在您指定的安裝路徑裡產生一個squid目錄,squid目錄下有四個目錄:bin/ etc/ libexec/ logs/。其中etc裡面是配置文件,bin裡面是執行文件,logs裡面是日志文件。

  8、安裝結束後就是調試服務器,使其按照您的要求工作。Squid的配置文件只有一個,在etc目錄裡,名字是squid.conf,所有的配置選項都在這個文件裡面。而且每個配置項目都有注釋說明。首先,在squid文件裡面找到下列配置項:

  cache_mem ---這裡可以添上您准備給squid作為高速緩存使用的內存大小。注意,如果您的機器有N兆內存,那麼,推薦您在這裡添的數字是N/3。

  cache_dir /usr/local/squid/cache 100 16 256 這裡的第一個數字100是您准備給squid作為cache使用的硬盤空間大小,單位是兆。如果您想劃100M空間當作cache,那麼這裡就寫100。

  cache_mgr [email protected]這裡填寫cache管理員的Email地址,系統出錯會自動提醒cache管理員。

  cache_replacement_policy和memory_replacement_policy的參數由於使用了--enable-heap-replacement編譯參數,就不能使用缺省的lru算法了,你可以在下列三種裡面選一個:

  heap GDSF : Greedy-Dual Size Frequency

  heap LFUDA: Least Frequently Used with Dynamic Aging

  heap LRU : LRU policy implemented using a heap

  例如:


  cache_replacement_policy heap LRU
  memory_replacement_policy heap LRU

  下面設定ACL訪問控制列表:為了簡單起見,我們在這裡開放所有的權限。ACL分為兩個部分:ACL定義部分,和http_access部分。在access_http部分用到前面的定義。前面定義了:


  acl all src 0.0.0.0/0.0.0.0 

  我們注釋掉所有的http_access行加一句:

  http_access allow all ---注意:all是前面acl定義的。

  這樣就開放了所有的權限。以後有需要的,再繼續往上加各種限制即可。

  9、以root身份創建組nogroup :


  %su root (如果當前不是root)
  #groupadd nogroup
  #useradd nobody (如果沒有這個用戶)

  10、進行目錄/usr/local ,以root身份執行下面的命令,改變整個Squid目錄的所有者為nobody.nogroup


  #cd /usr/local 
  #chown nobody.nogroup -R squid

  11、su 作為nobody,進行/usr/local/squid/bin目錄,執行#squid -z 創建cache交換目錄


  #su nobody 
  $ cd /usr/local/squid/bin 
  $./squid -z 

  12、成功後,測試一下:/usr/local/squid/bin/squid -NCd1 該命令正式啟動Squid。如果一切正常,你會看到一行輸出 :Ready to serve requests.

  13、用ctrl-c退出前台測試。

  14、把squid作為守護進程啟動就直接運行:/usr/local/squid/bin/squid

  15、檢查狀態用squid –k check

  16、停止squid用squid -k shutdown

  如果是配置基本的正向代理,上面的已經可以使用了。下面的步驟用於配置支持多域名的反向代理服務器。還好,SQUID的所有配置都在/usr/local/squid/etc下面,和反向代理有關的幾項介紹如下:

  17、http_port 80 “http_port”參數指定Squid監聽浏覽器客戶請求的端口號。

  18、icp_port 0 “icp_port”參數指定Squid從鄰居(neighbour)服務器緩沖內發送和接收ICP請求的端口號。這裡設置為0是因為這裡配置Squid為內部Web服務器的加速器,所以不需要使用鄰居服務器的緩沖。

  19、emulate_httpd_log on 打開“emulate_httpd_log”選項,將使Squid仿照Web服務器的格式創建訪問記錄。如果希望使用Web訪問記錄分析程序,就需要設置這個參數。

  20、redirect_rewrites_host_header off 缺省地,Squid將改寫任何重定向請求的主機頭部。若系統運行Squid為加速器模式,則這時不需要重定向特性。該參數在負載過重的情況下要旁路重定向器時才打開

  21、httpd_accel_host vartual 此處設置反向代理的主機名,如果對後面多個域名進行緩沖,請使用虛擬主機模式(如此)。

  22、httpd_accel_port 80 此處設置反向代理的WEB服務端口號。

  23、#httpd_accel_with_proxy off 把這行注釋掉,此處設置開反向代理的同時,是否開普通代理緩存服務。如果這行不注釋掉,就沒有高速緩存功能。

  24、定義訪問控制列表:


  acl port80 port 80
  acl accel_host1 dstdomain .test.com
  acl accel_host2 dstdomain .test.net
  … …
  http_access allow accel_host1 port80
  http_access allow accel_host2 port80
  http_access deny all;

  25、完成後,用squid –k reconfigure重新裝載配置文件。

  (9)安裝SSH

  ---

  (10)配置Linux為路由器

  ---

  (11)配置Linux網關和安裝ipchains/iptables防火牆

  在Linux上面的防火牆,最最常用的是ipchains,而且通常情況下是作為網關的附加部分安裝的。Ipchains的規則是很復雜的,靈活性也很強,可以配制成各種五花八門的樣子。這些都需要和你自己的實際情況相結合。這裡,我們只介紹一種基於網關的簡單配置。

  安裝IPCHAINS一般都不用你操心,因為幾乎所有的Linux發行包都把該軟件作為必須安裝的卻省配置。另一個原因是ipchains是跟內核(kernel)有很大的關系,因此最好在安裝系統的時候選上相關選項(如果有)。在標題裡面我們還提到了iptables,這個工具在表面上等同於ipchains,只不過是用於2.4內核的(2.4內核在這方面的代碼幾乎是重新寫過的,功能有了長足的提高)。關於iptables工具的配置我們在後面介紹。你只需要記住2.2核心下使用ipchains,2.4核心下使用iptables即可。

  首先,你的服務器需要兩塊網卡(或更多),這種機器叫做“多宿主主機”,是專門的用於做網關或路由器的。這裡插一句:一般情況下,作為普通服務器的主機即使負載再重就需要一塊網卡就夠了,只有做網關或路由器的時候才需要多宿主主機。這並不象一般人認為得那樣增加一塊網卡可以增加一份帶寬,事實上,一塊網卡就可以提供足夠的帶寬。並且,還有人錯誤的把兩塊網卡接在同一個交換機上分配兩個地址,這更是錯誤的,因為這樣產生了額外的循環路由,會產生大量的內部警告錯誤,某些系統就會報警。

  1、制作一個雙界面(雙宿主)的主機。

  通常,現在的發行包的安裝程序都可以識別兩塊網卡,這樣就省事了。但是也有不少發行包只識別第一塊網卡(也許是出於前面說的原因),或者你要在一台在用的機器上加一塊網卡(因為你不願意重裝系統),那麼就按照下面的辦法處理。

  1.1、我們就說PCI網卡。安裝前首先看看網卡芯片,記住芯片的型號(希望你自己攢過機器)。

  1.2、安裝MAN手冊(用發行包)

  1.3、在/usr/doc/HOWTO/english/txt/Ethernet-HOWTO文件(如果是壓縮的就釋放)中搜索你的網卡型號,找到對應的驅動模塊名稱。

  1.4、如果模塊沒有,還需要重新編譯核心。在menuconfig網絡設備一欄選中你的型號然後標記為*或M,編譯完核心後別忘了編譯模塊:make modules;make modules_install。(不會的話再仔細溫習一下前面編譯內核的部分)

  1.5、用depmod –a命令建立/etc/modules.conf(如果已經有就不用了),也有的發行包叫做c

copyright © 萬盛學電腦網 all rights reserved