《Linux 服务器架设》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:杨鹏著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302185079
  • 页数:653 页
图书介绍:本书是国内资深Linux系统管理专家十余年系统管理经验的总结。本书注重实际应用,但又不唯实验论。

第一部分 Linux基础 1

第1章 Linux背景介绍 1

1.1那究竟什么是Linux? 1

1.2 Linux的起源 2

1.3为什么使用Linux 4

1.4 Linux主要发行版的特色和特点 5

1.4.1以用户群分类的Linux发行版 5

1.4.2以包管理方式分类的Linux发行版 6

1.5怎样选择适合我的Linux发行版? 7

1.6参考资料 8

第2章 部署Linux 9

2.1 RedHat和CentOS的区别与联系 9

2.2安装前我应该做好哪些工作? 9

2.2.1先搞清楚我都有哪些硬件 9

2.2.2安装前要了解的重点——Linux的磁盘管理方式 10

2.3 CentOS的安装 11

2.3.1获取CentOS的安装光盘 12

2.3.2启动我的计算机 13

2.3.3确定CentOS的安装模式 13

2.3.4选择安装过程中的语言 14

2.3.5选择我的键盘布局 15

2.3.6这台CentOS是拿来做什么的——配置系统安装类型 16

2.3.7注意!开始对硬盘进行分区 17

2.3.8配置启动管理器——由它来接管系统的启动 19

2.3.9重要的一步——配置网卡和网络 20

2.3.10系统安全配置 21

2.3.11选择系统语言 22

2.3.12设置Linux时区 23

2.3.13设置系统超级用户、初始账号和密码 23

2.3.14我们需要安装哪些软件包 24

2.3.15终于开始安装CentOS了 25

2.4 Debian GNU/Linux的安装 25

2.4.1为什么这么多人推荐使用Debian GNU/Linux? 25

2.4.2去哪里能搞到Debian Linux安装系统? 26

2.4.3启动计算机 26

2.4.4确定Debian 4.0的安装模式 26

2.4.5选择安装过程中的语言 27

2.4.6选择我的键盘布局 28

2.4.7配置网卡网络 29

2.4.8对硬盘进行分区 29

2.4.9设置超级用户、初始账号和密码 29

2.4.10选择从哪里获取和安装Debian的软件包 29

2.4.11这台Debian GNU/Linux拿来做什么——配置系统安装类型 31

2.4.12完成软件安装,设置如何启动我们的系统 31

第3章 Linux的管理思路和系统结构 33

3.1如何有效的对Linux进行管理?以Linux的思路去思考问题! 33

3.2出现问题时,如何获得帮助? 34

3.3关文件,一切都是文件! 35

3.4关于Linux目录结构的介绍 36

3.4.1 Linux目录的部署方式 36

3.4.2 /根目录介绍 37

3.4.3 /etc目录介绍——注册表是多么愚蠢的配置方式 37

3.4.3.1管理我的磁盘和硬件驱动 38

3.4.3.2让Linux按照我的要求启动 40

3.4.3.3保证用户和系统的安全 40

3.4.3.4控制用户的登录行为 41

3.4.3.5如何突破系统默认限制? 42

3.4.4 /proc目录介绍——随时了解我的系统状况 44

第二部分 Linux配置与管理 47

第4章 Linux基本配置 47

4.1网络就是计算机——Linux网络设置 47

4.1.1 Linux如何识别我的网卡? 47

4.1.2让Linux连上网——设置IP地址、子网掩码和默认路由 48

4.1.3让Linux与Internet在一起——设置Linux主机名和DNS服务器 49

4.1.4我习惯使用图形化网络工具配置网络 50

4.1.5听说高手都使用命令行工具配置网络 51

4.2 Linux启动时都运行了什么,我可以控制吗? 53

4.3 Linux的一些基本管理方法 55

4.3.1我有哪些硬件?Linux都支持吗? 55

4.3.1.1检查我的计算机里都有哪些设备——lspci命令 55

4.3.1.2我的Linux是如何识别这些设备的——dmesg命令 57

4.3.2我安装了哪些软件?都装在什么地方了? 57

4.3.2.1通过包管理系统管理软件 58

4.3.2.2通过源代码方式管理软件 61

4.3.2.3非包管理体系的二进制软件 61

4.3.3如何有效的规划和管理存储? 61

4.3.4 Linux的交换分区是干嘛的——兼谈内存管理 62

4.3.5如何查看和管理CPU 63

4.3.5.1先把系统中的CPU找出来 63

