關於本書:
筆者在 2002 年底寫完了『
鳥哥的 Linux 私房菜 -- 基礎學習篇』以來,
接到很多朋友們的鼓勵,很感謝大家的支持吶!另外也有很多的來信要鳥哥將接下來的伺服器架設篇趕緊給他寫一寫,
其實鳥哥也覺得應該早點將架站篇的內容也給他完成的,這樣才能夠連貫的起來啊!不過,
架站篇比起基礎篇來說,說實在的,要複雜的很多!怎麼說呢?如果說
『
架站篇』就單純的講架站流程,呵呵!
那麼隨便幾個鐘頭就可以將好幾個不同的伺服器的架設方法寫完了,因為這些架設的方法都有資料可以參考,而且,
Linux 本身就有極為豐富的說明文件了!所以說,如果架站篇只是寫架設的流程,鳥哥實在覺得不夠過癮∼
而且,網站的架設其實由網站成立之初的規劃開始,到實際硬碟的分割
( partition ),軟體的選擇與安裝,架設完成之後的後續監測與維護,還有那個挺重要的備份工作等等,
其實是需要『
一貫作業程序』的,什麼是
『
一貫』作業程序呢?其實就是上面所有的工作都需要
『
全部一起搭配來思考』的意思,您不能單純的只想到某個比較重要的地方而已。
舉個例子來說好了,假如您想要架設一個給學生使用的檔案伺服器
( File Server, 一般使用 SAMBA ),那麼在架設之前,您想到,嘿嘿!學生數很多,所以我的硬碟要很大,也因此,您就在
Linux 上面安裝了一款 120 GB 的硬碟,然後,很高興的將硬碟分割為『
只有
/ + Swap 』這樣的懶人分割法。等到實際上機運作之後,卻發現有的學生佔用了主機硬碟好幾
GB 的空間,使得其他同學無法使用主機所提供的檔案服務!等到發現這樣的情況,要再加以使用
Quota 解決的時候,卻發現當初硬碟規劃的不好(因為只有 / 啊!),使得無法進行較佳的
quota 設定。還有,備份也成了一個大問題,因為沒有多餘的額外空間來存放備份資料了∼
這樣可以瞭解一貫作業程序了吧?!是的!您必需要視自己的需要來規劃主機,並且規劃的時候,
就需要從頭到尾的做一個整體的設計了呢!
這些整體搭配的架設網站流程,其實都是網站架設者所需要進行的工作,不過,
目前大家常見的書籍在這方面談的都不多,而大多純粹的講一些技巧性的架站手法,嗯!
這樣的書籍也是有需要的啦!不過,鳥哥認為,如果可以談的更深入一點,
將網站從架設之前所需要考慮的事情以及架設完成後的後續工作都一起談進去的話,
那麼對於網站維護者來說,應該會有一個比較容易入門的管理與維護方法的認識吧!
所以囉,這一本書的內容,除了基本的網站架設流程之外,
還會談到許多的網路基礎概念、網站的相關維護技巧以及鳥哥平時維護主機時所認為較佳的維護經驗談。
誰適合這本書:
這本書既然是談論比較深入的架站規劃、流程、技巧與維護等工作,那麼比較基礎的
Linux 操作與相關的 Shell 語法,在這本書裡面就不可能談論的很多,畢竟,
Linux 基礎篇 已經完成了,沒有必要在這本書裡面再次的重複提及的。
所以,當您嘗試閱讀這本書的時候,請注意,
您最好已經具備有
Linux 作業系統的相關知識,以及文字介面 ( BASH Shell ) 的相關技巧,還有,必需要能夠瞭解一些
Unix-Like 的工作流程,例如登錄檔的產生與放置的地點、服務的啟動與關閉方式、
工作排程的使用方法、以及其他種種相關的事項。也就是說,如果您從未接觸過
Linux ,那麼建議您由『
鳥哥的 Linux 私房菜 --
基礎學習篇』開始 Linux 的探索歷程,否則,這本書對您而言,可能會過於難以理解。
另外,這本書的內容很多時候會提到一些簡單的概念而不是僵化的流程,
尤其每個人對於網站的要求都不相同,也就是說,每個人的網站其實都是帶有個人風格的,
因此僵化的流程並沒有太大的意義∼只要能夠依據這些簡單的概念來進行網站的架設,鳥哥認為,
您的主機設定應該都不會有太大的問題。怕的是什麼呢?都沒有碰過
Linux ,卻想直接參考架站的程序來完成網站的架設的朋友,這些朋友最容易忽略後續的維護與管理了!
這也容易造成網站的不穩定或者是造成被網路怪客 ( Cracker ) 入侵的問題啊!
這本書主要的目的是引導使用者進入 Linux 強大的網路功能的世界,
書內的範例都是鳥哥自己實際測試過沒有問題才寫上來的,不過,畢竟每個人的網路環境與操作習慣都不相同,
因此,鳥哥不敢說我書內的範例一定可以在您的系統上操作成功的!
然而,書內都會提到一些基本概念的問題,只要理解這些基本的概念,並且對於
Linux 的操作熟悉,相信您一定可以利用書內的範例來開發出適合您自己的伺服器設定的!不過,對於沒有碰過
Linux 的朋友,還是建議從頭學起,至於為什麼一定得從頭學起,在本書的第一章內會仔細談論喔。
章節安排:
本書在章節的規劃上面,主要分為三大部分,分別是『網路基礎篇』、
『簡易防火措施篇』與『伺服器架設篇』,前兩篇的所有內容與『伺服器架設篇』都具有很高的相關性,例如
NAT 伺服器就與『簡易防火措施篇』內的簡易防火牆有高度相關!
所以,您在開始伺服器的架設之前,請務必將前面兩篇共十二章先唸過一遍才好吶!
在『網路基礎篇』當中,我們會介紹簡易的網路基礎,
這包含了硬體的選擇與佈線。此外,還有在
Linux 上面連上 Internet 的方法,以及在 Linux 發生無法連接網際網路的問題時,簡易的查驗方法。
看完了這一篇之後,您的 Linux 不論以何種方式來進行 Internet
的連接,就應該都不成問題囉,而且,鳥哥希望看完這一篇之後,您可以瞭解
Linux 的網路問題,並自行解決喔!
在『簡易防火措施篇』中,我們會簡單的介紹
Linux 的強大網路功能下,可能會發生的網路入侵問題。
接下來,瞭解了問題後,當然就是需要來解決他囉!所以,我們會就
TCP/IP, port, 套件漏洞的修補與防火牆等來推敲一下,該如何做好 Linux 主機的防備呢?!
『沒有永遠安全的主機』是正確的言論,所以,
即使您的主機只是一個小小的網站,也千萬不能忽略這個防火牆的認識喔!
在『伺服器架設篇』當中,我們會介紹
WWW, dns, mail, ftp, dhcp, samba.....等等的伺服器,在這一篇內的文章您就可以跳著看了!
因為不想玩的伺服器,當然就不需要去看他啊!唯一一個例外的就是
DNS 伺服器 ( 領域名稱伺服器 ) 囉, DNS 是所有伺服器能否正常工作的基礎,因此,您雖然不需要架設
DNS 伺服器,但是得瞭解 DNS 的整體運作流程呢!
章節的安排主要仍然是由淺入深來進行編排的,因此,還是希望讀者們可以由前面慢慢的往下看,
不要著急的直接翻到後面去抄一些架設流程喔!而且,幾乎每一章節後面都會具有一些簡單的課後練習題,
這些練習題有的是鳥哥參加過的考試內容,有的是鳥哥想到的一些資料,很適合大家思考喔!
不要錯過這些練習題的訓練喔!
伺服器簡介:
在這本書裡面提到相當多的伺服器架設,這裡先就幾個常見的伺服器介紹一番,
提供大家先有個認知,後續請讀者們自行到該章節閱讀更進一步的資料喔!
- Router (路由器):
我們在設定網路時都會訂定通訊閘(Gateway),這個
Router 玩意兒就是 Gateway 咯。Router 可以用來溝通兩個不同的網段,使得資料可以互傳,
是網路上相當重要的一個設備;
- Firewall (防火牆):
Linux 上的防火牆主要是由
iptables 這個核心功能(或者可以稱為機制)所設定達成的,利用每個資料封包要進入
Linux 系統之前的分析與過濾,來剔除危險的資訊,保護我們 Linux 主機的安全;
- Telnet & SSH (遠端連線伺服器):
我們可以在個人電腦以 telnet 這個程式以及 putty
這個軟體來連接到主機,只要連接到主機後,整個螢幕上的作業就像您坐在主機前面工作一般的方便!
- NAT (Network Address Translation):
簡單的想,NAT 伺服器就是『IP 分享器』,善用 NAT 還可以達成將伺服器架設在 Intranet 的功能!
- NFS (Network FileSystem):
在 Linux 與 Linux 上面分享檔案最方便的工具就是 NFS 了!他可以將遠端的 Linux
主機所分享出來的『目錄』掛載到自己的系統下,作業起來就像自己
Linux 系統的一塊 Partition 一般的好用!
- DHCP ( Dynamic Host Configuration Protocol):
如果您有管理超過 10 部以上的個人電腦在您的區域網路內,那麼使用一部 DHCP 主機來統一分配區域內所有個人電腦的
IP 以及相關的網路參數,是一個很不錯的解決方案!
- DNS (Domain Name System):
DNS 的概念相當的重要,您可以透過 Internet 上面的任何一部 DNS 主機來達成主機名稱與 IP
的對應,此外,DNS 與郵件主機的相關性也很高喔!總之,如果您管理多部主機,
且這幾部主機的主機名稱需要自行掌控,那麼就需要架設 DNS 伺服器了;
- WWW (Web Server):
在 Linux 上面使用 Apache 這個套件來達成 WWW 的伺服器架設,如果同時以 PHP 及 MySQL 來設定您的
WWW 伺服器,呵呵!您的網頁會很熱鬧啊!
- SAMBA (檔案伺服器):
在 Linux 與 Linux 的檔案分享使用 NFS ,那麼在 Linux 與 Windows 的檔案分享則是以 SAMBA 咯!架設
SAMBA 之後,您可以透過 Windows 系統的『網路上的芳鄰』來連上 Linux 主機分享資源喔!
- Sendmail & Postfix (郵件主機):
想要收發 e-mail 嗎?!那麼就得要架設郵件伺服器了!目前幾乎所有的郵件伺服器原理都以
sendmail 為依據,所以不論您使用哪一套郵件伺服器軟體,建議 sendmail 的運作還是需要熟讀的!
- Wu-FTP & Proftpd & vsftpd (檔案傳輸伺服器):
檔案傳輸伺服器的架設軟體真的很多,不過傳統上,
Linux 是以 Wu ftp 為大宗,然而因為安全性與功能性,建議使用 proftpd 與 vsftpd
呢!我們可以透過 Client 端的 cuteftp 等圖形化介面連接上 Linux 的 FTP 功能來上傳/下載檔案吶!
- Proxy (代理伺服器):
利用 Proxy 可以達到簡易的控制您區域網路內可前往瀏覽的網站,如果加上分析軟體,更可以控管您區域網路內部的
WWW 瀏覽行為!此外,如果區域網路內的電腦數量多,那麼 Proxy 還可以達到節省頻寬的功能吶!
- NIS (Network Information Services):
NIS 可以統一管理不同主機的帳號,讓不同的主機可以具有相同的帳號與密碼,如果搭配
NFS 的話,功能就更多樣化了!
- NTP (Network Time Protocol):
平常您如何調整自己的手錶時間?看電視、聽廣播對吧!那如果是您的網路主機想要校時呢?那就利用
NTP 主機的功能吧!
- APT (Advanced Package Tool):
套件升級是很重要的!如果能夠架設一部
APT 的話,那麼所管理的所有 Linux 主機的升級就會相當的便利喔!但如果所管理的
Linux 並不多,這個 APT 就不需要架設了!
書上的內容至少有上面那麼多的咚咚可以查閱,祝大家學習愉快!
感謝:
這本書的內容並不是三天兩夜就完成的,書內最早的資料可以追溯
2001 年,所以說穿了就是鳥哥在 Linux 伺服器方面的一些成長經驗。
在最早的文章發表過程當中,受到相當多朋友的檢驗,並且讓鳥哥得以得到相當多很棒的建議,
而據以修改網站上的文章!這都要感謝 Sutdy Area 與 TnLUG 的朋友群:Netman, 梁楓, 蔡大哥,
duncan, 逸晨, Jerry Wu, Wilson, damon 等,以及酷學園台北幫的伙伴們:zman, ericshei,
日京三子等,還有很多 Linux 的前輩們:小州先生與果正兄等,當然還有更多不及備載的朋友們的協助,
感謝您們的扶持!此外,當然還有更多的讀者們的支持,沒有大家的支持,就沒有鳥哥的私房菜啊!
事實上,這本書從簽約到成冊的短短兩三個月的過程中,在鳥哥的身上發生了很多突發的事件,
這包括學業無法順利完成的遺憾以及母親車禍離開人世的傷痛。還好身旁好友玉南、士杰、景陽以及阿毛的鼓勵,
小弟俊明、秀明、瑞明的相互扶持,以及邱爸爸、邱媽媽一家人溫暖的照應,
當然還有女友慧真在生活方面的照料,使得任性的我可以暫時離開傷痛,繼續往
Linux 的世界前進。最後,僅將這本書獻給我在天堂的媽媽,媽媽,我會繼續努力的。
鳥哥 2003/09/18
2003/07/14:第一次完成日期!
2003/09/18:加入一些說明,尤其是各個伺服器的簡介。