天天看點

Red Hat Linux 9.0伺服器架設全程實錄

Red Hat Linux 9.0伺服器架設全程實錄

來自:Chinaunix.net  作者:lsw  發表于:2004-02-18 12:02:14

Linux是多使用者、多任務的作業系統,具有可移植性、強大的網絡功能和良好的程式設計環境。在Linux的發行版中已經附帶了多套伺服器軟體,無論是架設網頁伺服器、郵件伺服器,還是FTP伺服器,都可以輕而易舉地實作。本文以Red Hat Linux 9.0為基礎,向你全面講述Linux環境下伺服器架設的方法與技巧。

lsw 回複于:2004-02-18 12:03:13

一、動态域名的實作

  1.動态域名基礎

  搭建Linux伺服器是一個系統工程,涉及到硬體購置、軟體安裝、域名申請、網絡服務提供等。這裡的前提就是域名的申請,因為對于虛拟撥号上網的使用者而言,使用的都是動态IP位址,别人根本無法和你聯系。

  解決的辦法就是采用動态域名解析工具,通過運作一個專門的用戶端程式,一旦撥号使用者上線,就會把目前的動态IP位址發送到專門的動态域名解析伺服器,然後該動态域名解析伺服器就可以及時更新自己的資料庫,把某個"固定"域名指向該臨時IP位址。這樣,不管現在的IP位址是多少,總是可以通過一個固定的域名來通路我們的Linux伺服器。

  需要注意的是,計算機所擁有的IP位址應該是公網IP位址,也就是Internet所采用的IP位址,而非内網(區域網路)IP位址。

  2.動态域名解析

  (1)注冊動态域名

  我們可以到科邁網http://www.comexe.cn/register.php注冊一個使用者賬戶。然後在"域名管理"頁面中單擊"申請科邁公網免費二級域名"連結,注冊一個合适的名稱(例如myname),即會得到一個myname.kmip.net的二級域名,然後單擊"送出"按鈕,如果該域名沒有被别人注冊,則可以立即生效。

  注意:本文假設使用者已經完全安裝Red Hat Linux 9.0,并使用KDE桌面系統。

  (2)安裝動态域名解析工具

  注冊成功以後,我們可以到http://www.comexe.cn/client/linux_i.tar.gz中下載下傳動态域名解析工具(如,版本号"公網Ver 2.00 Build 104")。下載下傳得到的是一個壓縮檔案,在系統裡建立一個目錄,如/usr/local/comexe,把下載下傳的檔案解壓到這個目錄即可。

  [[email protected] root]# cd /tmp

  [[email protected] tmp]# tar -xvzf linux_i.tar.gz

  [[email protected] tmp]# cp pipclient /usr/local/comexe/pipclient

  (3)配置用戶端

  解壓後得到一個執行檔案pipclient。在終端指令視窗切換到該目錄并運作以下指令:

  [[email protected] comexe]# ./ pipclient

  第一次運作pipclient,會要求輸入配置資訊:

  [[email protected] comexe]# ./ pipclient

  Usage: pipclient -h -c -w /home/pipclient

  -h: help message.

  -c: do configuration.

  -w <dir>: set work directory.

  Do configuration now.

  Input User name: 

  這裡按照螢幕提示輸入以下配置資訊:

  Input User name:   //在科邁網注冊的使用者名

  Input Password:    //科邁網使用者密碼

  Input Domain:     //域名

  Input Offline URL or Offline IP(Enter for none): //域名離線URL。如果沒有請直接按Enter鍵。這裡要注意離線功能對科邁的二級域名(如abc.dns0755.net、abc.kmip.net)無效

  Has another domain?(Y/N):  //如果要解析多個域名,請按"Y",逐個輸入域名及其離線URL

  配置完畢後應該出現以下提示資訊:

  030827 155904:MESG:

  COMEXE DDNS (Public IP) Ver 2.00a Build 102

  Copyright 2003 Shenzhen COMEXE Communication Technology Co. Ltd.

  All Rights Reserved.

  http://www.comexe.cn

  030827 155904:MESG:服務啟動.

  030827 155904:INFO:Connected to:210.22.12.54:9994

  030827 155904:INFO:Connected to:210.22.12.54:9993

  030827 155904:MESG:登入成功! 出口IP是: xxx.xxx.xxx.xxx

  030827 155904:INFO:xxx.xxx.xxx.xxx N 20 

  現在可以按Ctrl+C組合鍵退出。如果以後要修改配置,可以在終端指令視窗運作以下指令:

  [[email protected] comexe]#./pipclient -c

  3.内網映射

  所謂内網(區域網路),就是隻有一台主機(可能是代理伺服器或路由器)連接配接到Internet,具有公網位址,假設為A1。别的計算機通過它與Internet連接配接,假設為A2,隻有内網位址,外網計算機顯然無法直接通路A2。

  要讓外網使用者可以通路Linux伺服器,通常有三種解決思路:

  (1)如果A1是Windows主機

  如果A1是Windows主機,可以考慮安裝端口映射工具,如PortTunnel,把外網計算機對A1特定端口的通路,轉駁到對A2特定端口的通路。

  (2)如果你采用路由器

  如果你采用路由器,或具有路由功能的ADSL Modem,可以直接在路由器上進行設定。這裡以AboveCable無線路由器為例進行介紹:

  首先在浏覽器位址欄中輸入"192.168.100.100",回車進入路由器設定界面,輸入密碼即可進入管理界面。展開頁面左側的"重定向規則→虛拟主機"連結,然後在右側頁面中依次填上服務端口、伺服器IP位址,這樣外網對路由器的特定端口通路,都會被轉駁到指定伺服器的端口。

  (3)下載下傳用戶端程式

  登入到http://www.comexe.cn/helptruehost.php下載下傳一個特殊的用戶端程式,不過這需要支付一定的費用、并且帶寬受到限制(通過專門的伺服器中轉),它可以實作内網使用者對外提供服務。

  4.内置防火牆的配置

  在搭建Linux網站時,還有一個很容易疏忽的問題,即是沒有正确配置系統内置的防火牆,這可能會導緻"客戶"無法通路我們的Linux伺服器,是以必須對防火牆進行配置。單擊"主菜單→系統設定→安全級别"菜單項,即可打開"安全級别配置"對話框,如圖1所示。選中"定制"選項,然後選擇所需啟用的服務,例如WWW、FTP、郵件(SMTP)等,最後單擊"确定"按鈕即可。