4.3.5.2 Linux碰到超线程与多核CPU怎么办? 64

4.3.5.3如果系统显示的CPU数量不对是怎么回事? 65

4.3.5.4了解系统中的CPU工作状态 66

4.3.6系统感觉很慢,怎样才能知道系统负载是否正常? 66

4.3.6.1如何检查系统的平均负载? 66

4.3.6.2如何检查网络负载 67

4.3.6.3如何检查磁盘负载? 68

4.3.7配置我自己的Linux——Linux管理中的常见问题和窍门 69

4.3.7.1什么是管道和重定向?它们有用吗 69

4.3.7.2如何定义自己的Shell? 71

4.3.7.3如何把MAN手册页转化为纯文本? 73

4.3.7.4现在都有哪些程序在运行?可以关闭一些程序吗? 74

4.3.7.5如何知道系统打开了哪些文件?是谁打开的?为什么打开? 74

第5章 Linux高级配置和管理 76

5.1编译系统——一切软件的运行基础 76

5.1.1了解编译器与操作系统的关系 76

5.1.2配置如何去编译软件 77

5.1.3补丁是什么?如何使用它? 78

5.2内核配置、编译和部署——怎样定制自己的内核 79

5.2.1先把内核从Internet上弄下来 80

5.2.2编译内核前的准备工作 80

5.2.3常见的内核配置选项 81

5.2.4针对不同环境的内核配置 83

5.2.5如何编译和安装新的内核 84

5.3 Java环境和JDK的部署与配置 85

5.3.1 JDK的下载和安装 86

5.3.2 JDK的环境设置 86

5.3.3如何保证Java环境处于最佳状态——进程与线程 87

5.4应用广泛的网络安全加密协议——SSL和TLS 89

5.4.1什么是非对称密码算法? 89

5.4.2那什么又是PKI和RSA? 90

5.4.3 SSL和TLS简介 90

5.4.4在Linux上实施SSL 91

5.5 PAM——可植入认证模块 94

5.5.1 PAM是个好东西 95

5.5.2 PAM的认证流程 95

5.5.3常见的PAM模块 96

5.5.4 PAM模块的参数使用 97

5.5.5 NSS——重要的名称服务切换 98

第三部分 传统的Internet服务器 101

第6章 DNS服务器——BIND 101

6.1我们每天都在用DNS 101

6.2 DNS的基础概念 102

6.3 Linux上的DNS系统——BIND 104

6.4安装BIND 9 DNS服务器 106

6.5我不负责任何域名的解析,只想让我的用户查询域名更快——缓存DNS服务 108

6.6我是这个域名的管理员,我要域名指向哪儿就指向哪儿——主DNS服务 111

6.7一个DNS服务器看来不够,需要多台服务器都提供解析服务——辅助DNS服务 113

6.8我需要协助他人进行域名解析——转发DNS服务 114

6.9如何解析域名,以便让别人可以方便的发邮件给我? 115

6.10 DNS服务器设置好了,让大家的Linux也用我的DNS服务吧 115

6.10.1让Linux按照我要求的顺序查询名字——配置/etc/host.conf 116

6.10.2指定Linux使用哪里的DNS服务器——配置/etc/resolv.conf 116

6.11如何检查我的域名解析是否正确?出现问题如何解决? 117

6.12如何构建安全的BIND DNS服务 119

6.13大型DNS系统技术——域名解析的动态加载DLZ 122

6.13.1要使用DLZ,在编译BIND时就要让它支持 123

6.13.2准备DLZ的数据来源 124

6.13.3配置BIND使用DLZ 124

6.13.4进行DLZ形式的DNS解析 124

第7章 电子邮件服务器——qmail 126

7.1什么是电子邮件? 126

7.2 Linux下有哪些电子邮件服务器?它们都有哪些优缺点? 127

7.3电子邮件服务工作细节——POP3.SMTP命令简介 128

7.3.1 SMTP协议的工作流程和命令 129

7.3.2 POP3协议的工作流程和命令 131

7.3.3 UNIX下的邮件格式 132

7.4为什么选择qmail? 133

7.5获取和安装qmail 134

7.5.1获取qmail 134

7.5.2获取qmail补丁 134

7.5.3准备安装qmail 135

7.5.4安装qmail 136

7.5.5如果要让qmail支持认证,得有一个认证程序——checkpassword 137

7.5.6协助qmail运行的守护程序——tcpserver 137

7.5.7另一个qmail守护程序——daemontools 138

