內容簡介
《Linux伺服器架設》是國內資深
Linux系統管理專家十餘年系統管理經驗的總結。《Linux伺服器架設》注重實際套用,但又不唯實用論。《Linux伺服器架設》詳細的闡述了在
Linux下構建各種高級服務系統的方法,特別針對系統管理員日常管理工作中最常見的困惑、最需要解決的問題,做了細緻的分析和解說,從最初步的安裝,到系統的安全和最佳化,以及各種服務的搭建和管理。各個層次的
系統管理員都能夠從《Linux伺服器架設》中獲取有益的信息,並學習到有效的管理方法和先進的管理思想。
作者簡介
楊鵬,98年畢業於武漢科技大學。99年開始從事Linux系統管理相關的工作,在多種行業、各種環境下部署和管理過各類Linux及服務,積累了極為豐富的系統管理和開發經驗。
同時,作者還對
Perl、
Java、
Oracle等相關技術有濃厚興趣,曾在國內主要的技術期刊上發表過數十篇技術性文章。自2002年起,在國內最早的Linux專業論壇——中國Linux論壇上擔任“防火牆/代理伺服器”板塊的版主至今。
編輯推薦
《
Linux伺服器架設》針對系統管理員日常工作中最常見的困惑、最需解決的問題,作了細緻的分析與解說。
第一本完全從管理員角度深入講解Linux伺服器管理的書籍;國內一線Linux系統管理專家;10年經驗匯聚
通俗易懂地講解如何在Linux上實現各種服務
深入剖析伺服器架設及管理過程中的各種實際問題
提供作為系統管理員必須的關鍵性思維方式和思考方法
目錄
前言17
第一部分Linux基礎19
第1章Linux背景介紹19
1.1那究竟什麼是Linux?19
1.2Linux起源20
1.3為什麼使用Linux22
1.4Linux主要發行版的特色和特點23
1.4.1以用戶群分類的Linux發行版23
1.4.2以包管理方式分類的Linux發行版24
1.5怎樣選擇適合我的Linux發行版?25
1.6參考資料26
第2章部署Linux26
2.1RedHat和CentOS的區別和聯繫26
2.2安裝前我應該做好哪些工作?27
2.2.1先搞清楚我都有哪些硬體27
2.2.2安裝前要了解的重點——Linux磁碟管理方式28
2.3CentOS的安裝29
2.3.1獲取CentOS安裝光碟29
2.3.2啟動我的計算機31
2.3.3確定CentOS的安裝模式31
2.3.4選擇安裝過程中的語言32
2.3.5選擇我的鍵盤布局34
2.3.6這台CentOS拿來做什麼——配置系統安裝類型36
2.3.7注意!開始對硬碟分區38
2.3.8配置啟動管理器41
2.3.9重要的一步:配置網卡和網路43
2.3.10系統安全配置43
2.3.11選擇系統語言44
2.3.12設定Linux時區45
2.3.13設定系統超級用戶.初始帳號和密碼46
2.3.14我們需要安裝哪些軟體包47
2.3.15終於開始安裝CentOS了48
2.4DebianGNU/Linux的安裝49
2.4.1為什麼這么多人推薦使用DebianGNU/Linux?49
2.4.2去哪裡能搞到DebianLinux安裝系統?49
2.4.3啟動計算機50
2.4.4確定Debian4.0的安裝模式51
2.4.5選擇安裝過程中的語言51
2.4.6選擇我的鍵盤布局52
2.4.7配置網卡網路53
2.4.8對硬碟分區53
2.4.9設定超級用戶.初始帳號和密碼54
2.4.10選擇從哪裡獲取和安裝Debian的軟體包55
2.4.11這台DebianGNU/Linux拿來做什麼——配置系統安裝類型56
2.4.12完成軟體安裝,設定如何啟動我們的系統57
第3章Linux管理思路和和系統結構57
3.1如何有效的對Linux進行管理?以Linux的思路去思考問題!58
3.2出現問題時,如何獲得幫助?59
3.3檔案,一切都是檔案!60
3.4Linux目錄結構介紹61
3.4.1Linux目錄部署方式61
3.4.2/根目錄介紹62
3.4.3/etc目錄介紹——註冊表是多么愚蠢的配置方式62
3.4.4/proc目錄介紹——隨時了解我的系統狀況69
第二部分Linux配置與管理70
第4章Linux基本配置70
4.1網路就是計算機——Linux網路設定70
4.1.1Linux如何識別我的網卡?70
4.1.2讓Linux連上網——設定IP位址.子網掩碼和默認路由72
4.1.3讓Linux與Internet在一起——設定Linux主機名和DNS伺服器73
4.1.4我習慣使用圖形化網路工具配置網路73
4.1.5聽說高手都使用命令行工具配置網路74
4.2Linux啟動時都運行了什麼,我可以控制嗎?76
4.3Linux的一些基本管理方法79
4.3.1我有哪些硬體?Linux都支持嗎?79
4.3.2我安裝了哪些軟體?都裝在什麼地方了?81
4.3.3如何有效的規劃和管理存儲?85
4.3.4Linux的交換分區是幹嘛的——兼談記憶體管理87
4.3.5如何查看和管理CPU87
4.3.6系統感覺很慢,怎樣才能知道系統負載是否正常?90
4.3.7配置我自己的Linux——Linux管理中的常見問題和竅門93
第5章Linux高級配置和管理100
5.1編譯系統——一切軟體的運行基礎101
5.1.1了解編譯器與作業系統的關係101
5.1.2配置如何去編譯軟體102
5.1.3補丁是什麼?如何使用它?103
5.2核心配置.編譯和部署——怎樣定製自己的核心105
5.2.1先把核心從Internet上弄下來105
5.2.2編譯核心前的準備工作106
5.2.3常見的核心配置選項106
5.2.4針對不同環境的核心配置109
5.2.5如何編譯和安裝新的核心109
5.3Java環境和JDK的部署與配置111
5.3.1JDK的下載和安裝111
5.3.2JDK的環境設定111
5.3.3如何保證Java環境處於最佳狀態——進程與執行緒112
5.4套用廣泛的網路安全加密協定——SSL和TLS114
5.4.1什麼是非對稱密碼算法?114
5.4.2那什麼又是PKI和RSA?115
5.4.3SSL和TLS簡介116
5.4.4在Linux上實施SSL116
5.5PAM——可植入認證模組120
5.5.1PAM是個好東西120
5.5.2PAM的認證流程121
5.5.3常見PAM模組122
5.5.4PAM模組的參數使用122
5.5.5NSS——重要的名稱服務切換123
第三部分傳統的Internet伺服器125
第6章DNS伺服器——BIND125
6.1我們每天都在用DNS125
6.2DNS基礎概念126
6.3Linux上的DNS系統——BIND128
6.4安裝BIND9DNS伺服器130
6.5我不負責任何域名的解析,只想讓我的用戶查詢域名更快——快取DNS服務132
6.6我是這個域名的管理員,我要域名指向哪就指向哪——主DNS服務136
6.7一個DNS伺服器看來不夠,需要多台伺服器都提供解析服務——輔助DNS服務137
6.8我需要協助他人進行域名解析——轉發DNS服務138
6.9如何解析域名,以便讓別人可以方便的發郵件給我?139
6.10DNS伺服器好了,讓大家的Linux也用我的DNS服務吧139
6.10.1讓Linux按照我要求的順序查詢名字——配置/etc/host.conf140
6.10.2指定Linux使用哪裡的DNS伺服器——配置/etc/resolv.conf140
6.11如何檢查我的域名解析是否正確?出現問題如何解決?141
6.12如何構建安全的BINDDNS服務143
6.13大型DNS系統技術:域名解析的動態載入DLZ146
6.13.1要使用DLZ,在編譯BIND時就要讓它支持147
6.13.2準備DLZ的數據來源147
6.13.3配置BIND使用DLZ148
6.13.4進行DLZ形式的DNS解析148
第7章電子郵件伺服器——qmail150
7.1什麼是電子郵件?150
7.2Linux下有哪些電子郵件伺服器?它們都有哪些優缺點?152
7.3電子郵件服務工作細節——POP3.SMTP命令簡介153
7.3.1SMTP協定工作流程和命令153
7.3.2POP3協定工作流程和命令155
7.3.3UNIX下的郵件格式156
7.4為什麼選擇qmail?157
7.5獲取和安裝qmail158
7.5.1獲取qmail158
7.5.2獲取qmail補丁158
7.5.3準備安裝qmail160
7.5.4安裝qmail160
7.5.5如果要讓qmail支持認證,得有一個認證程式——checkpassword161
7.5.6協助qmail運行的守護程式:tcpserver162
7.5.7另一個qmail守護程式:daemontools162
7.5.8可以讓用戶和域管理更強大.更方便的程式:vpopmail164
7.6qmail是如何配置的165
7.7先讓qmail運行起來看看167
7.8讓qmail良好運行——使用daemontools控制qmail運行172
7.8.1把qmail設定為daemontools的一個服務172
7.8.2為qmail設定附加的日誌服務174
7.8.3控制daemontools服務的啟動.停止和狀態175
7.8.4一個完整的daemontools控制腳本176
7.9我現有的認證方式五花八門,怎樣讓qmail支持我的認證方式?179
7.10管理qmail域.虛擬域.用戶和別名180
7.10.1用戶管理181
7.10.2郵件別名管理181
7.10.3虛擬域管理181
7.11如果我使用vpopmail,那要如何管理qmail的虛擬域和用戶182
7.11.1當vpopmail使用檔案系統存放用戶信息時182
7.11.2當vpopmail使用MySQL資料庫存放用戶信息時183
7.11.3使用vpopmail時管理qmail的域184
7.11.4使用vpopmail時管理qmail的用戶189
7.11.5使用vpopmail時管理qmail的別名190
7.12我不歡迎有的人給我發郵件,怎樣直接在伺服器上過濾掉——maildrop上場190
7.12.1獲取和安裝maildrop191
7.12.2整合qmail和maildrop,讓maildrop幫我們過濾不想要的郵件192
7.13有了郵件過濾,還要反垃圾郵件嗎?193
7.13.1專業的反垃圾郵件系統——Spam-Assassin193
7.13.2唯一比垃圾郵件更討厭的,就是帶病毒的垃圾郵件——Qmail病毒掃描方案194
7.13.3讓這些專業系統為qmail服務——安裝qmail-scanner195
7.13.4使用qmail-scanner198
第8章Mail伺服器——Postfix198
8.1Postfix簡介198
8.2Postfix架構與工作流程199
8.2.1Postfix如何接收郵件199
8.2.2Postfix如何轉發郵件201
8.2.3Postfix主要配置檔案和命令202
8.3獲取和安裝Postfix204
8.3.1從原始碼開始安裝Postfix204
8.3.2以二進制方式安裝Postfix206
8.4配置Postfix207
8.4.1讓Postfix跑起來207
8.4.2讓Postfix支持SMTP認證209
8.5控制我的Postfix伺服器,讓它按我的要求工作211
8.5.1控制客戶端如何訪問我的Postfix211
8.5.2利用Postfix自身的能力防範垃圾郵件212
8.5.3調整Postfix的性能跟穩定性213
8.6Postfix也需要郵件過濾214
8.6.1再次見到強大的maildrop郵件過濾系統215
8.6.2讓maildrop幫助Postfix過濾郵件216
8.6.3還是專業的反垃圾郵件Spam-Assassin217
8.6.4讓Postfix.maildrop和Spam-Assassin一起工作217
8.6.5為客戶提供防毒服務——Postfix病毒掃描方案218
8.6.6整合Postfix.maildrop和ClamAV218
第9章POP3與IMAP郵件伺服器219
9.1郵件訪問協定IMAP簡介219
9.2強大而複雜的IMAP命令220
9.3另一個郵件領域的強者——Courier郵件伺服器225
9.3.1靈活.獨立的基礎認證服務——Courierauthlib225
9.3.2安裝Courierauthlib225
9.3.3讓Courierauthlib為我們提供認證服務227
9.4構建CourierPOP3與IMAP服務229
9.4.1安裝CourierPOP3/IMAP伺服器229
9.4.2配置CourierPOP3服務230
9.4.3啟動CourierPOP3服務並進行測試231
9.4.4配置CourierIMAP服務232
9.4.5啟動CourierIMAP服務並測試一下234
9.4.6構建安全的CourierPOP3與IMAP服務236
9.5郵件系統結構與角色總結238
第10章WWW伺服器——Apache240
10.1為什麼WWW如此流行?241
10.2世界第一的WWW伺服器——Apache244
10.3我應該選擇什麼版本……Apache1.3.2.0和2.2244
10.4Apache的安裝245
10.5在Apache中整合PHP——最流行的Web動態語言246
10.6在Apache中整合Perl——曾經的CGI王者248
10.7在Apache中整合Tomcat——新興的Java容器組合249
10.8在Apache中整合SSL——必要的安全措施250
10.9讓我們來了解一下Apache配置檔案250
10.9.1配置Apache伺服器的工作方式251
10.9.2如何控制Apache的日誌輸出253
10.9.3我要如何添加.配置Apache的模組?254
10.9.4如何配置Apache以支持多個網站?255
10.10Internet很危險滴——使用SSL加密我們的WWW服務256
10.10.1向用戶證明自己是真正的服務提供者——基本的SSL認證配置257
10.10.2讓用戶證明自己是合法的——雙向的SSL認證配置258
10.11為不同用戶提供不同的訪問許可權——Apache認證與授權260
10.11.1最簡單.易用的認證——純文本用戶認證261
10.11.2和其他通用認證方式結合——使用LDAP目錄作為數據來源的用戶認證263
第11章FTP伺服器——wu-ftpd.vsftpd和ProFTPD264
11.1FTP伺服器的比較和選擇264
11.2強大的FTP伺服器——wu-ftpd265
11.2.1wu-ftpd的獲取和安裝265
11.2.2配置wu-ftpd267
11.2.3控制用戶訪問267
11.3安全的FTP伺服器——vsftpd271
11.3.1vsftpd的獲取和安裝271
11.3.2啟動和停止vsftpd271
11.4vsftpd的基本配置273
11.4.1讓FTP伺服器也使用SSL加密273
11.4.2配置vsftpd日誌274
11.4.3如何控制用戶對FTP伺服器的訪問274
11.4.4定製我的vsftpd276
11.4.5vsftpd對不同FTP工作模式的支持277
11.4.6節省網路資源——控制用戶逾時278
11.4.7調整vsftpd的性能278
11.5vsftpd用戶的管理279
11.5.1為公眾提供服務——那就使用匿名用戶吧279
11.5.2為已經存在的用戶提供服務——只能使用本地用戶了280
11.5.3控制用戶登錄到我的vsftpd伺服器280
11.6靈活的FTP伺服器——ProFTPD281
11.6.1獲取和安裝ProFTPD281
11.7ProFTPD基本配置282
11.7.1配置一台最簡單的ProFTPD282
11.7.2配置允許匿名訪問的ProFTPD284
11.7.3在一台伺服器上提供多個FTP服務——ProFTPD虛擬主機285
11.8ProFTPD許可權指令解析287
11.9相關資源288
第12章時間伺服器——NTPD288
12.1先了解一下Linux時間和時區289
12.2在Linux下架設NTP伺服器291
12.2.1獲取和安裝NTP伺服器291
12.2.2NTP伺服器進程ntpd的基本配置292
12.2.3NTP伺服器好了,現在可以讓客戶端使用我的NTP服務了293
12.3配置我的NTP伺服器295
12.3.1告訴我的NTP伺服器如何去同步時間295
12.3.2我只想為特定網路中的用戶提供NTP服務296
12.4怎樣確保只有經過認證的用戶,才能訪問我的NTP服務?296
12.5一個基本的NTP配置實例297
第四部分辦公環境中的Linux伺服器298
第13章目錄伺服器——OpenLDAP298
13.1什麼是LDAP目錄?300
13.1.1LDAP目錄服務發展簡史300
13.1.2LDAP目錄服務的特點300
13.1.3什麼是LDAP目錄樹?301
13.2LDAP伺服器介紹302
13.2.1OpenLDAP的獲取303
13.2.2怎樣編譯OpenLDAP303
13.2.3啟動和關閉OpenLDAP306
13.3配置我的第一台OpenLDAP,讓它run起來再說308
13.4管理OpenLDAP數據310
13.4.1從頭開始添加LDAP數據到OpenLDAP伺服器311
13.4.2從現有的OpenLDAP伺服器中檢索和獲取數據315
13.4.3添加.修改和刪除現有的LDAP數據317
13.5OpenLDAP如何組織和管理數據——OpenLDAP模型管理318
13.5.1什麼是LDAP模型?318
13.5.2OpenLDAP模型的存儲和組織319
13.5.3OpenLDAP模型的定義320
13.5.4我的需求比較特殊,能否定義自己的LDAP模型?322
13.6為不同用戶提供不同的訪問許可權323
13.6.1什麼是訪問控制列表?——LDAPACL介紹323
13.6.2用ACL來控制用戶的訪問許可權324
13.7LDAP數據很重要,所以要特別注意安全管理326
13.7.1使用ACL機制來提高OpenLDAP安全性326
13.7.2使用SSL來提高OpenLDAP安全性327
13.7.3使用SASL進行用戶認證330
13.8為用戶提供分散式.高效的目錄服務——OpenLDAP目錄集群..330
13.8.1OpenLDAP是如何實現集群的——slurpd複製簡介330
13.8.2配置我的OpenLDAP集群331
13.8.3讓LDAP為Linux主機提供認證333
第14章Windows檔案伺服器——Samba334
14.1一般辦公環境需要Windows伺服器么——Samba起源334
14.2微軟網路共享協定發展335
14.3獲取和安裝Samba337
14.4Samba是如何工作的——Samba工作方式和體系介紹339
14.5Samba的基本配置343
14.6Samba認證和安全機制345
14.6.1Windows與Linux用戶映射345
14.6.2靈活的Samba用戶許可權348
14.7有趣的Samba變數350
14.8無限制擴展Samba的能力——虛擬檔案系統352
第15章動態計算機配置伺服器——dhcpd355
15.1什麼是動態計算機配置?356
15.2簡化網路管理員的工作——DHCP與BOOTP工作原理356
15.3幾種常見的DHCP地址管理方式357
15.4Linux下的DHCP伺服器358
15.4.1獲取和安裝dhcp358
15.4.2配置我的第一台dhcp伺服器359
15.5DHCP協定是如何工作的——DHCP伺服器與客戶端指令詳解361
15.5.1DHCP伺服器如何告訴別人自己可以提供IP位址?361
15.5.2dhcp客戶端怎樣找到網路中的DHCP伺服器?362
15.6DHCP伺服器配置詳解362
15.6.1讓dhcpd按照我的要求運行——全局配置363
15.6.2讓dhcpd為指定的網路提供服務——子網配置363
15.6.3有一些特殊用戶需要特殊對待——單個客戶配置364
第16章防火牆和IP偽裝364
16.1路由器是如何工作的?我們也能DIY專業的路由器嗎?364
16.2用Linux實現一個基本的路由器366
16.3什麼是包過濾——LinuxNetFilter基礎367
16.4怎樣讓內部用戶訪問外部網路——NetFilter之偽裝370
16.5怎樣讓外部用戶訪問內部網路——NetFilter之重定向371
16.6開始強大的iptables之旅吧372
16.6.1iptables為何如此強大?它使用模組擴展自己的能力372
16.6.2什麼是iptables的表.鏈和規則373
16.6.3如何讓iptables顯示我們需要的信息?375
16.6.4如何讓iptables區分對待不同的服務.行為和數據?376
16.6.5如何更精密的控制iptables匹配?377
16.6.6最後,如何處理這些服務.行為和數據?379
第17章代理伺服器——Squid和Socks5381
17.1代理伺服器的原理和機制381
17.1.1如果用戶需要通過我們的代理訪問Internet382
17.1.2如果用戶需要通過我們的代理訪問我們內部的Web伺服器384
17.2Linux下常用代理伺服器軟體介紹385
17.2.1Squid385
17.2.2Socks5386
17.2.3mod_proxy386
17.3獲取和安裝Squid387
17.3.1獲取Squid387
17.3.2編譯和安裝Squid387
17.4Squid基本配置390
17.4.1讓Squid為用戶提供訪問Internet的代理服務390
17.4.2讓用戶感覺不到自己在使用代理上網——把Squid與網關結合起來提供透明代理服務396
17.4.3用Squid為外部用戶提供訪問我們自己Web伺服器的代理服務396
17.5控制哪些用戶.如何訪問我們的Squid397
17.6要求用戶證明自己的身份後才能訪問我們的Squid代理400
17.6.1使用最簡單的NCSA方式驗證用戶400
17.6.2使用常見的WindowsNTLM方式驗證用戶401
17.6.3使用MySQL資料庫驗證用戶402
17.6.4使用LDAP驗證用戶403
17.7調整Squid性能404
17.7.1最佳化Squid的網路404
17.7.2配置Squid的快取405
17.7.3調整Squid的快取對象406
17.7.4擴展Squid的功能408
17.7.5控制代理用戶逾時與網路逾時409
17.7.6讓Squid配合我們進行管理410
17.7.7Squid的一些其他配置411
17.8管理Squid的日誌412
17.9Squid日誌的分析413
17.10強大的代理服務網路——Squid代理伺服器集群415
17.10.1什麼是Squid代理伺服器集群415
17.10.2在Squid中配置代理伺服器集群415
17.11socks5代理伺服器416
17.11.1獲取和安裝socks5代理伺服器416
17.11.2配置一台基本的socks5代理伺服器417
17.11.3更多的socks5配置選項418
17.12參考資料419
第18章撥號和VPN伺服器419
18.1公共網路上的私有網路——什麼是虛擬專網VPN?419
18.2基於SSL的安全虛擬專網——SSLVPN420
18.3Linux下的VPN和SSLVPN介紹420
18.4搭建Linux下的VPN伺服器420
18.4.1獲取和安裝PPTP伺服器421
18.4.2配置PPTP伺服器421
18.4.3啟動和管理PPTPVPN服務423
18.5搭建Linux下的SSLVPN伺服器427
18.5.1獲取和安裝OpenVPN428
18.5.2配置SSLVPN服務429
18.5.3使用SSLVPN服務430
第19章入侵檢測伺服器——Snort432
19.1.1網路中的便衣——什麼是入侵檢測432
19.1.2什麼是Snort434
19.2部署Snort435
19.2.1網路入侵檢測系統的關鍵——設計IDS網路部署435
19.2.2獲取和安裝Snort437
19.3用作網路嗅探器的Snort439
19.4另一種常見嗅探器——tcpdump442
19.5用作IDS節點的Snort443
19.6讓Snort按照我們的要求工作444
19.6.1Snort規則基礎444
19.6.2當檢測到可能的風險時,Snort如何處理?445
19.6.3如何檢測不同的協定445
19.6.4如何匹配IP位址與連線埠號446
19.6.5如何按照數據流動方向檢測風險446
19.6.6對數據包進行分析檢測——Snort核心446
19.6.7最基本的分析檢測規則446
19.6.8分析檢測數據包中的網路信息447
19.6.9分析檢測數據包中的內容信息448
19.6.10在分析檢測完成後做更多的事情448
19.7保證Snort的正常運行449
19.8參考資料449
第20章遠程登入伺服器——OpenSSH450
20.1什麼是安全的遠程登入服務?450
20.2獲取與安裝OpenSSH451
20.3配置OpenSSH452
20.4配置OpenSSH使用PublicKey(RSA/DSA)證書認證453
20.4.1在OpenSSH伺服器上配置PublicKey認證453
20.4.2在Linux客戶端上配置PublicKey認證453
20.4.3在Windows客戶端上配置PublicKey認證之SSHSecureShell454
20.4.4在Windows客戶端上配置PublicKey認證之SecureCRT458
20.5讓SSH為我們轉接服務462
20.6安全工具的安全措施462
第21章版本控制伺服器——CVS464
21.1版本控制工具發展簡史464
21.2CVS簡介465
21.3獲取和安裝CVS465
21.4CVS伺服器結構469
21.4.1什麼是CVS倉庫(Repository)469
21.4.2那什麼又是CVS模組(Module)470
21.4.3CVS如何組織.管理檔案和目錄471
21.5使用CVS管理我們的原始碼471
21.5.1使用用戶名.密碼登錄到CVS伺服器471
21.5.2創建第一個新項目472
21.5.3從項目中提取原始碼檔案474
21.5.4把本地的檔案更新到遠程CVS伺服器中475
21.5.5把遠程CVS伺服器的檔案更新到本地476
21.5.6添加本地檔案到遠程CVS伺服器476
21.5.7同時從本地和遠程刪除檔案477
21.5.8同時從本地和遠程添加與刪除目錄477
21.5.9從本地和遠程移動檔案與目錄478
21.5.10怎樣檢查一個檔案,在本地跟遠程之間的區別478
21.6CVS許可權管理479
21.6.1使用CVS專用的用戶名/密碼檔案管理認證480
21.6.2使用系統用戶管理CVS認證481
第22章原始碼管理伺服器——Subversion481
22.1什麼是Subversion?481
22.2Subversion的發展481
22.3Subversion與CVS主要特性比較482
22.4獲取和安裝Subversion482
22.5Subversion版本倉庫規劃483
22.6創建Subversion版本倉庫484
22.7Subversion認證與許可權487
22.7.1建立基於svnserve的Subversion網路服務487
22.7.2svnserve模式下的用戶認證489
22.7.3svnserve模式下的許可權控制490
22.7.4控制每個目錄的訪問許可權490
22.7.5建立基於Apache的Subversion網路服務491
22.7.6Apache模式下的用戶認證492
22.8Subversion版本倉庫管理493
22.8.1Subversion版本倉庫與事務樹概念493
22.8.2Subversion如何存儲和組織數據494
22.8.3什麼是Subversion鉤子?495
22.9Subversion原始碼管理497
22.10常用的Subversion管理命令497
22.10.1在伺服器上查看當前的版本庫內容——svnlook498
22.10.2在伺服器上管理版本庫——svnadmin499
22.10.3在伺服器上直接導出.導入Subversion數據——svndumpfilter500
第23章備份與同步服務502
23.1.1數據備份方式概述502
23.1.2Linux上的數據備份工具503
23.2何時備份?備份什麼?備份到哪?——淺談備份策略503
23.2.1如何定義自己的備份級別503
23.2.2我應該把數據備份到哪裡?503
23.2.3我應該什麼時候備份?504
23.2.4多長時間備份一次合適?504
23.2.5把這些備份因素綜合起來505
23.3本地檔案備份505
23.3.1tar基本用法505
23.3.2使用tar備份510
23.4本地磁碟備份510
23.5遠程檔案備份511
23.5.1獲取和安裝rsync512
23.5.2配置rsync伺服器512
23.5.3啟動與檢查rsync伺服器513
23.5.4配置需要驗證的rsync伺服器515
23.5.5rsync套用示例517
第五部分Linux高級套用伺服器518
第24章Java容器——Tomcat518
24.1Servlet簡介518
24.2Tomcat簡介519
24.3Tomcat如何工作520
24.4獲取和安裝Tomcat521
24.5讓Tomcat運行起來522
24.6Tomcat是如何組織它的目錄的523
24.7配置Tomcat524
24.8管理和配置Tomcat用戶及許可權528
24.9怎樣通過瀏覽器管理Tomcat529
24.10在Tomcat上部署JavaWeb套用531
第25章Java容器——Resin532
25.1Resin簡介532
25.2獲取和安裝Resin533
25.3運行Resin534
25.3.1獨立的Resin534
25.3.2與Apache結合的Resin535
25.4管理Resin537
25.4.1以瀏覽器方式管理Resin537
25.4.2以配置檔案方式管理Resin538
25.4.3在Resin部署我們的套用539
第26章資料庫伺服器——MySQL541
26.1什麼是SQL?541
26.2什麼是MySQL542
26.3MySQL的獲取和安裝543
26.4讓MySQL跑起來544
26.5什麼是MySQL數據存儲引擎?我應該用哪種存儲引擎?547
26.5.1MySQL中的數據存儲引擎547
26.5.2如何在MySQL中使用不同的數據存儲引擎548
26.6使用MySQL549
26.6.1從終端訪問MySQL549
26.6.2對MySQL進行一些基本的操作550
26.6.3從外部導入數據到MySQL553
26.7配置MySQL555
26.8最佳化MySQL的性能556
26.9建立強大的資料庫集群——MySQL集群介紹558
26.9.1MySQL集群結構559
26.9.2安裝集群中的所有MySQL伺服器560
26.9.3配置MySQL集群560
26.9.4啟動MySQL集群562
26.9.5檢查MySQL集群是否正常工作562
第27章資料庫伺服器——Oracle564
27.1Oracle發展歷程564
27.2在Linux上安裝Oracle9i565
27.2.1安裝Oracle前的準備工作565
27.2.2小心翼翼的安裝Oracle9i567
27.2.3Oracle9i安裝後的管理582
27.3管理Oracle9i591
27.3.1增強Oracle終端界面的友好程度591
27.3.2Oracle的啟動過程592
27.3.3怎樣安全的關閉Oracle594
27.3.4配置Oracle網路接口595
27.3.5配置OracleTNS網路597
第28章集群伺服器——LVS597
28.1什麼是計算機集群?597
28.2那什麼又是LVS?598
28.3LVS的工作原理598
28.4LVS的工作模式599
28.5如何部署LVS?600
28.6LVS的算法解析601
28.7如何管理LVS?602
28.7.1管理LVS的虛擬服務602
28.7.2管理LVS的真實伺服器603
28.7.3查看和管理當前的LVS配置604
第29章Linux雙機605
29.1什麼是雙機?605
29.2如何用Linux實現雙機?605
29.3Heartbeat出場605
29.4獲取和安裝Heartbeat606
29.5通過Heartbeat部署HA607
29.5.1ha.cf607
29.5.2haresources608
29.6啟動HA609
第六部分發展中的Linux伺服器612
第30章配置管理伺服器——GNUcfengine612
30.1什麼是配置管理?我需要配置管理嗎?613
30.2什麼是cfengine?613
30.3cfengine系統架構和流程615
30.4獲取與安裝cfengine616
30.5建立配置管理體系617
30.6學會與cfengine溝通621
30.7cfengine配置文檔結構622
30.8使用cfengine的變數625
30.8.1在cfengine管理中心進程中使用的變數625
30.8.2在cfengine各個模組中都可以使用的變數627
30.9cfengine到底能為我們做什麼?629
30.9.1控制cfengine管理過程中的變數629
30.9.2控制cfengine管理過程中的類630
30.10讓cfengine幫助我們管理整個系統632
30.10.1讓cfengine為我們複製需要的檔案632
30.10.2讓cfengine幫我們管理系統網路634
30.10.3讓cfengine替我們管理磁碟634
30.10.4cfengine能如何操作目錄與檔案635
30.10.5禁止或者恢復系統檔案636
30.10.6編輯系統檔案637
30.10.7讓cfengine管理系統的連結643
30.10.8監視和管理系統中的進程644
30.10.9自動安裝.刪除和升級系統中的軟體包645
30.10.10通過cfengine自動執行指定的命令646
30.11看看如何真正讓cfengine替我們幹活647
30.11.1建立基本配置檔案647
30.11.2建立配置管理檔案649
30.11.3在被管理的伺服器上自動設定crontab649
30.11.4在被管理的伺服器上自動安裝軟體651
30.11.5自動監控被管理伺服器上的進程652
30.11.6保證被管理伺服器的系統檔案一致652
30.12如何解決cfengine管理架構中的問題653
第31章流媒體伺服器——HelixServer653
31.1Linux下的流媒體伺服器654
31.2RealNetworksHelixDNAServer的獲取和安裝654
31.3啟動HelixDNAServer656
31.4讓HelixDNAServer為我們提供服務657
31.5管理HelixDNAServer658
31.5.1伺服器設定659
31.5.2安全設定660
31.5.3日誌與監控661
第32章VoIP伺服器——Asterisk662
32.1用Linux實現免費電話大餐662
32.2用Asterisk提供免費的VoIP服務663
32.3獲取Asterisk及其相關軟體664
32.4Asterisk及其相關軟體的安裝665
32.5Asterisk硬體及其相關配置669
32.5.1Asterisk硬體板卡信令669
32.5.2Asterisk信令協定670
32.5.3Asterisk板卡配置實例670
32.6Asterisk軟體基本配置671
32.6.1可選的數據源配置672
32.6.2Asterisk基本配置673
32.7我的第一台電話交換機——基本的分機.出入路由和DialPlan674
32.8與其他VoIP網路互聯676
32.8.1與其他Asterisk互聯676
32.8.2與公共VoIP網路相連678
32.9AsteriskDialPlan撥號方案初探679
32.10更多有用的DialPlan682
32.11AsteriskRealtime684
……