--------------------------------------------------------------------------------

lsw 回複于:2004-02-18 12:03:58

二、架設Web伺服器

  Apache是使用範圍最廣的Web伺服器工具套件,這裡我們将詳細介紹如何在Red Hat Linux 9.0環境裡安裝、啟動和配置Apache伺服器。

  1.安裝Apache伺服器

  在安裝Red Hat Linux 9.0時,會提示是否安裝Apache伺服器。如果不能确定是否已經安裝,可以在終端指令視窗輸入以下指令:

  [[email protected] root] rpm -qa | grep httpd

  如果結果顯示為"httpd-2.0.40-21",則說明系統已經安裝Apache伺服器。

  如果安裝Red Hat Linux 9.0時沒有選擇Apache伺服器,則可以在圖形環境下單擊"主菜單→系統設定→添加删除應用程式"菜單項,在出現的"軟體包管理"對話框裡確定選中"網際網路伺服器"選項,然後單擊"更新"按鈕,按照螢幕提示插入安裝CD光牒即可開始安裝。

  另外,你也可以直接插入第1張安裝CD光牒,定位到/RedHat/RPMS下的httpd-2.0.40-21.i386.rpm安裝包,然後在終端指令視窗運作以下指令即可開始安裝程序:

  [[email protected] RPMS] rpm -ivh httpd-2.0.40-21.i386.rpm

  安裝好Apache伺服器,可以在終端指令視窗運作以下指令來啟動Apache服務:

  [[email protected] root] /etc/rc.d/init.d/httpd start

  重新啟動Apache服務:

  [[email protected] root] /etc/rc.d/init.d/httpd restart

  關閉Apache服務:

  [[email protected] root] /etc/rc.d/init.d/httpd stop

  确認Apache服務已經啟動後,我們可以在Web浏覽器裡輸入以下位址,如果可以看到預設的Apache首頁,則說明Apache伺服器工作正常。

  Htpp://WebServerAddress

  此處的WebServerAddress指代Web伺服器的IP位址或者域名。即是說WebServerAddress應該用實際的Web伺服器的IP位址或者域名來代替。

  2.配置httpd.conf檔案

  在早期Apache伺服器版本裡,其配置内容分散在httpd.conf、srm.conf、access.conf三個檔案裡。而新版本的Apache伺服器,則統一在httpd.conf裡進行配置。對于預設安裝的Red Hat Linux來說,該配置檔案位于/etc/httpd/conf目錄下,如果安裝的是tar.gz版本,則該檔案位于/usr/local/apache/conf目錄。

  利用httpd.conf,我們可以對Apache伺服器進行全局配置、主要或預設伺服器的參數定義、虛拟主機的設定。httpd.conf是一個文本檔案,我們可以用Vi、Kate等文本編輯工具進行修改。通過分析該httpd.conf配置檔案,我們不難發現:

  該配置檔案分為若幹個小節,例如Section 1: Global Environment(第一小節:全局環境);Section 2: 'Main' server configuration(第二小節:主伺服器配置)等。

  每個小節都有若幹個配置參數,其表達形式為"配置參數名稱 具體值",每個配置參數都有詳盡的英文解釋(用#号引導每一個注釋行)。

  為了幫助大家了解,這裡給出httpd.conf的最常用配置參數:

  (1)DocumentRoot

  該參數指定Apache伺服器存放網頁的路徑,預設所有要求提供HTTP服務的連接配接,都以這個目錄為主目錄。以下為Apache的預設值:

  DocumentRoot "/var/www/html"

  (2)MaxClients

  該參數限制Apache所能提供服務的最高數值,即同一時間連接配接的數目不能超過這個數值。一旦連接配接數目達到這個限制,Apache伺服器則不再為别的連接配接提供服務,以免系統性能大幅度下降。本例假設最大連接配接數是150個:

  MaxClients 150

  (3)Port

  該參數用來指定Apache伺服器的監聽端口。一般來說,标準的HTTP服務預設端口号是80,一般不要更改這個數值。本例為80端口:

  Port 80

  (4)ServerName

  該參數使得使用者可以自行設定主機名,以取代安裝Apache伺服器主機的真實名字。此名字必須是已經在DNS伺服器上注冊的主機名。如果目前主機沒有已注冊的名字,也可以指定IP位址。本例将伺服器名設為Peter.vicp.net:

  ServerName Peter.vicp.net

  (5)MaxKeepAliveRequests

  當使用保持連接配接(Persistent Connection)功能時,可以使用本參數決定每次連接配接所能發出的要求數目的上限。如果此數值為0,則表示沒有限制。建議盡可能使用較高的數值,以充分發揮Apache的高性能,本例設定每次連接配接所能發出的要求數目上限為100:

  MaxKeepAliveRequests 100

  (6)MaxRequestsPerChild

  該參數限制每個子程序(Child Process)在結束前所能處理的請求數目,一旦達到該數目,這個子程序就會被中止,以避免長時間占據Apache(或者Apache伺服器所采用的函數庫),防止造成記憶體或者其他系統資源的超負荷。

  需要注意的是,該參數的數值并不包括保持連接配接所發出的請求數目。舉例說明,如果某個子程序負責某一個請求,該請求随後帶來保持連接配接功能所需的10個請求,這時候對于該參數而言,Apache伺服器會認為這個子程序隻處理了1個要求,而非11個要求。

  以下設定最多可以處理10個要求:

  MaxRequestsPerChild 10

  (7)MaxSpareServers 和MinSpareServers

  提供Web服務的HTTP守護程序,其數目會随連接配接的數目而變動。Apache伺服器采用動态調整的方法,維持足夠的HTTP守護程序數目,以處理目前的負載,也就是同時保持一定的空閑HTTP守護程序來等候新的連接配接請求。

  Apache會定期檢查有多少個HTTP守護程序正在等待連接配接請求,如果空閑的HTTP守護程序多于MaxSpareServers參數指定的值,則Apache會終止某些空閑程序;如果空閑HTTP守護程序少于MinSpareServers參數指定的值,則Apache會産生新的HTTP守護程序。本例将最高空閑守護程序設定為20個,将最低的空閑守護程序設定為5個:

  MaxSpareServers 20

  MinSpareServers 5

  當然這隻是Apache的一些基本設定項,大家可以根據自己的實際情況加以靈活的修改,以充分發揮Apache的潛能。如果修改配置檔案之後沒能立即生效,可以重新開機Apache服務。

注意:修改之前一定要先備份!

  3.圖形化配置界面

  圖形化配置直覺、簡單,足夠應付Apache伺服器的日常管理維護工作。我們可以通過單擊"主菜單→系統設定→伺服器設定→HTTP伺服器"菜單項,或者直接在"運作指令"對話框裡輸入"apacheconf"指令并回車,來通路"Apache配置"對話框。可以看到該配置對話框共有4個标簽頁。

  (1)"主"标簽頁

  在"伺服器名"框中可以輸入伺服器的名稱,等同于httpd.conf檔案裡的"ServerName"字段。"網主電子郵件位址"框中可以輸入管理者的郵件位址,等同于httpd.conf檔案裡的"ServerAdmin"字段。單擊"可用位址"選項組中的"添加"(或者"編輯")按鈕,我們可以添加或者修改伺服器的IP位址和端口。

  (2)"虛拟主機"标簽頁

  所謂的虛拟主機服務就是指将一台計算機虛拟成多台Web伺服器。利用Apache伺服器提供的"虛拟主機"服務,我們可以利用一台計算機提供多個Web服務。

  用Apache設定虛拟主機服務通常可以采用兩種方案:基于IP位址的虛拟主機和基于名字的虛拟主機。基于IP位址的虛拟主機的實作方法有一個嚴重的不足,每增加一個虛拟主機,就必須增加一個IP位址。是以這裡介紹如何建立基于名字的虛拟主機。

  假設一台Apache伺服器的IP位址是210.79.81.212,主機名稱為www.companyname.net,同時它擁有兩個别名:sales.companyname.net、marketing.companyname.net。雖然這3個網站的IP位址相同,都指向210.79.81.212,但是由于架設了基于名字的虛拟主機,是以可以指向不同的網頁。

  設定時,請單擊"虛拟主機"标簽頁上的"添加"按鈕,在打開的配置對話框的"主機資訊"下拉清單框裡選中"基于名稱的虛拟主機"選項,然後輸入合适的資料IP位址、主機名稱等,記住,還要添加合适的别名,如圖2所示。

  "Apache配置"對話框的其他兩個标簽頁的設定内容基本等同于前面所介紹的httpd.conf參數配置,這裡就不再介紹了。

--------------------------------------------------------------------------------

lsw 回複于:2004-02-18 12:04:28

三、架設FTP伺服器

  FTP,即File Transfer Protocol,檔案傳輸協定。它是目前Internet上最流行的資料傳送方法之一。利用FTP協定,我們可以在FTP伺服器和FTP用戶端之間進行雙向資料傳輸,既可以把資料從FTP伺服器上下載下傳到本地用戶端,又可以從用戶端上傳資料到遠端FTP伺服器。

  1.安裝vsftpd伺服器

  vsftpd是目前Linux最好的FTP伺服器工具之一,其中的vs就是"Very Secure"(很安全)的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定制強,效率高的優點。

  如果選擇完全安裝Red Hat Linux 9.0,則系統會預設安裝vsftpd伺服器。我們可以在終端指令視窗輸入以下指令進行驗證:

  [[email protected] root] rpm -qa | grep vsftpd

  如果結果顯示為"vsftpd-1.1.3-8",則說明系統已經安裝vsftpd伺服器。如果安裝Red Hat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊"主菜單→系統設定→添加删除應用程式"菜單項,在出現的"軟體包管理"對話框裡確定選中"FTP伺服器"選項,然後單擊"更新"按鈕,按照螢幕提示插入第3張安裝CD光牒即可開始安裝。

  另外,你也可以直接插入第3張安裝CD光牒,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端指令視窗運作以下指令即可開始安裝程序:

  [[email protected] RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm

  2.啟動/重新啟動/停止vsftpd服務

  從Red Hat Linux 9.0開始,vsftpd預設隻采用standalone方式啟動vsftpd服務,方法是在終端指令視窗運作以下指令:

  [[email protected] root] /etc/rc.d/init.d/vsftpd start

  重新啟動vsftpd服務:

  [[email protected] root] /etc/rc.d/init.d/ vsftpd restart

  關閉vsftpd服務:

  [[email protected] root] /etc/rc.d/init.d/ vsftpd stop

  确認vsftpd服務已經啟動後,我們可以在任意一台Windows主機的DOS指令視窗裡輸入"ftp FTPAddres"(用實際的FTP伺服器IP位址或者域名代替FTPAddres),注意使用者名、密碼都是ftp(ftp是匿名使用者的映射使用者賬号),如下所述:

  Microsoft Windows XP [版本 5.1.2600]

  (C) 版權所有 1985-2001 Microsoft Corp.

  F:/Peter>ftp FTPAddress

  Connected to FTPAddress

  220 (vsFTPd 1.1.3)   //vsftpd的響應請求

  User (FTPAddress:(none)): ftp  //輸入使用者賬号ftp

  331 Please specify the password.

  Password:  //輸入密碼ftp

  230 Login successful. Have fun.

  ftp>

  3.vsftpd的配置

  在Red Hat Linux 9.0裡的vsftpd共有3個配置檔案,它們分别是:

  vsftpd.ftpusers:位于/etc目錄下。它指定了哪些使用者賬戶不能通路FTP伺服器,例如root等。

  vsftpd.user_list:位于/etc目錄下。該檔案裡的使用者賬戶在預設情況下也不能通路FTP伺服器,僅當vsftpd .conf配置檔案裡啟用userlist_enable=NO選項時才允許通路。

  vsftpd.conf:位于/etc/vsftpd目錄下。它是一個文本檔案,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義使用者登入控制、使用者權限控制、逾時設定、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。

  (1)使用者登入控制

  anonymous_enable=YES,允許匿名使用者登入。

  no_anon_password=YES,匿名使用者登入時不需要輸入密碼。

  local_enable=YES,允許本地使用者登入。

  deny_email_enable=YES,可以建立一個檔案儲存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。

  banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單儲存路徑(預設為/etc/vsftpd.banned_emails)。

  (2)使用者權限控制

  write_enable=YES,開啟全局上傳權限。

  local_umask=022,本地使用者的上傳檔案的umask設為022(系統預設是077,一般都可以改為022)。

  anon_upload_enable=YES,允許匿名使用者具有上傳權限,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp使用者可以讀寫的目錄(前面說過,ftp是匿名使用者的映射使用者賬号)。

  anon_mkdir_write_enable=YES,允許匿名使用者有建立目錄的權利。

  chown_uploads=YES,啟用此項,匿名上傳檔案的屬主使用者将改為别的使用者賬戶,注意,這裡建議不要指定root賬号為匿名上傳檔案的屬主使用者!

  chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主使用者賬号,此處的whoever自然要用合适的使用者賬号來代替。

  chroot_list_enable=YES,可以用一個清單限定哪些本地使用者隻能在自己目錄下活動,如果chroot_local_user=YES,那麼這個清單裡指定的使用者是不受限制的。

  chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該清單(chroot_local_user)的儲存路徑(預設是/etc/vsftpd.chroot_list)。

  nopriv_user=ftpsecure,指定一個安全使用者賬号,讓FTP伺服器用作完全隔離和沒有特權的獨立使用者。這是vsftpd系統推薦選項。

  async_abor_enable=YES,強烈建議不要啟用該選項,否則将可能導緻出錯!

  ascii_upload_enable=YES;ascii_download_enable=YES,預設情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實作ASCⅡ模式的傳輸。

  注意:啟用ascii_download_enable選項會讓惡意遠端使用者們在ASCⅡ模式下用"SIZE/big/file"這樣的指令大量消耗FTP伺服器的I/O資源。

  這些ASCⅡ模式的設定選項分成上傳和下載下傳兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意檔案而導緻崩潰),而不會遭受拒絕服務攻擊的危險。

  (3)使用者連接配接和逾時選項

  idle_session_timeout=600,可以設定預設的空閑逾時時間,使用者超過這段時間不動作将被伺服器踢出。

  data_connection_timeout=120,設定預設的資料連接配接逾時時間。

  (4)伺服器日志和歡迎資訊

  dirmessage_enable=YES,允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的内容。

  ftpd_banner=Welcome to blah FTP service,可以自定義FTP使用者登入到伺服器所看到的歡迎資訊。

  xferlog_enable=YES,啟用記錄上傳/下載下傳活動日志功能。

  xferlog_file=/var/log/vsftpd.log,可以自定義日志檔案的儲存路徑和檔案名,預設是/var/log/vsftpd.log。

--------------------------------------------------------------------------------

lsw 回複于:2004-02-18 12:05:11

四、架設郵件伺服器

  郵件伺服器是一個網站所必須的服務,在這裡我們可以通過Red Hat Linux 9.0自帶的Sendmail來架設郵局伺服器。

  1.安裝Sendmail

  如果是完全安裝Red Hat Linux 9.0,那麼系統已經内置有Sendmail 8.12.8-4伺服器。如果不能确定是否已經安裝sendmail,可以在終端指令視窗輸入如下指令:

  [[email protected] root] rpm -qa | grep sendmail

  如果結果顯示為"sendmail-8.12.8-4",則說明系統已經安裝sendmail伺服器。如果安裝Red Hat Linux 9.0時沒有選擇Sendmail伺服器,則可以在圖形環境下單擊"主菜單→系統設定→添加删除應用程式"菜單項,在打開的"軟體包管理"對話框中確定選中"郵件伺服器"選項,然後單擊"更新"按鈕,按照螢幕提示插入第一張安裝CD光牒即可開始安裝。

  另外,你也可以直接插入第1張安裝CD光牒,定位到/RedHat/RPMS目錄下的sendmail-8.12.8-4.i386.rpm安裝包,然後在終端指令視窗運作以下指令即可開始安裝程序:

  [[email protected] RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm

  用類似的方法安裝sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm,位于第3張安裝CD光牒的/RedHat/RPMS目錄下。

  2.啟動/重新啟動/停止Sendmail服務

  安裝Sendmail伺服器以後,最簡單的啟動方式是在終端指令視窗運作如下指令:

  [[email protected] root]/etc/rc.d/init.d/sendmail start

  應該會出現以下的結果,表明郵件伺服器已經啟動成功:

  啟動 sendmail: [确定]

  啟動 sm-client:[确定]

  除以上方式,我們還可以使用帶參數的Sendmail指令控制郵件伺服器的運作,例如:

  [[email protected] root]# sendmail -bd -q1h

  Sendmail的指令參數的含義如下:

  -b:指定Sendmail在背景運作,并且監聽端口25的請求。

  -d:指定Sendmail以Daemon方式運作(守護程序)。

  -q:當Sendmail無法将郵件成功地發送到目的地時,它會将郵件儲存在隊列裡。該參數指定郵件在隊列裡儲存的時間。例子裡的1h表示保留1小時。

  在終端指令視窗運作以下指令來重新啟動Sendmail服務:

  [[email protected] root]#/etc/rc.d/init.d/sendmail restart

  在終端指令視窗運作以下指令來關閉Sendmail服務:

  [[email protected] root]#/etc/rc.d/init.d/sendmail stop

  我們還可以在終端指令視窗運作以下指令來檢測Sendmail伺服器的運作狀态:

  [[email protected] root]# /etc/rc.d/init.d/sendmail status

  系統應該顯示:

  sendmail (pid 3251) 正在運作...

  3.配置Sendmail

  Sendmail的配置十分複雜。它的配置檔案是sendmail.cf,位于/etc/mail目錄下。由于sendmail.cf的文法深奧難懂,很少有人會直接去修改該檔案來對Sendmail伺服器進行配置。我們一般通過m4宏處理程式來生成所需的sendmail.cf檔案。建立的過程中還需要一個模闆檔案,系統預設在/etc/mail目錄下有一個sendmail.mc模闆檔案。

  我們可以根據簡單、直覺的sendmail.mc模闆來生成sendmail.cf檔案,而無需直接編輯sendmail.cf檔案。可以直接通過修改sendmail.mc模闆來達到定制sendmail.cf檔案的目的。這裡介紹建立sendmail.cf檔案的步驟:

  (1)備份原有sendmail.cf檔案

  在終端指令視窗運作以下指令:

  cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

  (2)生成sendmail.cf檔案

  根據sendmail.mc模闆檔案産生sendmail.cf配置檔案,并導出到/etc/mail/目錄下:

  m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

  (3)重新開機sendmail服務

  [[email protected] root] /etc/rc.d/init.d/sendmail restart

  很顯然,用m4宏編譯工具建立sendmail.cf檔案比較友善,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模闆的大緻内容如下:

divert(-1)dnl

  ......

  include('/usr/share/sendmail-cf/m4/cf.m4')dnl

  VERSIONID('setup for Red Hat Linux')dnl

  OSTYPE('linux')dnl

  ......

  dnl #

  dnl define('SMART_HOST','smtp.your.provider')

  dnl #

  define('confDEF_USER_ID',''8:12'')dnl

  define('confTRUSTED_USER', 'smmsp')dnl

  dnl define(′confAUTO_REBUILD′)dnl

  ......

  這裡介紹sendmail.mc模闆的文法組成:

  dnl:用來注釋各項,同時dnl指令還用來辨別一個指令的結束。

  divert(-1):位于mc模闆檔案的頂部,目的是讓m4程式輸出時更加精簡一些。

  OSTYPE ('OperationSystemType'):定義使用的作業系統類型,顯然這裡應該用linux代替OperationSystemType,注意要用一個反引号和一個正引号把對應的作業系統類型括起來。

  define:定義一些全局設定,對于Linux系統,設定了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用預設值。這裡舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')

  定義别名檔案(alia file)的儲存路徑,預設是/etc/aliases

  define('STATUS_FILE', '/etc/mail/statistics')

  sendmail的狀态資訊檔案。

  以上隻是sendmai.mc的一些簡單的文法解釋,更多的參數含義及其配置資訊可以參見http://www.sendmail.org/m4/tweaking_config.html。

  4.為新使用者開電子郵件賬号

  在Linux裡為新使用者開設電子郵件賬戶比較簡單,隻需在Linux系統裡新增一個使用者即可。單擊"主菜單→系統設定→使用者群組群"菜單項,打開"Red Hat使用者管理器"對話框,單擊"添加使用者"按鈕,在出現的"建立新使用者"對話框裡指定使用者名、登入密碼即可,如圖3所示。

  假設我們添加了一個使用者Peter(密碼為peter),這樣該使用者就有了一個郵件位址[email protected](此處的YourDomain.com用你自己域名代替)。

  以上過程也可以在終端指令視窗運作以下指令來實作:

  [[email protected] root]#adduser peter -p peter

  5.為電子郵件賬戶設定别名

  有一些使用者想使用多個電子郵件位址,是不是需要建立多個郵件賬号呢?我們可以使用别名(alias)來解決這個問題。

  比如說,使用者peter想擁有以下3個電子郵件位址:

  [email protected]、dearpeter@ YourDomain.com、truepeter@ YourDomain.com。

  我們可以通過以下步驟來實作這樣的别名設定:

  新增一個賬号peter;然後用vi、或者Kate等文本編輯器打開/etc/aliases,在裡面加上兩行:

  dearpeter: peter

  truepeter: peter

  儲存該/etc/aliases退出。

  不過,就這樣還不能讓Sendmail接受新增的别名,我們必須在終端指令視窗運作newaliases指令,以要求Sendmail重新讀取/etc/aliases檔案。如果一切無誤,應該可以看到類似以下的回應消息:

  [[email protected] root]# newaliases

  /etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

  這樣,發給peter的郵件可以使用3個郵件位址,而peter隻需要使用一個電子郵件賬号[email protected]就可以接收所有寄給以上3個位址的電子郵件。

  6.指定郵箱容量限制

  當一個郵件伺服器為許多人提供郵件服務時,無限量的電子郵件将很容易塞滿伺服器的硬碟,造成硬碟負擔。如果不想為使用者提供無限空間的郵件暫存空間,可以使用"郵件限額"來給使用者一個有限的暫存空間。

  其實,它是利用磁盤配額功能來實作的。電子郵件的暫存空間是在/var/spool/mail目錄下,隻要通過磁盤配額設定每一個使用者在這個目錄下能使用的最大空間即可。

  7.支援POP和IMAP功能

  到現在為止,我們已經可以用Outlook Express發送郵件,或者登入伺服器使用mail、pine指令收取、管理郵件。但是還不能用Outlook Express等用戶端從伺服器下載下傳郵件,這是因為Sendmail并不具備POP3(IMAP)的功能,是以我們必須自己安裝。

  (1)POP和IMAP伺服器安裝

  安裝Red Hat Linux 9.0時,可以選擇安裝POP和IMAP伺服器,可以在終端指令視窗運作以下指令進行驗證:

  [[email protected] root]# rpm -qa imap

  imap-2001a-18

  如果沒有安裝,可以将第2張安裝CD光牒放進光驅,然後在終端指令視窗運作以下指令即可開始安裝:

  [[email protected] root]#cd /mnt/cdrom/RedHat/RPMS

  [[email protected] root]#rpm -ivh imap-2001a-18.i386.rpm

  由于Red Hat Linux 9.0已經将POP和IMAP打包成一個單獨的套件,安裝好imap-2001a-18.i386.rpm,就會同時安裝這兩個伺服器

  (2)啟動POP和IMAP服務

  要成功啟動POP和IMAP伺服器,首先要确定這些服務存在于/etc/services檔案,確定以下的服務前面沒有加上#注釋(如果有,必須去除注釋)。

  imap  143/tcp imap2  # Interim Mail Access Proto v2

  imap  143/udp imap2

  pop2  109/tcp pop-2  postoffice # POP version 2

  pop2  109/udp pop-2

  pop3  110/tcp pop-3  # POP version 3

  pop3  110/udp pop-3

  修改好/etc/services檔案,接下來就要對相應服務配置檔案進行定制:

  啟動POP3服務:必須修改/etc/xinetd.d/ipop3檔案,将其中的"disable=yes"改為"disable=no",儲存該檔案。最後必須重新啟動xinetd程式來讀取新的配置檔案,使得設定内容生效:

  [[email protected] root]#/etc/rc.d/init.d/xinetd reload

  啟動IMAP服務:必須修改/etc/xinetd.d/imap檔案,将其中的"disable = yes"改為"disable =no",儲存該檔案。最後必須重新啟動xinetd程式來讀取新的配置檔案,使得設定内容生效:

  [[email protected] root]#/etc/rc.d/init.d/xinetd reload

  設定好以後,就可以在Outlook Express裡面設定好郵件賬号,以後就可以直接利用Sendmail伺服器進行收發郵件了,由于郵件伺服器就在本地區域網路,是以速度很快。

--------------------------------------------------------------------------------

lsw 回複于:2004-02-18 12:05:42

五、Linux下的網絡鄰居Samba

  Windows可以通過網絡鄰居通路區域網路主機,而在Linux下可以通過Samba用戶端通路區域網路内的Windows主機,也可以通過Samba伺服器給Windows主機提供檔案、列印機服務。為了友善講述,這裡假設Windows主機的計算機名為Peter,設Linux主機的名稱為RedHat。

  1.安裝Samba元件

  如果選擇完全安裝Red Hat Linux 9.0,則系統會預設安裝Samba元件。我們可以在終端指令視窗輸入以下指令進行驗證:

  [[email protected] root] rpm -qa | grep samba

  如果結果出現以下所示的5個軟體包,則表示已經安裝:

  samba-swat-2.2.7a-7.9.0

  samba-2.2.7a-7.9.0

  redhat-config-samba-1.0.4-1

  samba-common-2.2.7a-7.9.0

  samba-client-2.2.7a-7.9.0

  如果沒有安裝過Samba軟體包,則可以插入第1張安裝CD光牒,然後滑鼠依次單擊"主菜單→系統設定→添加/删除應用程式"菜單項,打開"軟體包管理"對話框,在該對話框中找到"Windows檔案伺服器"選項,確定該選項處于選中狀态,然後單擊"更新"按鈕即可開始安裝。

  你也可以把第1張安裝CD光牒插入光驅,然後在終端指令視窗輸入以下指令:

  [[email protected] root]# cd /mnt/cdrom/RedHat/RPMS

  [[email protected] RPMS]# rpm -ivh samba*

  [roo[email protected] RPMS]# rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm

  2.Linux主機通路Windows主機

  安裝好Samba之後,就有了與Windows互相通路的基礎。這裡先介紹一下如何用字元指令方式通路Windows主控端的共享資源。

  (1)查詢主控端的共享資源

  可以使用"smbclient -L WindowsHostName"指令(此處的WindowsHostName用Windows主機名代替)。本例是要查詢Windows主機Peter上的共享資源,可以在終端視窗輸入"smbclient -L Peter"指令,然後回車即可看到Windows主機的共享資源。

  (2)連接配接主控端的共享目錄

  可以使用"smbclient //WindowsHostName/ShareName"指令來連接配接Windows主機上的某個共享檔案夾,如果該共享檔案夾需要使用者名和密碼,則可以使用"smbclient //WindowsHostName/ShareName -U UserName"指令。例如要連接配接Windows主機Peter上的共享目錄Share,我們可以在終端視窗輸入"smbclient //Peter/Share"指令然後回車即可。

  如果連接配接成功,即可出現"smb:/>"提示符,在該指令提示符下輸入适當的指令,即可對所連接配接的共享目錄進行操作。

  Smb支援的指令有大約40個指令,可以很友善地對共享目錄進行删除、重命名、切換目錄等操作。如果要列出共享目錄"Share"下的具體内容,可以使用ls指令。要删除其下的test.txt檔案,可以使用"del test.txt"指令。

  (3)映射網絡驅動器

  我們知道,Windows下可以将共享目錄映射為網絡驅動器,這樣就可以把共享目錄當成本地檔案夾來使用。在Linux下可以借助于smbmount指令來實作,具體的指令參數是"smbmount //WindowsHostName/ShareName /mnt/smbdir"(此處的ShareName指代Windows共享資源名稱,smbdir指代挂載點名稱)。假設要将Windows主機Peter下的共享檔案夾Share映射為/mnt/WinShare目錄,具體步驟是:

  首先在/mnt目錄下建立一個目錄,假設為/mnt/WinShare;

  然後打開終端指令視窗,運作"smbmount //Peter/Share /mnt/WinShare"即可;

  現在再在檔案管理器裡打開/mnt/WinShare目錄可以看到共享目錄的内容!要解除安裝該映射目錄,可以使用umount指令。

  (4)用Nautilus通路Windows主機

  借助Gnome桌面下的檔案管理器Nautilus,我們可以用圖形界面來通路Windows主機,這裡要注意的是Nautilus隻是提供通路Windows主機的圖形界面,具體的底層操作還是借助于Samba用戶端來完成。

  在Gnome桌面環境下,單擊"主菜單→網絡伺服器"菜單項,即可用Nautilus檔案管理器檢視工作組清單。輕按兩下工作組名稱,即可看到其下的Windows主機。

   輕按兩下其中的某台Windows主機圖示,即可看到該主機的共享檔案夾,可以看到這和Windows下的網絡鄰居幾乎一樣。

  由于Nautilus本身就是Red Hat Linux的檔案管理器,是以我們可以任意往Windows共享目錄裡拷貝檔案、删除檔案、建立目錄等等(對于Windows 2000/XP主機還需要考慮該共享資源的權限設定)。

  3.Windows主機通路Linux主機

  要想讓Windows主控端能夠通路Linux虛拟機,就必須在Linux虛拟機上啟動Samba服務。在啟動之前,還需要對Samba服務的屬性進行配置,例如指定Linux虛拟機的共享目錄、所在的工作組名稱等。

  (1)配置Samba伺服器

  在以前版本的Red Hat Linux,我們必須直接修改Samba配置檔案smb.conf,或者使用SWAT對Samba進行全方位的設定。Red Hat Linux 9.0新引入了一個圖形化的Samba伺服器配置工具,可以讓我們很友善地對Samba伺服器進行配置。以root使用者身份登入系統,單擊"主菜單→系統設定→伺服器設定→Samba伺服器"菜單項,即可打開Samba伺服器配置對話框。也可以在終端指令視窗輸入"redhat-config-samba",來通路Samba伺服器配置對話框。

  首先對Samba伺服器的基本設定和安全選項進行配置,單擊配置對話框上的"首選項→伺服器設定"菜單項,即可打開伺服器設定對話框。

  基本設定:在對話框的"基本"标簽頁,我們可以指定Linux主機所在的工作組名稱,需要注意的是,此處的工作組名稱不一定非得與Windows主機所在的工作組名稱一緻。

  安全設定:然後進行Samba伺服器安全設定,這裡一共有4個選項。

  "驗證模式"代表如果Windows主機不是位于NT域裡,此處應該選擇"共享"驗證模式,這樣隻有在連接配接Samba伺服器上的指定共享時才要求輸入使用者名、密碼;"驗證伺服器"代表對于"共享"驗證模式,無需啟用此項設定;"加密密碼"選項應該選擇"是",這樣可以防止黑客用嗅探器截獲密碼明文;"來賓賬号"代表當來賓使用者要登入入 Samba 伺服器時,他們必須被映射到伺服器上的某個有效使用者。選擇系統上的現存使用者名之一作為來賓Samba賬号。當使用者使用來賓賬号登入入 Samba 伺服器,他們擁有和這個使用者相同的特權。

  添加共享目錄:單擊Samba配置對話框工具欄上的"增加"按鈕。在打開的對話框中的"基本"标簽頁上,指定(共享)目錄為某個存在的目錄,例如可以指定/tmp,再指定該目錄的基本權限是隻讀還是讀/寫。在"通路"标簽頁上,可以指定允許所有使用者通路、或者隻允許某些使用者通路。

  (2)啟動Samba伺服器

  打開終端指令視窗,輸入"/sbin/service smb start"指令,即可出現以下提示資訊,表示Samba服務已經啟動。

  # /sbin/service smb start

  啟動SMB 服務 [确定]

  啟動NMB 服務 [确定]

  接下來在Windows裡打開"網絡鄰居",就可以看到我們剛才設定的Samba伺服器了!

繼續閱讀