7.5.8可以让用户和域管理变得更强大、更方便的程序——vpopmail 140

7.6 qmail是如何配置的 141

7.7先让qmail运行起来看看 143

7.8让qmail良好运行——使用daemontools控制qmail的运行 149

7.8.1把qmail设置为daemontools的一个服务 149

7.8.2为qmail设置附加的日志服务 150

7.8.3控制daemontools服务的启动、停止和状态 152

7.8.4一个完整的daemontoois控制脚本 152

7.9我现有的认证方式五花八门,怎样让qmail支持我的认证方式? 155

7.10管理qmail域、虚拟域、用户和别名 157

7.10.1用户管理 157

7.10.2邮件别名管理 157

7.10.3虚拟域管理 158

7.11 如果我使用vpopmail,那要如何管理qmail的虚拟域和用户 158

7.11.1当vpopmail使用文件系统存放用户信息时 158

7.11.2当vpopmail使用MySQL数据库存放用户信息时 159

7.11.3使用vpopmail时管理qmail的域 160

7.11.3.1使用vadddomain添加域 160

7.11.3.2使用vdeldomain删除域 161

7.11.3.3使用vmoddomain修改域 161

7.11.4使用vpopmail时管理qmail的用户 164

7.11.4.1使用vadduser添加用户 165

7.11.4.2使用vdeluser删除用户 165

7.11.4.3使用vmoduser修改用户 165

7.11.5使用vpopmail时管理qmail的别名 165

7.12我不欢迎有的人给我发邮件,怎样在服务器上直接过滤掉——maildrop上场 166

7.12.1获取和安装maildrop 166

7.12.2整合qmail和maildrop,让maildrop帮我们过滤不想要的邮件 168

7.13有了邮件过滤,还要反垃圾邮件吗? 168

7.13.1专业的反垃圾邮件系统——Spam-Assassin 169

7.13.2唯一比垃圾邮件更讨厌的,就是带病毒的垃圾邮件——Qmail病毒扫描方案 170

7.13.3让这些专业系统为qmail服务——安装qmail-scanner 171

7.13.4使用qmail-scanner 174

第8章 Mail服务器——Postfix 175

8.1我们还需要另一套邮件服务器系统吗? 175

8.2 Postfix简介 175

8.3 Postfix架构与工作流程 176

8.3.1 Postfix如何接收邮件 176

8.3.2 Postfix如何转发邮件 177

8.3.3 Postfix主要的配置文件和命令 179

8.4获取和安装Postfix 180

8.4.1从源代码开始安装Postfix 180

8.4.2以二进制方式安装Postfix 182

8.5配置Postfix 183

8.5.1让Postfix跑起来 183

8.5.2让Postfix支持SMTP认证 185

8.6控制我的Postfix服务器,让它按我的要求工作 187

8.6.1控制客户端如何访问我的Postfix 187

8.6.2利用Postfix自身的能力防范垃圾邮件 188

8.6.3调整Postfix的性能跟稳定性 190

8.7 Postfix也需要邮件过滤 191

8.7.1再次见到强大的maildrop邮件过滤系统 191

8.7.2让maildrop帮助Postfix过滤邮件 193

8.7.3还是专业的反垃圾邮件——Spam-Assassin 194

8.7.4让Postfix、maildrop和Spam-Assassin一起工作 194

8.7.5为客户提供杀毒服务——Postfix病毒扫描方案 194

8.7.6整合Postfix、maildrop和CIamAV 195

第9章 POP3与IMAP邮件服务器 196

9.1邮件访问协议——AP简介 196

9.2强大而复杂的IMAP命令 196

9.3另一个邮件领域的强者——Courier邮件服务器 202

9.3.1灵活、独立的基础认证服务——Courier authlib 202

9.3.2安装Courier authlib 202

9.3.3让Courier authlib为我们提供认证服务 203

9.4构建Courier POP3与IMAP服务 206

9.4.1安装Courier POP3/IMAP服务器 206

9.4.2配置Courier POP3服务 207

9.4.3启动Courier POP3服务并进行测试 208

9.4.4配置Courier IMAP服务 209

9.4.5启动Courier IMAP服务并测试一下 212

9.4.6构建安全的Courier POP3与I MAP服务 213

9.5邮件系统结构与角色总结 215

第10章 WWW 服务器——Apache 217

10.1为什么WWW如此流行? 217

10.2世界第一的WWW服务器——Apache 220

10.3我应该选择什么版本……Apache 1.3、2.0和2.2 221

10.4 Apache的安装 221

