歡迎您光臨本站 註冊首頁

《Debian伺服器設置入門》系列教程

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

總目錄 前 言 第一章 在Debian上配置Apache+MySQL+PHP4 第二章 在Debian上用Wu-ftpd配置FTP伺服器 第三章 在Debian上用Exim配置郵件伺服器 第四章 在Debian上配置Samba伺服器 第五章 在Debian上用Bind配置DNS伺服器     《Debian伺服器設置入門》系列教程之前言 前 言 本章目錄 1 準備工作 2 一些廢話 3 系列文章 4 溝通 1 準備工作 1.1 你需要先安裝Debian 3.0(Woody)基本系統,我建議你僅僅安裝基本系統就可以了,保持一個清潔的Debian。然後你運行一下apt-get update,以便系統生成可以安裝的軟體的列表。   建議你保留你的計算機名字為Debian,域名為test.com。我就是這麼做的,所以我的文章裡面也會這麼寫,所以,如果你的計算機也做同樣設置,看起文章來會省點勁兒。 1.2 最起碼,你需要掌握這幾條命令的用法:apt-get install / apt-get remove / apt-cache search 。 2 一些廢話 2.1 由來   我出生在農村,家裡窮,頭一次接觸計算機是1996年,那是大二的下學期,我們專業上開了Basic語言的課程。1998年我畢業了,這年冬天,我第一次接觸了GNU/Linux。那時接觸的是TurboLinux。第一次接觸Debian,是在2002年10月。相見恨晚吶!這是我見過的最優秀的發行版!完全的可定製!給你充分的自由!   由於Debian的特性,使得安裝和配置軟體極為簡單。然而,網路上的眾多教程,很少有基於Debian作介紹的,對於初學者來說,他們需要基於Debian寫的教程;更重要的原因是,我遇到了一個叫做linuxsir.com的論壇,我由衷的說,這是我在國內見過的最優秀的論壇!大家努力營造了一個非常好的學習氣氛,它能連續不斷得給我感動。當我看到眾多Debian的初學者心急如焚時,我就決定,寫一些教程,遵循GPL,以我微薄之力,回饋linuxsir.com給我的幫助,並一同感謝全世界為了Debian默默耕耘的朋友,於是我就開始寫了。   由於接觸Debian時間太短了,難免疏漏,請高手們不要客氣,給我指出來,以便我成長,呵呵。 2.2 本文的組織方法   我將力求用最簡潔的語言,說明我想說的東西。我很反感那些晦澀的文章。但是為了照顧初學者,我會寫得盡量詳細。 2.2.1 控制台命令   在Linux控制台上輸入的命令,用黑色背景、紅色文字表示;系統回顯的內容用灰色,這樣最接近Linux控制台的顏色。在MySQL控制台裡面,輸入的命令用紫色,MySQL回顯的內容用灰色,以示區別。像這樣:  $ cp cp: missing file arguments Try `cp --help' for more information  $ mysql test mysql> select * from test.table1 ERROR 1146: Table 'test.table1' doesn't exist mysql>   另外,初學者注意:   用 $符號開頭的,是以普通用戶身份執行的命令;   用#符號開頭的,是以root身份執行的命令。   當然,在默認情況下,凡是普通用戶可以執行的命令,root都可以執行。 2.2.2 配置文件   配置文件的內容,將用淺黃色背景,以免混淆。像這樣: deb ftp://202.118.66.14/debian sid main non-free contrib deb-src ftp://202.118.66.14/debian sid main non-free contrib deb http://security.debian.org/ stable/updates main contrib non-free   上面列出了我所使用的sources.list,這個站點是debian在中國的某所大學的鏡像,非常快。另外大家注意我用的是sid,如果你用stable,可能我們下載得到的軟體的版本就會不同。 3 系列文章   本文是一個系列,將包括下面的部分:   第一章 Web伺服器+資料庫伺服器   第二章 FTP伺服器   第三章 郵件伺服器   第四章 Samba伺服器   第五章 域名伺服器 4 溝通   有任何問題,請與作者聯繫,leng@haier.com,或者kanaka@yeah.net。 -------------------------------------------------------------------------------- 《Debian伺服器設置入門》系列教程之第一章:Web伺服器+資料庫伺服器 第一章 在Debian上配置Apache+MySQL+PHP4 本章目錄 1 選擇Apache+MySQL+PHP4 2 安裝 3 配置 4 綜合測試 5 結束語 1 選擇Apache+MySQL+PHP4   你可能會問我:為什麼不選擇別的軟體,而非得選擇Apache+MySQL+PHP4的組合?呵呵,我要告訴你,著名的Free Lamp組合,說的就是Linux/Apache/MySQL/PHP/Perl/Python,你可以到www.freelamp.com上面去看看。PHP在互...Web站點不用它。 2 安裝   在Debian上安裝軟體,真的是非常簡單。不需要configure,不用make,不用make install,遍布全球的Debian的工作人員已經為你做好了一切。   你可以一口氣把這些軟體全部裝上: # apt-get install apache php4 php4-gd php4-mysql mysql-server mysql-client   其中,php-gd是一個非常棒的圖形庫,如果你不需要使用php生成動態圖片,就不用裝。   這時,系統會自動列出一些相關的軟體,然後問你是不是要繼續(說Debian棒,這是其中一點:自動查找軟體關聯,自動補充安裝)——Debian給你一次反悔的機會,如果你現在不想裝了,那麼按n,就退出來了。   當然我們在這裡要按回車,繼續安裝。現在Debian會到你的sources.list裡面指定的站點去下載這些軟體。下載完后,會自動進行配置,配置過程中會徵求你的意見,問你幾個問題。   比如現在他就問你:你要在計算機啟動時就運行MySQL嗎?當然選Yes了,否則每次要用的時候才啟動,怪麻煩的。   又問你:你想運行apacheconfig腳本嗎?默認是N,不過我們輸入Y讓它替我們配置一下。配置完后,問你是否保存配置,當然是了,呵呵。然後,他會問你是否要啟動Apache,好,啟動它。   接著,系統會自動配置PHP。由於你選擇了php-gd和php-mysql,他會問你是否把gd.so和mysql.so的支持寫入php.ini,回答是。你看,Debian聰明吧。 3 配置 3.1 配置Apache 3.1.1 提供php支持   Apache剛裝上的時候不提供php支持。當你點擊有.php腳本的連接,瀏覽器會下載這個腳本:-(   修改/etc/apache/httpd.conf,以便提供php支持。運行: # nano /etc/apache/httpd.conf   順便提一下,我非常喜歡這個叫做nano的編輯器,它很容易上手。   使用nano的ctrl+w功能找到下面這一行: # LoadModule php4_module /usr/lib/apache/1.3/libphp4.so   把這一行前面的井號去掉,以便apache載入這個libphp4.so模塊。   然後,配置默認頁,找到: DirectoryIndex index.html index.htm index.shtml index.cgi   改成: DirectoryIndex index.php index.php3 index.html index.htm index.shtml index.cgi   然後再加上.php3擴展名的支持和php源碼支持,找到: # # And for PHP 4.x, use: # #AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps   把後面兩行修改成: # # And for PHP 4.x, use: # AddType application/x-httpd-php .php .php3 AddType application/x-httpd-php-source .phps 3.1.2 修改默認字符集   讓Apache把簡體中文作為默認的字符集。找到這一行: AddDefaultCharset on   修改成: AddDefaultCharset gb2312   好,Apache就配置完了,按ctrl+o保存后,再按ctrl+x退出nano。   為了使我們的修改生效,需要重新啟動Apache,運行: # apachecrl restart 3.2 MySQL配置 3.2.1 修改MySQL的口令   由於MySQL默認沒有口令,為了安全起見,一定要修改你的口令!   先來看看你的mysql是不是真的沒有口令:  $ mysqladmin version   如果你能夠看到mysql的版本信息,證明目前MySQL沒有口令。   好,運行mysqladmin password xxxxxx 修改口令: # mysqladmin password xxxxxx   這裡xxxxxx是你的新口令。   現在你需要運行 mysqladmin version --user=root --pass,然後輸入口令,才能查看版本號等信息。   注意,上面命令中的--user=root --pass這一部分,可以簡寫為-u root -p。我們來測試一下,看口令是否生效: # mysqladmin version -u root -p Enter password: 3.2.2 打開3306埠監聽   這項工作要慎重。處於安全考慮,默認情況下,Debian把3306埠關閉了。因為,不少黑客通過它來攻擊你的系統。如果你不通過其他機器來存取資料庫,那麼不要打開這個埠。   修改/etc/mysql/my.cnf,找到: skip-networking   把它註釋掉: # skip-networking 3.2.3 修改默認字符集      讓MySQL把簡體中文作為默認的字符集。編輯/etc/init.d/mysql,找到這一行: /usr/bin/safe_mysqld > /dev/null 2>&1 &   改成: /usr/bin/safe_mysqld > --default-character-set=gb2312 /dev/null 2>&1 &   好,重新啟動MySQL: # /etc/init.d/mysql restart 3.3 PHP配置   主要是要修改php的默認字符集,把它改成簡體中文。編輯/etc/php4/apache/php.ini: # nano /etc/php4/apache/php.ini   找到 ;default_charset = "iso-8859-1"這一行: ;default_charset = "iso-8859-1"   把前面的分號去掉,並改成: default_charset = "gb2312" default_charset = "gb2312" 4 綜合測試   好了,安裝完了,我們來測試一下。   這一部分,高手完全可以略過。我主要考慮到初學者,才寫了這些。 4.1 建立一個資料庫   下面我們來創建一個簡單的資料庫,這個庫裡面只有一張表,叫做user,用來存放用戶名/明文密碼/出生日期/激活狀態。 # mysql -u root -p Enter password: mysql> CREATE DATABASE mytest; Query OK, 1 row affacted (0.00 sec) mysql> USE mytest; Database changed mysql> CREATE TABLE user ( ??-> username varchar(16) NOT NULL default '', ??-> password varchar(16) binary NOT NULL default '', ??-> birthday date NOT NULL default '1975-12-31', ??-> actived int(1) NOT NULL default '0', ??-> UNIQUE KEY username (username) ??-> ); Query OK, 0 row affected (0.00 sec) mysql> INSERT INTO user VALUES ('kanaka','kanakapswd','1975-09-18',0); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO user VALUES ('atfa','atfapswd','1977-10-30',1); Query OK, 1 row affected (0.00 sec) mysql> quit Bye 4.2 編寫一個php腳本   下面我們來編寫一個簡單的php腳本,來調用上面資料庫裡面的內容。文件名比如叫做mytest.php。 \n"; echo "查詢: $queryStr\n"; echo "結果: $errMsg\n"; echo "

\n"; } } //定義一個函數,用來顯示數據 function viewData( $dbname, $tablename, $page, $rowperpage) { global  $mysqlHandle,  $PHP_SELF,  $errMsg,  $orderby; echo "

下面是您所查的數據:

\n";  $queryStr = stripslashes(  $queryStr ); if(  $queryStr == "" ) {  $queryStr = "SELECT * FROM  $tablename"; if(  $orderby != "" )  $queryStr .= " ORDER BY  $orderby"; }  $pResult = mysql_db_query(  $dbname,  $queryStr );  $errMsg = mysql_error();  $GLOBALS[queryStr] =  $queryStr; if(  $pResult == false ) { echoQueryResult(); return; } if(  $pResult == 1 ) {  $errMsg = "成功"; echoQueryResult(); return; } echo "
\n";  $row = mysql_num_rows(  $pResult );  $col = mysql_num_fields(  $pResult ); if(  $row == 0 ) { echo "沒有數據!表格是空的。"; return; } if(  $rowperpage == "" )  $rowperpage = 20; if(  $page == "" )  $page = 0; else  $page--; mysql_data_seek(  $pResult,  $page *  $rowperpage ); echo "\n"; echo "\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo "\n"; for(  $i = 0;  $i <  $rowperpage;  $i++ ) {  $rowArray = mysql_fetch_row(  $pResult ); if(  $rowArray == false ) break; echo "\n";  $key = ""; for(  $j = 0;  $j <  $col;  $j++ ) {  $data =  $rowArray[ $j];  $field = mysql_fetch_field(  $pResult,  $j ); if(  $field->primary_key == 1 )  $key .= "&" .  $field->name . "=" .  $data; if( strlen(  $data ) > 30 )  $data = substr(  $data, 0, 30 ) . "...";  $data = htmlspecialchars(  $data ); echo '\n"; } echo "\n"; } echo "
'; echo "用戶名\n"; echo "'; echo "口令\n"; echo "'; echo "出生日期\n"; echo "'; echo "是否激活\n"; echo "
'; echo " $data\n"; echo "
\n"; echo "
"; // $PHP_SELF echo ""; echo "
"; echo ""; echo "第".( $page+1)."頁/共".(int)( $row/ $rowperpage+1)."頁"; echo "\n"; echo " | "; if(  $page > 0 ) { echo "上一頁\n"; } else echo "上一頁"; echo " | "; if(  $page < ( $row/ $rowperpage)-1 ) { echo "下一頁\n"; } else echo "下一頁"; echo " | "; if(  $row >  $rowperpage ) { echo "\n"; echo "頁"; } echo "
"; echo "
"; echo " 目前每頁顯示記錄數為". $rowperpage."條,您可以"; echo ""; echo "條/頁"; echo "
\n"; echo "
\n"; } ?>   我好長時間沒寫程序了,連php的語法都快忘了,呵呵。我去年給公司的生產線編寫了一個應用,上面就是摘抄下來的,我本來想寫一個最簡單的程序在這裡,但是我還是把兩個函數保留在裡面了,為的是讓初學者有個借鑒,呵呵。 4.3 測試   把這個mytest.php複製到/var/www下面,在你的瀏覽器裡面,訪問這個mytest.php,就會看到資料庫的內容。 5 結束語   本文是《Debian伺服器設置入門》系列教程之第一章》,建議您按照順序閱讀,有問題可以和作者kanaka聯繫。   -------------------------------------------------------------------------------- 《Debian伺服器設置入門》系列教程之第二章:FTP伺服器 第二章 在Debian上用Wu-ftpd配置FTP伺服器 本章目錄 1 開場白 2 選擇wu-ftpd 3 安裝 4 配置 5 測試 6 TODO 7 結束語 8 參考文獻 1 開場白   在五年之前,我還覺得Ftp這個東西很神秘。那時候,我身邊的大部分人,甚至以為http就是互聯網的全部。我們從網站下載文件,用的大多也是http連接。但是,事實上,ftp(File Transfer Protocol,文件傳輸協議)這個服務已經存在很長時間了,如果要提供文件下載,除了使用http的方式連接外,我們完全可以提供ftp服務,這樣可以節省一些伺服器資源,比如連接數什麼的。ftp是專門設計用來在兩台電腦之間傳輸數據的,可以避免太多的遠端執行。尤其是,當傳輸的文件比較大時,ftp會比http節省資源。另外,ftp可非常方便地上傳文件,而http則沒有那麼方便快捷。 2 選擇wu-ftpd   用apt-cache search 命令看一下,都有什麼ftp伺服器可以選擇: # apt-cache search ftpd   你會發現,Debian為我們製作了很多個ftpd伺服器軟體包,包括atftpd、bsd-ftpd、ftpd、oftpd、muddleftpd、proftpd、twoftpd、vsftpd、wu-ftpd等等。其中應用最廣泛的,應該是wu-ftpd了,這是目前最流行的一種免費FTP伺服器軟體,目前絕大多數的FTP站點都是由wu-ftpd來架設的,它是當初由華盛頓大學wuarchive.wustl.edu開發出來的,是一個以效率以及穩定性為考量的程序。wu-ftp如此流行,一個重要的原因是因為它強大的功能,例如:   ◆ 可控制不同網域的機器對 FTP伺服器的存取許可權和訪問時段。   ◆ 使用者在下載文件時,可自動對文件進行壓縮或解壓縮工作。   ◆ 可以記錄文件上傳或下載的過程。   ◆ 可以限制最高訪問人數,以維持系統的最佳運行效率。   ◆ 可顯示相關的信息,以便用戶了解當前的接收狀態。   ◆ 可暫時關閉FTP伺服器,以便系統維護。   目前Debian提供的wu-ftpd版本是2.6.2。好,我們就選擇這個wu-ftpd了! 3 安裝   安裝很簡單,用下面的命令安裝: # apt-get install wu-ftpd   它會問你,你想設置一個匿名ftp賬號嗎?輸入y,回車。   接著讓你輸入ftp根目錄,默認是/home/ftp,我們就用默認的吧。   然後它問你,你想創建一個目錄,用來讓用戶上傳文件嗎?輸入y,創建一個。   安裝程序會創建一個新的用戶ftp,並把這個用戶加入到一個新創建的組ftp中去。   然後它會說: Anonymous FTP users will only see UID and GID numbers,instead of names, because the libnss_files.so library hasn't installed. It is not installed by default, since there is no easy way to find out what version we need to install. If you want to install it manually, it should be palced in /home/ftp/lib,owned by root, and with permissions of 444 (r--r--r--)   (它說由於無法判斷所需的版本,libnss_files.so沒有安裝,要手工安裝的話,到/home/ftp/lib去找。這塊我還沒搗鼓明白,還請高手賜教)。這裡需要對初學者說明一下,系統從/etc/passwd這個文件裡面讀取資料,得到UID和GID,來決定用戶對文件的存取許可權。一會兒我們會講到,在ftpaccess這個配置文件里,可以為某些UID的用戶或者某些GID的組設置許可權。 4 配置   其實,在安裝完之後,不需要做任何配置,我們的ftp伺服器已經可以使用了。如果你跟我一樣是個急性子,在進行配置之前你就可以嘗試登錄了。這時,Debian上的普通用戶,還有匿名用戶都可以訪問它,也可以向incoming目錄上傳文件,只不過看不到已經上傳的文件。但是我們仍然需要做一些配置,因為我們需要定製自己的安全性。   為了確保提供FTP服務不會給我們的系統帶來安全隱患,我們首先要採取以下措施: # chmod 555 /home/ftp # chmod 111 /home/ftp/bin/* # chmod 555 /home/ftp/lib/* # chmid 444 /home/ftp/etc/* 4.1 配置文件介紹   wu-ftpd的配置文件放在/etc/wu-ftpd下面,主要有:   ftpaccess —— 這個是wu-ftpd的主配置文件,控制存取許可權   ftpconvertions —— 這個文件定義了文件壓縮/解壓縮轉換方案   ftpservers —— 用來設置多個IP地址和域名,以對應到不同的虛擬主機   ftpusers —— 凡是寫入這個文件裡面的用戶,都不能連接ftp伺服器   msg.denu —— 拒絕訪問時,顯示給用戶的信息   msg.nodns —— 當DNS查詢失敗時,顯示給用戶的信息   msg.toomany —— 當連接數過多時,顯示給用戶的信息   pathmsg —— 當用戶使用了非法路徑/文件名時,顯示給用戶的信息   welcome.msg —— 當用戶建立連接時,顯示給用戶的歡迎信息   在/usr/share/doc/wu-ftpd/examples下面,有一些配置文件的樣本,大家可以參照一下。 4.2 修改/etc/wu-ftpd/ftpaccess配置   這個文件是wu-ftpd的主配置文件,許多重要的選項都包含在這裡面,比如,要想讓Debian上的用戶可以訪問,就必須在這個文件裡面的Class段落裡面做出定義。   下面我們按照ftpaccess文件的順序,一段一段地介紹。平常不大用的,或者我不懂的,就不介紹了:-),要不然篇幅會非常大。 4.2.1 管理員的email地址 # 這個不多說了 email ftpadmin@misconfigured.host 4.2.2 UID/GID設置 # 設置哪些UID/GID可以、不可以使用FTP服務。這裡的%-99我沒搞明白,請高手指教! #deny-uid %-99 #deny-gid %-99 #allow-uid ftp ftpadmin #allow-gid ftp ftpadmin 4.2.3 登錄失敗數 # 下面設置登錄5次失敗后,斷開連接 loginfails 5 4.2.4 目錄限制 # 除了用戶自己的根目錄,讓用戶看不到別的東西。這個很關鍵! # 你可以在修改這項之前先登錄ftp伺服器看看,然後去掉了這個#之後再登錄看看,大不一樣哦 restricted-uid kanaka 4.2.5 不可執行SITE GROUP/SITE GPASS # private決定了用戶是否可以執行SITE GROUP/SITE GPASS命令 # 用這兩個指令切換到/etc/ftpgroup的群組。一般而言我們不會用到這個功能,以避免安全漏洞。 #private no 4.2.6 定義用戶類別——class   由class定義的用戶和IP地址才能夠登錄進來。FTP伺服器上有三種類型的使用者,分別是「real」——表示在該FTP伺服器上有合法帳號的用戶;「guest」——表示另行定義的某些使用組的使用者;「anonymous」——許可權最低的匿名用戶。有了這三種使用者以後,在ftpaccess文件中就可以根據不同的使用者設置不同的存取許可權。但是,只有三種定義一般是不夠的,我們可以根據class的語法定義更多的控制命令。   語法是: class  <種類> <用戶地址> [<用戶地址>……]   其中:則可自行設定,<種類>就是上面說的三種,<用戶地址>是指ftp上來的用戶會用到的IP地址。   以下是一些例子: # 下面這一行時系統默認的,它定義了一個名為all的class,包含三種人,允許所有IP地址的連接 class all real,guest,anonymous * # 下面這個叫做local的class說,只有real的用戶可以從本機機器連上來 class local real localhost loopback # 下面這個叫remote的class,包含了從任何地方上來的guest和anonymous用戶,但是real用戶不算 class remote guest,anonymous * # 下面這個叫rmtuser的class包含了從外面來的(除了example.com)真實用戶 class rmtuser real !*.example.com 4.2.7 為各個類別的用戶設置最大連接數 # 可以為每一個類別定義最大連接數,並顯示不同的錯誤信息。下面允許30個連接。 limit all 30 Any /etc/wu-ftpd/msg.toomany 4.2.8 設置readme文件 # readme命令:指定用戶登錄或進行其它操作(如更換目錄)時FTP伺服器提示用戶閱讀的文件。 readme README* login readme README* cwd=* 4.2.9 是否使用壓縮 # 下面定義的允許從local和remote登錄的機器在傳輸文件時, # 可以執行compress壓縮文件或使用tar命令將多個文件打包成一個文件。 compress yes local remote all tar yes local remote all 4.2.10 記錄日誌 # 如果去掉前邊的註釋符號,它就會記錄相應的信息。 #log commands anonymous,guest,real #log security #log syslog log transfers anonymous,guest,real inbound,outbound 4.2.11 超時設置 # 下面設置:如果超過30秒沒有動作,就斷開anonymous的連接 limit-time anonymous 30 4.2.12 一些命令的許可權 rename no anonymous # rename 許可權? delete no anonymous # delete 許可權? overwrite no anonymous # overwrite 許可權? chmod no anonymous # chmod 許可權? umask no anonymous # umask 許可權? 4.2.13 匿名用戶上傳許可權 # 全給他們加上井號,不讓匿名用戶上傳文件 #upload /home/ftp * no #upload /home/ftp /pub/incoming yes ftp daemon 0666 nodirs   由於ftpd是被inetd調用的,所以,我們修改了配置文件后,不需要重新啟動wu-ftpd。   對於普通ftp應用,修改一下上面這個文件就足夠了。如果你還有更高的要求,就繼續往下看。 4.3 修改/etc/wu-ftpd/ftpusers   我們已經說過了,只要寫進這個文件裡面的用戶,是不能登錄我們的ftp伺服器的。   限制這些用戶使用FTP伺服器主要是基於系統安全的考慮,避免權利過大的用戶(如root、ftpadm)登錄FTP伺服器和避免使用系統命令作為帳號(如shutdown、sync),以避免系統管理上的困惑。我們可以根據自己使用的需要,向該文件中增加或刪除用戶。   注意這個文件是/etc/ftpusers的快捷方式。下面是默認的ftpusers的內容: # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody 4.4 修改/etc/wu-ftpd/ftpconversions文件   ftpconversions文件主要定義用戶從FTP伺服器中下載文件時對文件進行格式轉換的規則。例如壓縮、解壓縮、打包和開包等操作,這樣用戶就不必為.tar.gz、.tgz、.Z、.z之類的文件傷腦筋了。ftpconversions文件的格式初看上去很複雜,不過不用擔心,我們基本上不用動它,debian為我們準備的這個配置,已經能夠滿足我們的使用需要了。下面讓我們來看看ftpconversions文件的內容: :.Z: : :/usr/bin/compress -d -c %s :T_REG|T_ASCII:O_UNCOMPRESS:uncompress : : :.Z:/usr/bin/compress -c %s:T_REG:O_COMPRESS:compress :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:gunzip : : :.gz:/bin/gzip -c9 %s:T_REG:O_COMPRESS:gzip :.bz2: : :/usr/bin/bzip2 -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:bunzip2 : : :.bz2:/usr/bin/bzip2 -c9 %s:T_REG:O_COMPRESS:bzip2 :.zip: : :/usr/bin/zip -q -r -9 - %s:T_REG|T_DIR:O_TAR|O_COMPRESS:zip : : :.zip:/usr/bin/unzip -q -c - %s:T_REG|T_DIR:O_TAR|O_UNCOMPRESS:unzip : : :.tar:/bin/tar -chf - %s:T_REG|T_DIR:O_TAR:tar : : :.tar.Z:/bin/tar -chZf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+compress : : :.tar.gz:/bin/tar -chzf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+gzip : : :.tgz:/bin/tar -chzf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+gzip : : :.tar.bz2:/bin/tar -chIf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+bzip2 : : :.ltar:/bin/tar -cf - %s:T_REG|T_DIR:O_TAR:tar : : :.ltar.Z:/bin/tar -cZf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+compress : : :.ltar.gz:/bin/tar -czf - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:tar+gzip   你可能想我一樣看花了眼,不過好在我們不用深究,反正這個文件基本上把常用的壓縮,打包命令都包括在內了,只要它存在,FTP服務程序就會根據用戶的需要執行壓縮或打包的命令。   例如,用戶想下載目錄Howto中所有的文件,那麼他不必使用mget命令,而只要使用get Howto.tar.gz,這時wu-ftpd就會將該目錄打包壓縮併發送到用戶的機器上了。所以使用該文件可以完成壓縮傳遞的數據量,減少傳輸時間等作用。   這裡有一點需要注意,這個文件中定義的可執行文件的位置/bin指的都是/home/ftp/bin而不是Linux的/目錄下的bin,所以請檢查/home/ftp/bin目錄中有無上述命令,如果沒有還需要將這些程序複製到該目錄中。我看了一下,由於我僅僅安裝了Debian的基本系統,所以bzip2這個命令是沒有的,我們可以用at-get install bzip2命令來下載和安裝它,然後把bzip2命令複製到/home/ftp/bin就可以了。 5 測試      到這裡,匿名FTP伺服器的配置工作基本上就完成了,我們可以用ftp命令連接自己的伺服器,檢查合法用戶和匿名用戶的連接情況以及各個目錄的許可權是否正確。之後就可以準備FTP服務的開張了。 6 TODO   在下一個版本裡面,我將描述如何用ftpmirror建立ftp伺服器鏡像。 7 結束語   本文是《Debian伺服器設置入門》系列教程之第二章》,建議您按照順序閱讀,有問題可以和作者kanaka聯繫。 8 參考文獻   本章參考了下面的文章:   《用wu-ftpd架設FTP伺服器》一文,地址是http://www.lslnet.com/linux/docs/linux-3300.htm    《架設FTP伺服器》一文,地址是http://www.linuxsir.com/bbs/showthr...ighlight=wuftpd   很抱歉我沒找到這兩篇文章作者的名字,但是我們仍然應該心存感激。 《Debian伺服器設置入門》系列教程之第三章:郵件伺服器 第三章 在Debian上用Exim配置郵件伺服器 本章目錄 0 聲明 1 簡介 2 安裝 3 配置 4 小測試 5 修改 From: 的地址 6 配置Fetchmail 7 修改exim的投遞限制 8 綜合測試 9 TODO 10 結束語 11 參考文獻 0 聲明   本文是在《通過exim建立家庭網路的郵件系統》一文的基礎上修改的,作者:Jan W. Stumpel, Oegstgeest, The Netherlands。   這篇章的地址是:http://211.167.66.225/~yzhao/lg-zh/...e8/stumpel.html 1 簡介   我想現在一個再普通的單位,也會需要用到電子郵件。我所在的企業,已經到了無法離開email的地步——每當郵件伺服器出現問題,我的電話都會被打爆。在M $平台上,郵件伺服器市場基本上被兩個軟體佔領:M $的Exchange和Lotus的Domino/Notes。這些軟體所花費的費用,實在不小。而Unix平台上,我們有很多選擇,而且都是免費的。   在Debian裡面,我們不用Sendmail,也不用Qmail和Postfix,而是用Exim,這是Debian的預設郵件伺服器,連基本系統都附帶了這個軟體。理由我就不說了,反正,Debian推薦的,不會錯。 1.1 我們將實現的功能   ◆ 區域網中的用戶可以實現本地郵件的發送和轉發。   ◆ 發往區域網以外的郵件有正確From:<郵件地址>,以使外部的郵件能夠正確的回復。   ◆ 電子郵件賬號是所有本地子網用戶所共享,但是要實現每個用戶僅僅能夠收到自己的郵件。   ◆ exim作為郵件的收發代理(它比sendmail好配置的多)。   ◆ mail作為linux端的郵件客戶程序。   ◆ Microsoft Outlook Express 作為Win2000端的郵件客戶程序(同樣你也可以使用其它的類似工具,比如Foxmail)。   ◆ qpopper 作為POP3伺服器, 用來把郵件從Linux系統中轉移到Win2000機器上。   ◆ fetchmail 用來從互聯網上收取郵件。   我在兩台機器上(分別安裝Linux和Win2000系統)做的測試,當然,win9x/NT/XP都可以,而且兩台機器都是Linux的話也當然可以。這個方案,應付一個中小型的辦公室應該綽綽有餘。 1.2 網路和命名   在這篇文章中我假定以下的名字(您實際應用時應該做寫修改,以適應您的實際情況):   ◆ 擁有者和系統管理員的名稱 kanaka Leng。   ◆ Linux機器名為 Debian。   ◆ Win2000 機器名為 Notepad。 通常使用者為 ganghua Leng。   ◆ kanaka 在 Debian 機器上的註冊用戶名為 kanaka。   ◆ ganghua 在 Debian 機器上的註冊用戶名為 ganghua。   ◆ ganghua 在 Notepad 機器上的註冊用戶名也為 ganghua。 她的在linux下的Debian機器和 Win2000上的口令也相同。   ◆ 我們公司的區域網通過寬頻連接互聯網,當然你通過普通撥號也可以。   ◆ kanaka 和 ganghua 都使用電子郵件地址:kanaka@yeah.net。   ◆ kanaka到POP3收信的口令為kanakapswd。   ◆ ISP的發送郵件的郵件伺服器為smtp.yeah.net。   ◆ ISP的接受郵件的郵件伺服器為pop3.yeah.net。   機器Debian和Notepad都屬於一個域,域名為test.com。 這個域名是我們內部搞測試用的,我們並沒有註冊這個域名, 因而對於外部網路來說, 並不能直接識別這個域名。

[火星人 ] 《Debian伺服器設置入門》系列教程已經有918次圍觀

http://coctec.com/docs/linux/show-post-138470.html