10.5在Apache中整合PHP——最流行的Web动态语言 223

10.6在Apache中整合Perl——曾经的cGI王者 226

10.7在Apache中整合Tomcat——新兴的Java容器组合 227

10.8在Apache中整合SSL——必要的安全措施 228

10.9让我们来了解一下Apache的配置文件 228

10.9.1配置Apache服务器的工作方式 229

10.9.2如何控制Apache的日志输出 231

10.9.3我要如何添加、配置Apache的模块? 233

10.9.4如何配置Apache以支持多个网站? 233

10.10 Internet很危险滴——使用SSL加密我们的WWW服务 234

10.10.1向用户证明自己是真正的服务提供者——基本的SSL认证配置 235

10.10.2让用户证明自己是合法的——双向的SSL认证配置 236

10.11 为不同用户提供不同的访问权限——Apache认证与授权 238

10.11.1最简单、易用的认证——纯文本用户认证 238

10.11.2和其他通用认证方式结合——使用LDAP目录作为数据来源的用户认证 240

第11章 FTP服务器——wu-ftpd、vsftpd和ProFTPD 242

11.1 FTP服务器的比较和选择 242

11.2强大的FTP服务器——wu-ftpd 243

11.2.1 wu-ftpd的获取和安装 243

11.2.2配置wu-ftpd 246

11.2.3控制用户访问 246

11.2.3.1显示不同的提示信息 247

11.2.3.2记录日志 248

11.3安全的FTP服务器——Vsftpd 249

11.3.1 vsftpd的获取和安装 249

11.3.2启动和停止vsftpd 250

11.4 vsftpd的基本配置 251

11.4.1让FTp服务器也使用SSL加密 252

11.4.2配置vsftpd日志 252

11.4.3如何控制用户对FTP服务器的访问 253

11.4.4定制我的vsftpd 255

11.4.5 vsftpd对不同FTP工作模式的支持 255

11.4.6节省网络资源——控制用户超时 256

11.4.7调整vsftpd的性能 256

11.5 vsftpd用户的管理 257

11.5.1为公众提供服务——那就使用匿名用户吧 257

11.5.2为已经存在的用户提供服务——只能使用本地用户了 258

11.5.3控制用户登录到我的vsftpd服务器 258

11.6获取和安装灵活的FTP服务器——ProFTPD 259

11.7 ProFTPD的基本配置 260

11.7.1配置一台最简单的ProFTPD 260

11.7.2配置允许匿名访问的ProFTPD 262

11.7.3在一台服务器上提供多个FTP服务——ProFTPD虚拟主机 263

11.8 ProFTPD权限指令解析 265

11.9相关资源 266

第12章 时间服务器——NTPD 267

12.1先了解一下Linux时间和时区 267

12.2在Linux下架设NTP服务器 269

12.2.1获取和安装NTP服务器 270

12.2.2 NTP服务器进程ntpd的基本配置 270

12.2.3 NTP服务器OK了,现在可以让客户端使用我的NTP服务了 272

12.3配置我的NTP服务器 273

12.3.1告诉我的NTP服务器如何去同步时间 273

12.3.2我只想为特定网络中的用户提供NTP服务 274

12.4怎样确保只有经过认证的用户,才能访问我的NTP服务? 275

12.5一个基本的NTP配置实例 275

第四部分 办公环境中的Linux服务器 278

第13章 目录服务器——OpenLDAP存在的意义 278

13.1什么是LDAP目录? 278

13.1.1 LDAP目录服务发展简史 278

13.1.2 LDAP目录服务的特点 279

13.1.3什么是LDAP目录树? 279

13.2 LDAP服务器介绍 280

13.2.1 OpenLDAP的获取 281

13.2.2怎样编译OpenLDAP 281

13.2.3启动和关闭OpenLDAP 284

13.3配置我的第一台OpenLDAP,让它run起来再说 286

13.4 管理OpenLDAP数据 289

13.4.1从头开始添加LDAP数据到OpenLDAP服务器 289

13.4.2从现有的OpenLDAP服务器中检索和获取数据 293

13.4.3添加、修改和删除现有的LDAP数据 295

13.5 OpenLDAP如何组织和管理数据——OpenLDAP模型管理 296

13.5.1什么是LDAP模型? 296

13.5.2 OpenLDAP模型的存储和组织 297

13.5.3 OpenLDAP模型的定义 298

13.5.4我的需求比较特殊,能否定义自己的LDAP模型? 300

13.6为不同用户提供不同的访问权限 301

13.6.1什么是访问控制列表?——LDAP ACL介绍 301

13.6.2用ACL来控制用户的访问权限 302

13.7 LDAP数据很重要,所以要特别注意安全管理 304

13.7.1使用ACL机制来提高OpenLDAP的安全性 304

13.7.2使用SSL来提高OpenLDAP的安全性 305

13.7.3使用SASL进行用户认证 308

13.8为用户提供分布式、高效的目录服务——OpenLDAP目录集群 308

13.8.1 OpenLDAP是如何实现集群的——slurpd复制简介 308

13.8.2配置我的OpenLDAP集群 309

13.8.3让LDAP为Linux主机提供认证 311

第14章 Windows文件服务器——Samba 313

14.1一般办公环境需要Windows服务器吗——Samba的起源 313

14.2微软网络共享协议的发展 314

14.3获取和安装Samba 315

14.4 Samba是如何工作的——Samba工作方式和体系介绍 317

14.5 Samba的基本配置 321

14.6 Samba认证和安全机制 324

14.6.1 Windows与Linux用户映射 324

14.6.2灵活的Samba用户权限 326

14.6.2.1一些常见的Samba权限配置 326

14.6.2.2配置一个大家都能写、但不能删除别人文件的目录 328

14.7有趣的Samba变量 329

14.8无限制扩展Samba的能力——虚拟文件系统 330

第15章 动态计算机配置服务器——dhcpd 335

15.1什么是动态计算机配置? 335

15.2简化网络管理员的工作——DHCP与BOOTP工作原理 335

15.3几种常见的DHCP地址管理方式 336

15.4 Linux下的DHCP服务器 337

15.4.1获取和安装dhcp 337

15.4.2配置我的第一台dhcp服务器 338

15.5 DHCP协议是如何工作的——DHCP服务器与客户端指令详解 340

15.5.1 DHCP服务器如何告诉别人自己可以提供IP地址? 340

15.5.2 dhcp客户端怎样找到网络中的DHCP服务器? 341

15.6 DHCP服务器配置详解 341

15.6.1让dhcpd按照我的要求运行——全局配置 341

15.6.2让dhcpd为指定的网络提供服务——子网配置 342

15.6.3有一些特殊用户需要特殊对待——单个客户配置 343

第16章 防火墙和IP伪装 344

16.1路由器是如何工作的?我们也能DIY专业的路由器吗? 344

16.2用LInux实现一个基本的路由器 346

16.3什么是包过滤——Linux Netfilter基础 346

16.4怎样让内部用户访问外部网络——NetFilter之伪装 349

16.5怎样让外部用户访问内部网络——NetFilter之重定向 350

16.6开始强大的Iptables之旅吧 352

16.6.1 iptables为何如此强大——它使用模块扩展自己的能力 352

16.6.2什么是iptables的表、链和规则? 352

16.6.3如何让iptables显示我们需要的信息? 354

16.6.4如何让iptables区分对待不同的服务、行为和数据? 355

16.6.5如何更精密的控制iptables匹配? 356

16.6.6最后,如何处理这些服务、行为和数据? 358

第17章 代理服务器——Squid和Socks5 361

17.1理服务器的原理和机制 361

17.1.1如果用户需要通过我们的代理访问Internet 362

17.1.2如果用户需要通过我们的代理访问我们内部的Web服务器 364

17.2 Linux下常用代理服务器软件介绍 365

17.2.1 Squid 365

17.2.2 Socks5 365

17.2.3 mod_proxy 366

17.3获取和安装Squid 366

17.3.1获取Squid 366

17.3.2编译和安装Squid 367

17.4 Squid基本配置 369

17.4.1让Squid为用户提供访问Internet的代理服务 369

17.4.2让用户感觉不到自己在使用代理上网——把Squid与网关结合起来提供透明代理服务 375

17.4.3用Squid为外部用户提供访问我们自己的Web服务器的代理服务 375

17.5控制哪些用户、如何访问我们的Squid 376

17.6要求用户证明自己的身份后才能访问我们的Squid代理 379

17.6.1使用最简单的NCSA方式验证用户 379

17.6.2使用常见的Windows NTLM方式验证用户 380

17.6.3使用MySQL数据库验证用户 381

17.6.4使用LDAP验证用户 383

17.7调整Squid性能 383

17.7.1优化Squid的网络 384

17.7.2配置Squid的缓存 384

17.7.3调整Squid的缓存对象 385

17.7.4扩展Squid的功能 387

17.7.5控制代理用户超时与网络超时 388

17.7.6让Squid配合我们进行管理 390

17.7.7 Squid的一些其他配置 390

17.8管理Squid的日志 392

17.9 Squid日志的分析 393

17.10强大的代理服务网络——Squid代理服务器集群 394

17.10.1什么是Squid代理服务器集群 394

17.10.2在Squid中配置代理服务器集群 395

17.11 socks5代理服务器 396

17.11.1获取和安装socks5代理服务器 396

17.11.2配置一台基本的socks5代理服务器 396

17.11.3更多的socks5配置选项 398

17.12参考资料 398

第18章 拨号和VPN服务器 399

18.1公共网络上的私有网络——什么是虚拟专网VPN? 399

18.2基于SSL的安全虚拟专网——SSL VPN 399

18.3 Linux下的VPN和SSL VPN介绍 400

18.4搭建Linux下的VPN服务器 400

18.4.1获取和安装PPTP服务器 400

18.4.2配置PPTP服务器 401

18.4.3启动和管理PPTP VPN服务 403

18.5搭建Linux下的SSL VPN服务器 406

18.5.1获取和安装OpenVPN 406

18.5.2配置SSL VPN服务 407

18.5.3使用SSL VPN服务 409

第19章 入侵检测服务器——Snort 412

19.1什么是入侵检测,什么是Snort 412

19.1.1网络中的便衣——什么是入侵检测 412

19.1.2什么是Snort 413

19.2部署Snort 414

19.2.1网络入侵检测系统的关键——设计IDS网络部署 414

19.2.2获取和安装Snort 416

19.3用作网络嗅探器的Snort 418

19.4 另一种常见嗅探器——tcpdump 421

19.5用作IDS节点的Snort 422

19.6让Snort按照我们的要求工作 423

19.6.1 Snort规则基础 424

19.6.2当检测到可能的风险时,Snort如何处理 424

19.6.3如何检测不同的协议 425

19.6.4如何匹配IP地址与端口号 425

19.6.5如何按照数据的流动方向检测风险 425

19.6.6对数据包进行分析检测——Snort核心 425

19.6.7最基本的分析检测规则 425

19.6.8分析检测数据包中的网络信息 426

19.6.9分析检测数据包中的内容信息 427

19.6.10在分析检测完成后做更多的事情 427

19.7保证Snort的正常运行 428

19.8参考资料 428

第20章 远程登录服务器——OpenSSH 429

20.1什么是安全的远程登录服务? 429

20.2获取与安装OpenSSH 430

20.3配置OpenSSH 431

20.4配置OpenSSH使用Public Key (RSA/DSA)证书认证 432

20.4.1在OpenSSH服务器上配置Public Key认证 432

20.4.2在Linux客户端上配置Public Key认证 432

20.4.3在Windows客户端上配置Public Key认证之SSH Secure Shell 433

20.4.4在Windows客户端上配置Public Key认证之SecureCRT 436

20.5让SSH为我们转接服务 438

20.6安全工具的安全措施 439

第21章 版本控制服务器——CVS 441

21.1版本控制工具的发展简史 441

21.2 CVS简介 442

21.3获取和安装CVS 442

21.4 CVS服务器结构 445

21.4.1什么是CVS仓库(Repository) 446

21.4.2那什么又是CVS模块(Module) 447

21.4.3 CVS如何组织、管理文件和目录 447

21.5使用CVS管理我们的源代码 447

21.5.1使用用户名、密码登录到CVS服务器 448

21.5.2创建第一个新项目 449

21.5.3从项目中提取源代码文件 450

21.5.4把本地的文件更新到远程CVS服务器中 451

21.5.5把远程CVS服务器的文件更新到本地 451

21.5.6添加本地文件到远程CVS服务器 452

21.5.7同时从本地和远程删除文件 452

21.5.8同时从本地和远程添加与删除目录 453

21.5.9从本地和远程移动文件与目录 453

21.5.10怎样检查一个文件在本地跟远程之间的区别 454

21.6 CVS权限管理 455

21.6.1使用CVS专用的用户名/密码文件管理认证 455

21.6.2使用系统用户管理CVS认证 456

第22章 源代码管理服务器——Subversion 458

22.1什么是Subversion? 458

22.2 Subversion的发展 458

22.3 Subversion与CVS的主要特性比较 458

22.4获取和安装Subversion 459

22.5 Subversion版本仓库规划 460

22.6创建Subversion版本仓库 461

22.7 Subversion认证与权限 463

22.7.1建立基于svnserve的Subversion网络服务 464

22.7.2 svnserve模式下的用户认证 465

22.7.3 svnserve模式下的权限控制 466

22.7.4控制每个目录的访问权限 467

22.7.5建立基于Apache的Subversion网络服务 468

22.7.6 Apache模式下的用户认证 469

22.8 Subversion版本仓库管理 470

22.8.1 Subversion版本仓库与事务树概念 470

22.8.2 Subversion如何存储和组织数据 470

22.8.3什么是Subversion钩子? 471

22.9 Subversion源代码管理 474

22.10常用的Subversion管理命令 474

22.10.1在服务器上查看当前的版本仓库内容——svnlook 474

22.10.2在服务器上管理版本库——svnadmin 476

22.10.3在服务器上直接导出、导入Subversion数据——svndumpfilter 476

第23章 备份与同步服务 479

23.1数据备份方式概述及Linux上的数据备份工具 479

23.2何时备份?备份什么?备份到哪儿?——浅谈备份策略 480

23.2.1如何定义自己的备份级别 480

23.2.2我应该把数据备份到哪里? 480

23.2.3我应该什么时候备份? 481

23.2.4多长时间备份一次合适? 481

23.2.5把这些备份因素综合起来 481

23.3本地文件备份 481

23.3.1 tar基本用法 482

23.3.2使用tar备份 486

23.4本地磁盘备份 487

23.5远程文件备份 488

23.5.1获取和安装rsync 489

23.5.2配置rsync服务器 489

23.5.3启动与检查rsync服务器 490

23.5.4配置需要验证的rsync服务器 491

23.5.5 rsync应用示例——日志的备份处理 493

第五部分 Linux高级应用服务器 495

第24章 Java容器——Tomcat 495

24.1 Serviet简介 495

24.2 Tomcat简介 496

24.3 Tomcat如何工作 496

24.4获取和安装TOmcat 497

24.5让Tomcat运行起来 499

24.6 Tomcat是如何组织它的目录的 500

24.7配置Tomcat 500

24.8管理和配置Tomcat用户及权限 504

24.9怎样通过浏览器管理Tomcat 505

24.10在Tomcat上部署Java Web应用 507

第25章 Java容器——Resin 509

25.1 Resin简介 509

25.2获取和安装Resin 509

25.3运行Resin 510

25.3.1独立的Resin 510

25.3.2与Apache结合的Resin 511

25.4管理Resin 513

25.4.1以浏览器方式管理Resin 513

25.4.2以配置文件方式管理Resin 514

25.4.3在Resin部署我们的应用 515

第26章 数据库服务器——MySQL 517

26.1什么是SQL? 517

26.2什么是MySQL? 518

26.3 MySQL的获取和安装 519

26.4让MySQL跑起来 520

26.5 什么是MySQL数据存储引擎?我应该用哪种存储引擎? 523

26.5.1 MySQL中的数据存储引擎 523

26.5.2如何在MySQL中使用不同的数据存储引擎 524

26.6使用MySQL 525

26.6.1从终端访问MySQL 525

26.6.2对MySQL进行一些基本的操作 526

26.6.3从外部导入数据到MySQL 529

26.7配置MySQL 531

26.8优化MySQL的性能 532

26.9建立强大的数据库集群——MySQL集群介绍 534

26.9.1 MySQL集群的结构 534

26.9.2安装集群中的所有MySQL服务器 535

26.9.3配置MySQL集群 535

26.9.4启动MySQL集群 537

26.9.5检查MySQL集群是否正常工作 538

第27章 数据库服务器——Oracle 540

27.1 Oracle的发展历程 540

27.2在Linux上安装Oracle 9i 541

27.2.1安装Oracle前的准备工作 541

27.2.2小心翼翼的安装Oracle 9i 543

27.2.2.1启动Oracle安装管理器 543

27.2.2.2确认Oracle安装的基本目录 545

27.2.2.3确定Oracle UNIX权限组 546

27.2.2.4安装过程中执行第一次root脚本 547

27.2.2.5确定Oracle安装文件位置和目标目录 547

27.2.2.6安装哪些Oracle产品 548

27.2.2.7确认Oracle数据库安装类型 548

27.2.2.8自定义安装Oracle 549

27.2.2.9确认Oracle其他组件的安装位置 549

27.2.2.10确认Oracle安装程序的权限 550

27.2.2.11安装完成后,是否创建Oracle数据库 550

27.2.2.12确认安装细节并开始Oracle的安装 551

27.2.2.13完成安装并执行第二次root脚本 552

27.2.3 Oracle 9i安装后的管理 552

27.3管理Oracle 9i 557

27.3.1增强Oracle终端界面的友好程度 557

27.3.2 Oracle的启动过程 558

27.3.3怎样安全的关闭Oracle 560

27.3.4配置Oracle的网络接口 561

27.3.5配置Oracle TNS网络 562

第28章 集群服务器——LVS 564

28.1什么是计算机集群? 564

28.2那什么又是LVS? 564

28.3 LVS的工作原理 565

28.4 LVS的工作模式 565

28.5如何部署LVS? 566

28.6 LVS的算法解析 567

28.7如何管理LVS? 568

28.7.1管理LVS的虚拟服务 568

28.7.2管理LVS的真实服务器 569

28.7.3查看和管理当前的LVS配置 570

第29章 Linux双机 571

29.1什么是双机? 571

29.2如何用Linux实现双机? 571

29.3 Heartbeat出场基于Linux的高可用性集群 571

29.4获取和安装Heartbeat 572

29.5通过Heartbeat部署HA 573

29.5.1 ha.cf 573

29.5.2 haresources 574

29.6启动HA 575

第六部分 发展中的Linux服务器 579

第30章 配置管理服务器——GNU cfengine 579

30.1什么是配置管理?我需要配置管理吗? 579

30.2什么是cfengine? 580

30.3 cfengine系统架构和流程 582

30.4获取与安装cfengine 582

30.5建立配置管理体系 584

30.6学会与cfengine沟通 588

30.7 cfengine配置文档结构 589

30.8使用cfengine的变量 591

30.8.1在cfengine管理中心进程中使用的变量 592

30.8.2在cfengine各个模块中都可以使用的变量 593

30.9 cfengine到底能为我们做什么? 595

30.9.1控制cfengine管理过程中的变量 596

30.9.2控制cfengine管理过程中的类 597

30.10让cfengine帮助我们管理整个系统 599

30.10.1让cfengine为我们复制需要的文件 599

30.10.2让cfengine帮我们管理系统网络 600

30.10.3让cfengine替我们管理磁盘 601

30.10.4 cfengine如何操作目录与文件 602

30.10.5禁止或者恢复系统文件 603

30.10.6编辑系统文件 603

30.10.6.1添加与插入指令 604

30.10.6.2替换指令 604

30.10.6.3编组指令 605

30.10.6.4注释指令 605

30.10.6.5删除指令 606

30.10.6.6其他指令 608

30.10.7让cfengine管理系统的链接 609

30.10.8监视和管理系统中的进程 611

30.10.9自动安装、删除和升级系统中的软件包 611

30.10.10通过cfengine自动执行指定的命令 613

30.11 看看如何真正让cfengine替我们干活 614

30.11.1建立基本配置文件 614

30.11.2建立配置管理文件 615

30.11.3在被管理的服务器上自动设定crontab 616

30.11.4在被管理的服务器上自动安装软件 617

30.11.5自动监控被管理服务器上的进程 618

30.11.6保证被管理服务器的系统文件一致 618

30.12如何解决cfengine管理架构中的问题 619

第31章 流媒体服务器——Helix Server 620

31.1 Linux下的流媒体服务器 620

31.2 RealNetworks Helix DNA Server的获取和安装 621

31.3启动Helix DNA Server 622

31.4让Helix DNA Server为我们提供服务 624

31.5管理Helix DNA Server 624

31.5.1服务器设置 625

31.5.2安全设置 626

31.5.3日志与监控 627

第32章 vol p服务器——Asterisk 628

32.1用LInux实现免费电话大餐 628

32.2用Asterisk提供免费的Vo1P服务 628

32.3获取Asterisk及其相关软件 629

32.4 Asterisk及其相关软件的安装 630

32.5 Asterisk硬件及其相关配置 635

32.5.1 Asterisk硬件板卡信令 635

32.5.2 Asterisk信令协议 636

32.5.3 Asterisk板卡配置实例 636

32.6 Asterisk软件基本配置 637

32.6.1可选的数据源配置 637

32.6.2 Asterisk基本配置 638

32.7我的第一台电话交换机——基本的分机、出入路由和DIalPlan 639

32.8与其他VoIP网络互联 641

32.8.1与其他Asterisk互联 641

32.8.2与公共volp网络相连 644

32.9 Asterisk DialPlan拨号方案初探 644

32.10更多有用的DialPlan 647

32.11Asterisk Realtlme 650