简介
本书是国内资深Linux系统管理专家十余年系统管理经验的总结。本书
注重实际应用,但又不唯实用论。本书详细的阐述了在Linux下构建各种高
级服务系统的方法,特别针对系统管理员日常管理工作中最常见的困惑、
最需要解决的问题,做了细致的分析和解说,从最初步的安装,到系统的
安全和优化,以及各种服务的搭建和管理。各个层次的系统管理员都能够
从本书中获取有益的信息,并学习到有效的管理方法和先进的管理思想。
目录
目录
第一部分 Linux基础
第1章 Linux背景介绍
1.1 那究竟什么是Linux?
1.2 Linux的起源
1.3 为什么使用Linux
1.4 Linux主要发行版的特色和特点
1.4.1 以用户群分类的Linux发行版
1.4.2 以包管理方式分类的Linux发行版
1.5 怎样选择适合我的Linux发行版?
1.6 参考资料
第2章 部署Linux
2.1 RedHat和CentOS的区别与联系
2.2 安装前我应该做好哪些工作?
2.2.1 先搞清楚我都有哪些硬件
2.2.2 安装前要了解的重点——Linux的磁盘管理方式
2.3 CentOS的安装
2.3.1 获取CentOS的安装光盘
2.3.2 启动我的计算机
2.3.3 确定CentOS的安装模式
2.3.4 选择安装过程中的语言
2.3.5 选择我的键盘布局
2.3.6 这台CentOS是拿来做什么的——配置系统安装类型
2.3.7 注意!开始对硬盘进行分区
2.3.8 配置启动管理器——由它来接管系统的启动
2.3.9 重要的一步——配置网卡和网络
2.3.10 系统安全配置
2.3.11 选择系统语言
2.3.12 设置Linux时区
2.3.13 设置系统超级用户、初始账号和密码
2.3.14 我们需要安装哪些软件包
2.3.15 终于开始安装CentOS了
2.4 Debian GNU/Linux的安装
2.4.1 为什么这么多人推荐使用Debian GNU/Linux?
2.4.2 去哪里能搞到Debian Linux安装系统?
2.4.3 启动计算机
2.4.4 确定Debian 4.0的安装模式
2.4.5 选择安装过程中的语言
2.4.6 选择我的键盘布局
2.4.7 配置网卡网络
2.4.8 对硬盘进行分区
2.4.9 设置超级用户、初始账号和密码
2.4.10 选择从哪里获取和安装Debian的软件包
2.4.11 这台Debian GNU/Linux拿来做什么——配置系统安装类型
2.4.12 完成软件安装,设置如何启动我们的系统
第3章 Linux的管理思路和系统结构
3.1 如何有效的对Linux进行管理?以Linux的思路去思考问题!
3.2 出现问题时,如何获得帮助?
3.3 关文件,一切都是文件!
3.4 关于Linux目录结构的介绍
3.4.1 Linux目录的部署方式
3.4.2 /根目录介绍
3.4.3 /etc目录介绍——注册表是多么愚蠢的配置方式
3.4.3.1 管理我的磁盘和硬件驱动
3.4.3.2 让Linux按照我的要求启动
3.4.3.3 保证用户和系统的安全
3.4.3.4 控制用户的登录行为
3.4.3.5 如何突破系统默认限制?
3.4.4 /proc目录介绍——随时了解我的系统状况
第二部分 Linux配置与管理
第4章 Linux基本配置
4.1 网络就是计算机——Linux网络设置
4.1.1 Linux如何识别我的网卡?
4.1.2 让Linux连上网——设置IP地址、子网掩码和默认路由
4.1.3 让Linux与Internet在——一起设置Linux主机名和DNS服务器
4.1.4 我习惯使用图形化网络工具配置网络
4.1.5 听说高手都使用命令行工具配置网络
4.2 Linux启动时都运行了什么,我可以控制吗?
4.3 Linux的一些基本管理方法
4.3.1 我有哪些硬件?Linux都支持吗?
4.3.1.1 检查我的计算机里都有哪些设备——lspci命令
4.3.1.2 我的Linux是如何识别这些设备的——dmesg命令
4.3.2 我安装了哪些软件?都装在什么地方了?
4.3.2.1 通过包管理系统管理软件
4.3.2.2 通过源代码方式管理软件
4.3.2.3 非包管理体系的二进制软件
4.3.3 如何有效的规划和管理存储?
4.3.4 Linux的交换分区是干嘛的——兼谈内存管理
4.3.5 如何查看和管理CPU
4.3.5.1 先把系统中的CPU找出来
4.3.5.2 Linux碰到超线程与多核CPU怎么办?
4.3.5.3 如果系统显示的CPU数量不对是怎么回事?
4.3.5.4 了解系统中的CPU工作状态
4.3.6 系统感觉很慢,怎样才能知道系统负载是否正常?
4.3.6.1 如何检查系统的平均负载?
4.3.6.2 如何检查网络负载?
4.3.6.3 如何检查磁盘负载?
4.3.7 配置我自己的Linux——Linux管理中的常见问题和窍门
4.3.7.1 什么是管道和重定向?它们有用吗?
4.3.7.2 如何定义自己的Shell?
4.3.7.3 如何把MAN手册页转化为纯文本?
4.3.7.4 现在都有哪些程序在运行?可以关闭一些程序吗?
4.3.7.5 如何知道系统打开了哪些文件?是谁打开的?为什么打开?
第5章 Linux高级配置和管理
5.1 编译系统——切软件的运行基础
5.1.1 了解编译器与操作系统的关系
5.1.2 配置如何去编译软件
5.1.3 补丁是什么?如何使用它?
5.2 内核配置、编译和部署——怎样定制自己的内核
5.2.1 先把内核从Internet上弄下来
5.2.2 编译内核前的准备工作
5.2.3 常见的内核配置选项
5.2.4 针对不同环境的内核配置
5.2.5 如何编译和安装新的内核
5.3 Java环境和JDK的部署与配置
5.3.1 JDK的下载和安装
5.3.2 JDK的环境设置
5.3.3 如何保证Java环境处于最佳状态——进程与线程
5.4 应用广泛的网络安全加密协议——SSL和TLS
5.4.1 什么是非对称密码算法?
5.4.2 那什么又是PKI和RSA?
5.4.3 SSL和TLS简介
5.4.4 在Linux上实施SSL
5.5 PAM——可植入认证模块
5.5.1 PAM是个好东西
5.5.2 PAM的认证流程
5.5.3 常见的PAM模块
5.5.4 PAM模块的参数使用
5.5.5 NSS——重要的名称服务切换
第三部分 传统的Internet服务器
第6章 DNS服务器——BIND
6.1 我们每天都在用DNS
6.2 DNS的基础概念
6.3 Linux上的DNS系统——BIND
6.4 安装BIND 9 DNS服务器
6.5 我不负责任何域名的解析,只想让我的用户查询域名更快——缓存DNS服务
6.6 我是这个域名的管理员,我要域名指向哪儿就指向哪儿——主DNS服务
6.7 一个DNS服务器看来不够,需要多台服务器都提供解析服务——辅助DNS服务
6.8 我需要协助他人进行域名解析——转发DNS服务
6.9 如何解析域名,以便让别人可以方便的发邮件给我?
6.10 DNS服务器设置好了,让大家的gnux也用我的DNS服务吧
6.10.1 让Linux按照我要求的顺序查询名字—一配置/etc/host.conf
6.10.2 指定Linux使用哪里的DNS服务器——配置/etc/resolv.conf
6.11 如何检查我的域名解析是否正确?出现问题如何解决?
6.12 如何构建安全的BIND DNS服务
6.13 大型DNS系统技术——域名解析的动态加载DLZ
6.13.1 要使用DLZ,在编译BIND时就要让它支持
6.13.2 准备DLZ的数据来源
6.13.3 配置BIND使用DLZ
6.13.4 进行DLZ形式的DNS解析
第7章 电子邮件服务器——qmail
7.1 什么是电子邮件?
7.2 Linux下有哪些电子邮件服务器?它们都有哪些优缺点?
7.3 电子邮件服务工作细节——POP3、SMTP命令简介
7.3.1 SMTP协议的工作流程和命令
7.3.2 POP3协议的工作流程和命令
7.3.3 UNIX下的邮件格式
7.4 为什么选择qmail?
7.5 获取和安装qmail
7.5.1 获取qmail
7.5.2 获取qmail补丁
7.5.3 准备安装qmail
7.5.4 安装qmail
7.5.5 如果要让qmail支持认证,得有一个认证程序——checkpassword
7.5.6 协助qmail运行的守护程序——tcpserver
7.5.7 另一个qmail守护程序——daemontools
7.5.8 可以让用户和域管理变得更强大、更方便的程序——vpopmail
7.6 qmail是如何配置的
7.7 先让qmail运行起来看看
7.8 让qmail良好运行——使用daemontools控制qmail的运行
7.8.1 把qmail设置为daemontools的一个服务
7.8.2 为qmail设置附加的日志服务
7.8.3 控制daemontools服务的启动、停止和状态
7.8.4 一个完整的daemontools控制脚本
7.9 我现有的认证方式五花八门,怎样让qmail支持我的认证方式?
7.10 管理qmail域、虚拟域、用户和别名
7.10.1 用户管理
7.10.2 邮件别名管理
7.10.3 虚拟域管理
7.11 如果我使用vpopmail,那要如何管理qmail的虚拟域和用户
7.11.1 当vpopmail使用文件系统存放用户信息时
7.11.2 当vpopmail使用MySQL数据库存放用户信息时
7.11.3 使用vpopmail时管理qmail的域
7.11.3.1 使用vadddomain添加域
7.11.3.2 使用vdeldomain删除域
7.11.3.3 使用vmoddomain修改域
7.11.4 使用vpopmail时管理qmail的用户
7.11.4.1 使用vadduser添加用户
7.11.4.2 使用vdeluser删除用户
7.11.4.3 使用vmoduser修改用户
7.11.5 使用vpopmail时管理qmail的别名
7.12 我不欢迎有的人给我发邮件,怎样在服务器上直接过滤掉——maildrop上场
7.12.1 获取和安装maildrop
7.12.2 整合qmail和maildrop,让maildrop帮我们过滤不想要的邮件
7.13 有了邮件过滤,还要反垃圾邮件吗?
7.13.1 专业的反垃圾邮件系统——Spam-Assassin
7.13.2 唯一比垃圾邮件更讨厌的,就是带病毒的垃圾邮件——Qmail病毒扫描方案
7.13.3 让这些专业系统为qmail服务——安装qmail-scanner
7.13.4 使用qmail-scanne
第8章 Maail服务器——Postfix
8.1 我们还需要另一套邮件服务器系统吗?
8.2 Postfix简介
8.3 Postfix架构与工作流程
8.3.1 Postfix如何接收邮件
8.3.2 Postfix如何转发邮件
8.3.3 Postfix主要的配置文件和命令
8.4 获取和安装Postfix
8.4.1 从源代码开始安装Postfix
8.4.2 以二进制方式安装Postfix
8.5 配置Postfix
8.5.1 让Postfix跑起来
8.5.2 让Postfix支持SMTP认证
8.6 控制我的Postfix服务器,让它按我的要求工作
8.6.1 控制客户端如何访问我的Postfix
8.6.2 利用Postfix自身的能力防范垃圾邮件
8.6.3 调整Postfix的性能跟稳定性
8.7 Postfix也需要邮件过滤
8.7.1 再次见到强大的maildrop邮件过滤系统
8.7.2 让maildrop帮助Postfix过滤邮件
8.7.3 还是专业的反垃圾邮件——Spam-Assassin
8.7.4 让Postfix、maildrop和Spam-Assassin一起工作
8.7.5 为客户提供杀毒服务——Postfix病毒扫描方案
8.7.6 整合Postfix、maildrop和ClamAV
第9章 POP3与IMAP邮件服务器
9.1 邮件访问协议——IMAP简介
9.2 强大而复杂的IMAP命令
9.3 另一个邮件领域的强者——Courier邮件服务器
9.3.1 灵活、独立的基础认证服务——Courier authlib
9.3.2 安装Courier authlib
9.3.3 让Courier authlib为我们提供认证服务
9.4 构建Courier POP3与IMAP服务
9.4.1 安装Courier POP3/IMAP服务器
9.4.2 配置Courier POP3服务
9.4.3 启动Courier POP3服务并进行测试
9.4.4 配置Courier IMAP服务
9.4.5 启动Courier IMAP服务并测试一下
9.4.6 构建安全的Courier POP3与IMAP服务
9.5 邮件系统结构与角色总结
第10章 WWW服务器——Apache
10.1 为什么WWW如此流行?
10.2 世界第一的WWW服务器——Apache
10.3 我应该选择什么版本……Apache 1.3、2.0和2.2
10.4 Apache的安装
10.5 在Apache中整合PHP——最流行的Web动态语言
10.6 在Apache中整合Perl——曾经的CGI王者
10.7 在Apache中整合Tomcat——新兴的Java容器组合
10.8 在Apache中整合SSL——必要的安全措施
10.9 让我们来了解一下Apache的配置文件
10.9.1 配置Apache服务器的工作方式
10.9.2 如何控制Apache的日志输出
10.9.3 我要如何添加、配置Apache的模块?
10.9.4 如何配置Apache以支持多个网站?
10.10 Internet很危险滴——用SSL加密我们的WWW服务
10.10.1 向用户证明自己是真正的服务提供者——基本的SSL认证配置
10.10.2 让用户证明自己是合法的——双向的SSL认证配置
10.11 为不同用户提供不同的访问权限——Apache认证与授权
10.11.1 最简单、易用的认证——纯文本用户认证
10.11.2 和其他通用认证方式结合——使用LDAP目录作为数据来源的用户认证
第11章 FTP服务器——wu-ftpd、vsftpd和ProFTPD
11.1 FTP服务器的比较和选择
11.2 强大的FTP服务器——wu-ftpd
11.2.1 wu-ftpd的获取和安装
11.2.2 配置wu-ftpd
11.2.3 控制用户访问
11.2.3.1 显示不同的提示信息
11.2.3.2 记录日志
11.3 安全的FTP服务器——vsftpd
11.3.1 vsftpd的获取和安装
11.3.2 启动和停止vsftpd
11.4 vsftpd的基本配置
11.4.1 让FTP服务器也使用SSL加密
11.4.2 配置vsftpd日志
11.4.3 如何控制用户对FTP服务器的访问
11.4.4 定制我的vsftpd
11.4.5 vsftpd对不同FTP工作模式的支持
11.4.6 节省网络资源——控制用户超时
11.4.7 调整vsftpd的性能
11.5 vsftpd用户的管理
11.5.1 为公众提供服务——那就使用匿名用户吧
11.5.2 为已经存在的用户提供服务——只能使用本地用户了
11.5.3 控制用户登录到我的vsftpd服务器
11.6 获取和安装灵活的IFTP服务器——ProFrPD
11.7 ProFTPD的基本配置
11.7.1 配置一台最简单的ProFTPD
11.7.2 配置允许匿名访问的ProFTPD
11.7.3 在一台服务器上提供多个FTP服务——ProFTPD虚拟主机
11.8 ProFTPD权限指令解析
11.9 相关资源
第12章 时间服务器——NTPD
12.1 先了解一下Linux时间和时区
12.2 在Linux下架设NTP服务器
12.2.1 获取和安装NTP服务器
12.2.2 NTP服务器进程ntpd的基本配置
12.2.3 NTP服务器OK了,现在可以让客户端使用我的NTP服务了
12.3 配置我的NTP服务器
12.3.1 告诉我的NTP服务器如何去同步时间
12.3.2 我只想为特定网络中的用户提供NTP服务
12.4 怎样确保只有经过认证的用户,才能访问我的NTP服务?
12.5 一个基本的NTP配置实例
第四部分 办公环境中的Linux服务器
第13章 目录服务器——OpenLDAP存在的意义
13.1 什么是LDAP目录?
13.1.1 LDAP目录服务发展简史
13.1.2 LDAP目录服务的特点
13.1.3 什么是LDAP目录树?
13.2 LDAP服务器介绍
13.2.1 0penLDAP的获取
13.2.2 怎样编译OpenLDAP
13.2.3 启动和关闭OpenLDAP
13.3 配置我的第一台OpenLDAP,让它run起来再说
13.4 管理OpenLDAP数据
13.4.1 从头开始添加LDAP数据到OpenLDAP服务器
13.4.2 从现有的OpenLDAP服务器中检索和获取数据
13.4.3 添加、修改和删除现有的LDAP数据
13.5 0penLDAP如何组织和管理数据——OpenLDAP模型管理
13.5.1 什么是LDAP模型?
13.5.2 0penLDAP模型的存储和组织
13.5.3 0penLDAP模型的定义
13.5.4 我的需求比较特殊,能否定义自己的LDAP模型?
13.6 为不同用户提供不同的访问权限
13.6.1 什么是访问控制列表?——LDAP ACL介绍
13.6.2 用ACL来控制用户的访问权限
13.7 LDAP数据很重要,所以要特别注意安全管理
13.7.1 使用ACL机制来提高OpenLDAP的安全性
13.7.2 使用SSL来提高OpenLDAP的安全性
13.7.3 使用SASL进行用户认证
13.8 为用户提供分布式、高效的目录服务——OpenLDAP目录集群
13.8.1 0penLDAP是如何实现集群的——slurpd复制简介
13.8.2 配置我的OpenLDAP集群
13.8.3 让LDAP为Linux主机提供认证
第14章 Windows文件服务器——Samba
14.1 一般办公环境需要Windows服务器吗——Samba的起源
14.2 微软网络共享协议的发展
14.3 获取和安装Samba
14.4 Samba是如何工作的——Samba工作方式和体系介绍
14.5 Samba的基本配置
14.6 Samba认证和安全机制
14.6.1 Windows与Linux用户映射
14.6.2 灵活的Samba用户权限
14.6.2.1 一些常见的Samba权限配置
14.6.2.2 配置一个大家都能写、但不能删除别人文件的目录
14.7 有趣的Samba变量
14.8 无限制扩展Samba的能力——虚拟文件系统
第15章 动态计算机配置服务器——dhcpd
15.1 什么是动态计算机配置?
15.2 简化网络管理员的工作——DHCP与BOOTP工作原理
15.3 几种常见的DHCP地址管理方式
15.4 Linux下的DHCP服务器
15.4.1 获取和安装dhcp
15.4.2 配置我的第一台dhcp服务器
15.5 DHCP协议是如何工作的——DHCP服务器与客户端指令详解
15.5.1 DHCP服务器如何告诉别人自己可以提供IP地址?
15.5.2 dhcp客户端怎样找到网络中的DHCP服务器?
15.6 DHCP服务器配置详解
15.6.1 让dhcpd按照我的要求运行——全局配置
15.6.2 让dhcpd为指定的网络提供服务——子网配置
15.6.3 有一些特殊用户需要特殊对待——单个客户配置
第16章 防火墙和IP伪装
16.1 路由器是如何工作的?我们也能DIY专业的路由器吗?
16.2 用Linux实现一个基本的路由器
16.3 什么是包过滤——Linux NetFilter基础
16.4 怎样让内部用户访问外部网络——NetFilter之伪装
16.5 怎样让外部用户访问内部网络——NetFilter之重定向
16.6 开始强大的Iptables之旅吧
16.6.1 iptables为何如此强大——它使用模块扩展自己的能力
16.6.2 什么是iptables的表、链和规则?
16.6.3 如何让iptables显示我们需要的信息?
16.6.4 如何让iptables区分对待不同的服务、行为和数据?
16.6.5 如何更精密的控制iptables匹配?
16.6.6 最后,如何处理这些服务、行为和数据?
第17章 代理服务器——Squid和Socks5
17.1 理服务器的原理和机制
17.1.1 如果用户需要通过我们的代理访问Internet
17.1.2 如果用户需要通过我们的代理访问我们内部的Web服务器
17.2 Linux下常用代理服务器软件介绍
17.2.1 Squid
17.2.2 Socks5
17.2.3 mod_proxy
17.3 获取和安装SquM
17.3.1 获取Squid
17.3.2 编译和安装Squid
17.4 Squid基本配置
17.4.1 让Squid为用户提供访问Internet的代理服务
17.4.2 让用户感觉不到自己在使用代理上网——把Squid与网关结合起来提供透明代理服务
17.4.3 用Squid为外部用户提供访问我们自己的Web服务器的代理服务
17.5 控制哪些用户、如何访问我们的Squid
17.6 要求用户证明自己的身份后才能访问我们的Squid代理
17.6.1 使用最简单的NCSA方式验证用户
17.6.2 使用常见的Windows NTLM方式验证用户
17.6.3 使用MySQL数据库验证用户
17.6.4 使用1DAP验证用户
17.7 调整Squid性能
17.7.1 优化Squid的网络
17.7.2 配置Squid的缓存
17.7.3 调整Squid的缓存对象
17.7.4 扩展Squid的功能
17.7.5 控制代理用户超时与网络超时
17.7.6 让Squid配合我们进行管理
17.7.7 Squid的一些其他配置
17.8 管理Squid的日志
17.9 Squid日志的分析
17.10 强大的代理服务网络——Squld代理服务器集群
17.10.1 什么是Squid代理服务器集群
17.10.2 在Squid中配置代理服务器集群
17.11 socks5代理服务器
17.11.1 获取和安装socks5代理服务器
17.11.2 配置一台基本的socks5代理服务器
17.11.3 更多的socks5配置选项
17.12 参考资料
第18章 拨号和VPN服务器
18.1 公共网络上的私有网络——什么是虚拟专网VPN?
18.2 基于SSL的安全虚拟专网——SSL VPN
18.3 Linux下的VPN和SSL VPN介绍
18.4 搭建Linux下的VPN服务器
18.4.1 获取和安装PPTP服务器
18.4.2 配置PPTP服务器
18.4.3 启动和管理PPTP VPN服务
18.5 搭建Linux下的SSL VPN服务器
18.5.1 获取和安装OpenVPN
18.5.2 配置SSL VPN服务
18.5.3 使用SSL VPN服务
第19章 入曼佥测服务器——Snort
19.1 什么是入侵检测,什么是Snort
19.1.1 网络中的便衣——什么是入侵检测
19.1.2 什么是Snort
19.2 部署Snort
19.2.1 网络入侵检测系统的关键——设计IDS网络部署
19.2.2 获取和安装Snort
19.3 用作网络嗅探器的Snort
19.4 另一种常见嗅探器——tcpdump
19.5 用作IDS节点的Snort
19.6 让Snort按照我们的要求工作
19.6.1 Snort规则基础
19.6.2 当检测到可能的风险时,Snort如何处理
19.6.3 如何检测不同的协议
19.6.4 如何匹配IP地址与端口号
19.6.5 如何按照数据的流动方向检测风险
19.6.6 对数据包进行分析检测——Snort核心
19.6.7 最基本的分析检测规则
19.6.8 分析检测数据包中的网络信息
19.6.9 分析检测数据包中的内容信息
19.6.10 在分析检测完成后做更多的事情
19.7 保证Snort的正常运行
19.8 参考资料
第20章 远程登录服务器——OpenSSH
20.1 什么是安全的远程登录服务?
20.2 获取与安装OponSSH
20.3 配置OpenSSH
20.4 配置OpenSSH使用Public Key(RSA/DSA)证书认证
20.4.1 在OpenSSH服务器上配置Public Key认证
20.4.2 在Linux客户端上配置Public Key认证
20.4.3 在Windows客户端上配置Public Key认证之SSH Secure Shell
20.4.4 在Windows客户端上配置Public Key认证之SecureCRT
20.5 让SSH为我们转接服务
20.6 安全工具的安全措施
第21章 版本控制服务器——CVS
21.1 版本控制工具的发展简史
21.2 CVS简介
21.3 获取和安装CVS
21.4 CVS服务器结构
21.4.1 什么是CVS仓库(Repository)
21.4.2 那什么又是CVS模块(Module)
21.4.3 CVS如何组织、管理文件和目录
21.5 使用CVS管理我们的源代码
21.5.1 使用用户名、密码登录到CVS服务器
21.5.2 创建第一个新项目
21.5.3 从项目中提取源代码文件
21.5.4 把本地的文件更新到远程CVS服务器中
21.5.5 把远程CVS服务器的文件更新到本地
21.5.6 添加本地文件到远程CVS服务器
21.5.7 同时从本地和远程删除文件
21.5.8 同时从本地和远程添加与删除目录
21.5.9 从本地和远程移动文件与目录
21.5.10 怎样检查一个文件在本地跟远程之间的区别
21.6 CVS权限管理
21.6.1 使用CVS专用的用户名,密码文件管理认证
21.6.2 使用系统用户管理CVS认证
第22章 源代码管理服务器——Subversion
22.1 什么是Subversion?
22.2 Subversion的发展
22.3 Subversion与CVS的主要特性比较
22.4 获取和安装Subversion
22.5 Subversion版本仓库规划
22.6 创建Subversion版本仓库
22.7 Subversion认证与权限
22.7.1 建立基于svnserve的Subversion网络服务
22.7.2 svnserve模式下的用户认证
22.7.3 svnserve模式下的权限控制
22.7.4 控制每个目录的访问权限
22.7.5 建立基于Apache的Subversion网络服务
22.7.6 Apache模式下的用户认证
22.8 Subversion版本仓库管理
22.8.1 Subversion版本仓库与事务树概念
22.8.2 Subversion如何存储和组织数据
22.8.3 什么是Subversion钩子?
22.9 Subversion源代码管理
22.10 常用的Subversion管理命令
22.10.1 在服务器上查看当前的版本仓库内容——svnlook
22.10.2 在服务器上管理版本库——svnadmin
22.10.3 在服务器上直接导出、导入Subverion数据——svndumpflter
第23章 备份与同步服务
23.1 数据备份方式概述及Linux上的数据备份工具
23.2 何时备份?备份什么?备份到哪儿?——浅谈备份策略
23.2.1 如何定义自己的备份级别
23.2.2 我应该把数据备份到哪里?
23.2.3 我应该什么时候备份?
23.2.4 多长时间备份一次合适?
23.2.5 把这些备份因素综合起来
23.3 本地文件备份
23.3.1 tar基本用法
23.3.2 使用tar备份
23.4 本地磁盘备份
23.5 远程文件备份
23.5.1 获取和安装rsync
23.5.2 配置rsync服务器
23.5.3 启动与检查rsync服务器
23.5.4 配置需要验证的rsync服务器
23.5.5 rsync应用示例——日志的备份处理
第五部分 Linux高级应用服务器
第24章 Java容器——Tomcat
24.1 Servlet简介
24.2 Tomcat简介
24.3 Tomcat如何工作
24.4 获取和安装Tomcat
24.5 让Tomcat运行起来
24.6 Tomcat是如何组织它的目录的
24.7 配置Tomcat
24.8 管理和配置Tomcat用户及权限
24.9 怎样通过浏览器管理Tomcat
24.10 在Tomcat上部署Java Web应用
第25章 Java容器——Resin
25.1 Resin简介
25.2 获取和安装Resin
25.3 运行Resin
25.3.1 独立的Resin
25.3.2 与Apache结合的Resin
25.4 管理Resin
25.4.1 以浏览器方式管理Resin
25.4.2 以配置文件方式管理Resin
25.4.3 在Resin部署我们的应用
第26章 数据库服务器——MySQL
26.1 什么是SQL?
26.2 什么是MySQL?
26.3 MySQL的获取和安装
26.4 让MySQL跑起来
26.5 什么是MySQL数据存储引擎?我应该用哪种存储引擎?
26.5.1 MySQL中的数据存储引擎
26.5.2 如何在MySQL中使用不同的数据存储引擎
26.6 使用MySQL
26.6.1 从终端访问MySQL
26.6.2 对MySQL进行一些基本的操作
26.6.3 从外部导入数据到MySQL
26.7 配置MySQL
26.8 优化MySQL的性能
26.9 建立强大的数据库集群——MySQL集群介绍
26.9.1 MySQL集群的结构
26.9.2 安装集群中的所有MySQL服务器
26.9.3 配置MySQL集群
26.9.4 启动MySQL集群
26.9.5 检查MySQL集群是否正常工作
第27章 数据库服务器——Oracle
27.1 0racle的发展历程
27.2 在Linux上安装Oracle 9i
27.2.1 安装Oracle前的准备工作
27.2.2 小心翼翼的安装Oracle 9i
27.2.2.1 启动Oracle安装管理器
27.2.2.2 确认Oracle安装的基本目录
27.2.2.3 确定Oracle UNIX权限组
27.2.2.4 安装过程中执行第一次root脚本
27.2.2.5 确定Oracle安装文件位置和目标目录
27.2.2.6 安装哪些Oracle产品
27.2.2.7 确认Oracle数据库安装类型
27.2.2.8 自定义安装Oracle
27.2.2.9 确认Oracle其他组件的安装位置
27.2.2.10 确认Oracle安装程序的权限
27.2.2.11 安装完成后,是否创建Oracle数据库
27.2.2.12 确认安装细节并开始Oracle的安装
27.2.2.13 完成安装并执行第二次root脚本
27.2.3 Oracle 9i安装后的管理
27.3 管理Oracle 9i
27.3.1 增强Oracle终端界面的友好程度
27.3.2 0racle的启动过程
27.3.3 怎样安全的关闭Oracle
27.3.4 配置Oracle的网络接口
27.3.5 配置Oracle TNS网络
第28章 集群服务器——LVS
28.1 什么是计算机集群?
28.2 那什么又是LVS?
28.3 LVS的工作原理
28.4 LVS的工作模式
28.5 如何部署LVS?
28.6 LVS的算法解析
28.7 如何管理LVS?
28.7.1 管理LVS的虚拟服务
28.7.2 管理LVS的真实服务器
28.7.3 查看和管理当前的LVS配置
第29章 Linux双机
29.1 什么是双机?
29.2 如何用Linux实现双机?
29.3 Heartbeat出场基于Linux的高可用性集群
29.4 获取和安装Heartbeat
29.5 通过Heartbeat部署HA
29.5.1 ha.Cf
29.5.2 haresources
29.6 启动HA
第六部分 发展中的Linux服务器
第30章 配置管理服务器——GNU cfengine
30.1 什么是配置管理?我需要配置管理吗?
30.2 什么是cfengine?
30.3 cfengine系统架构和流程
30.4 获取与安装cfengine
30.5 建立配置管理体系
30.6 学会与cfengine沟通
30.7 cfengine配置文档结构
30.8 使用cfengine的变量
30.8.1 在cfengine管理中心进程中使用的变量
30.8.2 在cfengine各个模块中都可以使用的变量
30.9 cfengine到底能为我们做什么?
30.9.1 控制cfengine管理过程中的变量
30.9.2 控制cfengine管理过程中的类
30.10 让cfengine帮助我们管理整个系统
30.10.1 让cfengine为我们复制需要的文件
30.10.2 让cfengine帮我们管理系统网络
30.10.3 让cfengine替我们管理磁盘
30.10.4 cfengine如何操作目录与文件
30.10.5 禁止或者恢复系统文件
30.10.6 编辑系统文件
30.10.6.1 添加与插入指令
30.10.6.2 替换指令
30.10.6.3 编组指令
30.10.6.4 注释指令
30.10.6.5 删除指令
30.10.6.6 其他指令
30.10.7 让cfengine管理系统的链接
30.10.8 监视和管理系统中的进程
30.10.9 自动安装、删除和升级系统中的软件包
30.10.10 通过cfengine自动执行指定的命令
30.11 看看如何真正让cfengine替我们干活
30.11.1 建立基本配置文件
30.11.2 建立配置管理文件
30.11.3 在被管理的服务器上自动设定crontab
30.11.4 在被管理的服务器上自动安装软件
30.11.5 自动监控被管理服务器上的进程
30.11.6 保证被管理服务器的系统文件一致
30.12 如何解决cfengine管理架构中的问题
第31章 流媒体服务器——Helix Server
31.1 Linux下的流媒体服务器
31.2 RealNetworks Helix DNA Server的获取和安装
31.3 启动Helix DNA Server
31.4 让Helix DNA Server为我们提供服务
31.5 管理Helix DNA Server
31.5.1 服务器设置
31.5.2 安全设置
31.5.3 日志与监控
第32章 VoIP服务器——Asterisk
32.1 用Linux实现免费电话大餐
32.2 用Asterisk提供免费的VoIP服务
32.3 获取Asterisk及其相关软件
32.4 Asterisk及其相关软件的安装
32.5 Asterisk硬件及其相关配置
32.5.1 Asterisk硬件板卡信令
32.5.2 Asterisk信令协议
32.5.3 Asterisk板卡配置实例
32.6 Asterisk软件基本配置
32.6.1 可选的数据源配置
32.6.2 Asterisk基本配置
32.7 我的第一台电话交换机——基本的分机、出入路由和DialPlan
32.8 与其他VoIP网络互联
32.8.1 与其他Asterisk互联
32.8.2 与公共VoIP网络相连
32.9 Asterisk DialPlan拨号方案初探
32.10 更多有用的DialPlan
32.11 Asterisk Realtime
第一部分 Linux基础
第1章 Linux背景介绍
1.1 那究竟什么是Linux?
1.2 Linux的起源
1.3 为什么使用Linux
1.4 Linux主要发行版的特色和特点
1.4.1 以用户群分类的Linux发行版
1.4.2 以包管理方式分类的Linux发行版
1.5 怎样选择适合我的Linux发行版?
1.6 参考资料
第2章 部署Linux
2.1 RedHat和CentOS的区别与联系
2.2 安装前我应该做好哪些工作?
2.2.1 先搞清楚我都有哪些硬件
2.2.2 安装前要了解的重点——Linux的磁盘管理方式
2.3 CentOS的安装
2.3.1 获取CentOS的安装光盘
2.3.2 启动我的计算机
2.3.3 确定CentOS的安装模式
2.3.4 选择安装过程中的语言
2.3.5 选择我的键盘布局
2.3.6 这台CentOS是拿来做什么的——配置系统安装类型
2.3.7 注意!开始对硬盘进行分区
2.3.8 配置启动管理器——由它来接管系统的启动
2.3.9 重要的一步——配置网卡和网络
2.3.10 系统安全配置
2.3.11 选择系统语言
2.3.12 设置Linux时区
2.3.13 设置系统超级用户、初始账号和密码
2.3.14 我们需要安装哪些软件包
2.3.15 终于开始安装CentOS了
2.4 Debian GNU/Linux的安装
2.4.1 为什么这么多人推荐使用Debian GNU/Linux?
2.4.2 去哪里能搞到Debian Linux安装系统?
2.4.3 启动计算机
2.4.4 确定Debian 4.0的安装模式
2.4.5 选择安装过程中的语言
2.4.6 选择我的键盘布局
2.4.7 配置网卡网络
2.4.8 对硬盘进行分区
2.4.9 设置超级用户、初始账号和密码
2.4.10 选择从哪里获取和安装Debian的软件包
2.4.11 这台Debian GNU/Linux拿来做什么——配置系统安装类型
2.4.12 完成软件安装,设置如何启动我们的系统
第3章 Linux的管理思路和系统结构
3.1 如何有效的对Linux进行管理?以Linux的思路去思考问题!
3.2 出现问题时,如何获得帮助?
3.3 关文件,一切都是文件!
3.4 关于Linux目录结构的介绍
3.4.1 Linux目录的部署方式
3.4.2 /根目录介绍
3.4.3 /etc目录介绍——注册表是多么愚蠢的配置方式
3.4.3.1 管理我的磁盘和硬件驱动
3.4.3.2 让Linux按照我的要求启动
3.4.3.3 保证用户和系统的安全
3.4.3.4 控制用户的登录行为
3.4.3.5 如何突破系统默认限制?
3.4.4 /proc目录介绍——随时了解我的系统状况
第二部分 Linux配置与管理
第4章 Linux基本配置
4.1 网络就是计算机——Linux网络设置
4.1.1 Linux如何识别我的网卡?
4.1.2 让Linux连上网——设置IP地址、子网掩码和默认路由
4.1.3 让Linux与Internet在——一起设置Linux主机名和DNS服务器
4.1.4 我习惯使用图形化网络工具配置网络
4.1.5 听说高手都使用命令行工具配置网络
4.2 Linux启动时都运行了什么,我可以控制吗?
4.3 Linux的一些基本管理方法
4.3.1 我有哪些硬件?Linux都支持吗?
4.3.1.1 检查我的计算机里都有哪些设备——lspci命令
4.3.1.2 我的Linux是如何识别这些设备的——dmesg命令
4.3.2 我安装了哪些软件?都装在什么地方了?
4.3.2.1 通过包管理系统管理软件
4.3.2.2 通过源代码方式管理软件
4.3.2.3 非包管理体系的二进制软件
4.3.3 如何有效的规划和管理存储?
4.3.4 Linux的交换分区是干嘛的——兼谈内存管理
4.3.5 如何查看和管理CPU
4.3.5.1 先把系统中的CPU找出来
4.3.5.2 Linux碰到超线程与多核CPU怎么办?
4.3.5.3 如果系统显示的CPU数量不对是怎么回事?
4.3.5.4 了解系统中的CPU工作状态
4.3.6 系统感觉很慢,怎样才能知道系统负载是否正常?
4.3.6.1 如何检查系统的平均负载?
4.3.6.2 如何检查网络负载?
4.3.6.3 如何检查磁盘负载?
4.3.7 配置我自己的Linux——Linux管理中的常见问题和窍门
4.3.7.1 什么是管道和重定向?它们有用吗?
4.3.7.2 如何定义自己的Shell?
4.3.7.3 如何把MAN手册页转化为纯文本?
4.3.7.4 现在都有哪些程序在运行?可以关闭一些程序吗?
4.3.7.5 如何知道系统打开了哪些文件?是谁打开的?为什么打开?
第5章 Linux高级配置和管理
5.1 编译系统——切软件的运行基础
5.1.1 了解编译器与操作系统的关系
5.1.2 配置如何去编译软件
5.1.3 补丁是什么?如何使用它?
5.2 内核配置、编译和部署——怎样定制自己的内核
5.2.1 先把内核从Internet上弄下来
5.2.2 编译内核前的准备工作
5.2.3 常见的内核配置选项
5.2.4 针对不同环境的内核配置
5.2.5 如何编译和安装新的内核
5.3 Java环境和JDK的部署与配置
5.3.1 JDK的下载和安装
5.3.2 JDK的环境设置
5.3.3 如何保证Java环境处于最佳状态——进程与线程
5.4 应用广泛的网络安全加密协议——SSL和TLS
5.4.1 什么是非对称密码算法?
5.4.2 那什么又是PKI和RSA?
5.4.3 SSL和TLS简介
5.4.4 在Linux上实施SSL
5.5 PAM——可植入认证模块
5.5.1 PAM是个好东西
5.5.2 PAM的认证流程
5.5.3 常见的PAM模块
5.5.4 PAM模块的参数使用
5.5.5 NSS——重要的名称服务切换
第三部分 传统的Internet服务器
第6章 DNS服务器——BIND
6.1 我们每天都在用DNS
6.2 DNS的基础概念
6.3 Linux上的DNS系统——BIND
6.4 安装BIND 9 DNS服务器
6.5 我不负责任何域名的解析,只想让我的用户查询域名更快——缓存DNS服务
6.6 我是这个域名的管理员,我要域名指向哪儿就指向哪儿——主DNS服务
6.7 一个DNS服务器看来不够,需要多台服务器都提供解析服务——辅助DNS服务
6.8 我需要协助他人进行域名解析——转发DNS服务
6.9 如何解析域名,以便让别人可以方便的发邮件给我?
6.10 DNS服务器设置好了,让大家的gnux也用我的DNS服务吧
6.10.1 让Linux按照我要求的顺序查询名字—一配置/etc/host.conf
6.10.2 指定Linux使用哪里的DNS服务器——配置/etc/resolv.conf
6.11 如何检查我的域名解析是否正确?出现问题如何解决?
6.12 如何构建安全的BIND DNS服务
6.13 大型DNS系统技术——域名解析的动态加载DLZ
6.13.1 要使用DLZ,在编译BIND时就要让它支持
6.13.2 准备DLZ的数据来源
6.13.3 配置BIND使用DLZ
6.13.4 进行DLZ形式的DNS解析
第7章 电子邮件服务器——qmail
7.1 什么是电子邮件?
7.2 Linux下有哪些电子邮件服务器?它们都有哪些优缺点?
7.3 电子邮件服务工作细节——POP3、SMTP命令简介
7.3.1 SMTP协议的工作流程和命令
7.3.2 POP3协议的工作流程和命令
7.3.3 UNIX下的邮件格式
7.4 为什么选择qmail?
7.5 获取和安装qmail
7.5.1 获取qmail
7.5.2 获取qmail补丁
7.5.3 准备安装qmail
7.5.4 安装qmail
7.5.5 如果要让qmail支持认证,得有一个认证程序——checkpassword
7.5.6 协助qmail运行的守护程序——tcpserver
7.5.7 另一个qmail守护程序——daemontools
7.5.8 可以让用户和域管理变得更强大、更方便的程序——vpopmail
7.6 qmail是如何配置的
7.7 先让qmail运行起来看看
7.8 让qmail良好运行——使用daemontools控制qmail的运行
7.8.1 把qmail设置为daemontools的一个服务
7.8.2 为qmail设置附加的日志服务
7.8.3 控制daemontools服务的启动、停止和状态
7.8.4 一个完整的daemontools控制脚本
7.9 我现有的认证方式五花八门,怎样让qmail支持我的认证方式?
7.10 管理qmail域、虚拟域、用户和别名
7.10.1 用户管理
7.10.2 邮件别名管理
7.10.3 虚拟域管理
7.11 如果我使用vpopmail,那要如何管理qmail的虚拟域和用户
7.11.1 当vpopmail使用文件系统存放用户信息时
7.11.2 当vpopmail使用MySQL数据库存放用户信息时
7.11.3 使用vpopmail时管理qmail的域
7.11.3.1 使用vadddomain添加域
7.11.3.2 使用vdeldomain删除域
7.11.3.3 使用vmoddomain修改域
7.11.4 使用vpopmail时管理qmail的用户
7.11.4.1 使用vadduser添加用户
7.11.4.2 使用vdeluser删除用户
7.11.4.3 使用vmoduser修改用户
7.11.5 使用vpopmail时管理qmail的别名
7.12 我不欢迎有的人给我发邮件,怎样在服务器上直接过滤掉——maildrop上场
7.12.1 获取和安装maildrop
7.12.2 整合qmail和maildrop,让maildrop帮我们过滤不想要的邮件
7.13 有了邮件过滤,还要反垃圾邮件吗?
7.13.1 专业的反垃圾邮件系统——Spam-Assassin
7.13.2 唯一比垃圾邮件更讨厌的,就是带病毒的垃圾邮件——Qmail病毒扫描方案
7.13.3 让这些专业系统为qmail服务——安装qmail-scanner
7.13.4 使用qmail-scanne
第8章 Maail服务器——Postfix
8.1 我们还需要另一套邮件服务器系统吗?
8.2 Postfix简介
8.3 Postfix架构与工作流程
8.3.1 Postfix如何接收邮件
8.3.2 Postfix如何转发邮件
8.3.3 Postfix主要的配置文件和命令
8.4 获取和安装Postfix
8.4.1 从源代码开始安装Postfix
8.4.2 以二进制方式安装Postfix
8.5 配置Postfix
8.5.1 让Postfix跑起来
8.5.2 让Postfix支持SMTP认证
8.6 控制我的Postfix服务器,让它按我的要求工作
8.6.1 控制客户端如何访问我的Postfix
8.6.2 利用Postfix自身的能力防范垃圾邮件
8.6.3 调整Postfix的性能跟稳定性
8.7 Postfix也需要邮件过滤
8.7.1 再次见到强大的maildrop邮件过滤系统
8.7.2 让maildrop帮助Postfix过滤邮件
8.7.3 还是专业的反垃圾邮件——Spam-Assassin
8.7.4 让Postfix、maildrop和Spam-Assassin一起工作
8.7.5 为客户提供杀毒服务——Postfix病毒扫描方案
8.7.6 整合Postfix、maildrop和ClamAV
第9章 POP3与IMAP邮件服务器
9.1 邮件访问协议——IMAP简介
9.2 强大而复杂的IMAP命令
9.3 另一个邮件领域的强者——Courier邮件服务器
9.3.1 灵活、独立的基础认证服务——Courier authlib
9.3.2 安装Courier authlib
9.3.3 让Courier authlib为我们提供认证服务
9.4 构建Courier POP3与IMAP服务
9.4.1 安装Courier POP3/IMAP服务器
9.4.2 配置Courier POP3服务
9.4.3 启动Courier POP3服务并进行测试
9.4.4 配置Courier IMAP服务
9.4.5 启动Courier IMAP服务并测试一下
9.4.6 构建安全的Courier POP3与IMAP服务
9.5 邮件系统结构与角色总结
第10章 WWW服务器——Apache
10.1 为什么WWW如此流行?
10.2 世界第一的WWW服务器——Apache
10.3 我应该选择什么版本……Apache 1.3、2.0和2.2
10.4 Apache的安装
10.5 在Apache中整合PHP——最流行的Web动态语言
10.6 在Apache中整合Perl——曾经的CGI王者
10.7 在Apache中整合Tomcat——新兴的Java容器组合
10.8 在Apache中整合SSL——必要的安全措施
10.9 让我们来了解一下Apache的配置文件
10.9.1 配置Apache服务器的工作方式
10.9.2 如何控制Apache的日志输出
10.9.3 我要如何添加、配置Apache的模块?
10.9.4 如何配置Apache以支持多个网站?
10.10 Internet很危险滴——用SSL加密我们的WWW服务
10.10.1 向用户证明自己是真正的服务提供者——基本的SSL认证配置
10.10.2 让用户证明自己是合法的——双向的SSL认证配置
10.11 为不同用户提供不同的访问权限——Apache认证与授权
10.11.1 最简单、易用的认证——纯文本用户认证
10.11.2 和其他通用认证方式结合——使用LDAP目录作为数据来源的用户认证
第11章 FTP服务器——wu-ftpd、vsftpd和ProFTPD
11.1 FTP服务器的比较和选择
11.2 强大的FTP服务器——wu-ftpd
11.2.1 wu-ftpd的获取和安装
11.2.2 配置wu-ftpd
11.2.3 控制用户访问
11.2.3.1 显示不同的提示信息
11.2.3.2 记录日志
11.3 安全的FTP服务器——vsftpd
11.3.1 vsftpd的获取和安装
11.3.2 启动和停止vsftpd
11.4 vsftpd的基本配置
11.4.1 让FTP服务器也使用SSL加密
11.4.2 配置vsftpd日志
11.4.3 如何控制用户对FTP服务器的访问
11.4.4 定制我的vsftpd
11.4.5 vsftpd对不同FTP工作模式的支持
11.4.6 节省网络资源——控制用户超时
11.4.7 调整vsftpd的性能
11.5 vsftpd用户的管理
11.5.1 为公众提供服务——那就使用匿名用户吧
11.5.2 为已经存在的用户提供服务——只能使用本地用户了
11.5.3 控制用户登录到我的vsftpd服务器
11.6 获取和安装灵活的IFTP服务器——ProFrPD
11.7 ProFTPD的基本配置
11.7.1 配置一台最简单的ProFTPD
11.7.2 配置允许匿名访问的ProFTPD
11.7.3 在一台服务器上提供多个FTP服务——ProFTPD虚拟主机
11.8 ProFTPD权限指令解析
11.9 相关资源
第12章 时间服务器——NTPD
12.1 先了解一下Linux时间和时区
12.2 在Linux下架设NTP服务器
12.2.1 获取和安装NTP服务器
12.2.2 NTP服务器进程ntpd的基本配置
12.2.3 NTP服务器OK了,现在可以让客户端使用我的NTP服务了
12.3 配置我的NTP服务器
12.3.1 告诉我的NTP服务器如何去同步时间
12.3.2 我只想为特定网络中的用户提供NTP服务
12.4 怎样确保只有经过认证的用户,才能访问我的NTP服务?
12.5 一个基本的NTP配置实例
第四部分 办公环境中的Linux服务器
第13章 目录服务器——OpenLDAP存在的意义
13.1 什么是LDAP目录?
13.1.1 LDAP目录服务发展简史
13.1.2 LDAP目录服务的特点
13.1.3 什么是LDAP目录树?
13.2 LDAP服务器介绍
13.2.1 0penLDAP的获取
13.2.2 怎样编译OpenLDAP
13.2.3 启动和关闭OpenLDAP
13.3 配置我的第一台OpenLDAP,让它run起来再说
13.4 管理OpenLDAP数据
13.4.1 从头开始添加LDAP数据到OpenLDAP服务器
13.4.2 从现有的OpenLDAP服务器中检索和获取数据
13.4.3 添加、修改和删除现有的LDAP数据
13.5 0penLDAP如何组织和管理数据——OpenLDAP模型管理
13.5.1 什么是LDAP模型?
13.5.2 0penLDAP模型的存储和组织
13.5.3 0penLDAP模型的定义
13.5.4 我的需求比较特殊,能否定义自己的LDAP模型?
13.6 为不同用户提供不同的访问权限
13.6.1 什么是访问控制列表?——LDAP ACL介绍
13.6.2 用ACL来控制用户的访问权限
13.7 LDAP数据很重要,所以要特别注意安全管理
13.7.1 使用ACL机制来提高OpenLDAP的安全性
13.7.2 使用SSL来提高OpenLDAP的安全性
13.7.3 使用SASL进行用户认证
13.8 为用户提供分布式、高效的目录服务——OpenLDAP目录集群
13.8.1 0penLDAP是如何实现集群的——slurpd复制简介
13.8.2 配置我的OpenLDAP集群
13.8.3 让LDAP为Linux主机提供认证
第14章 Windows文件服务器——Samba
14.1 一般办公环境需要Windows服务器吗——Samba的起源
14.2 微软网络共享协议的发展
14.3 获取和安装Samba
14.4 Samba是如何工作的——Samba工作方式和体系介绍
14.5 Samba的基本配置
14.6 Samba认证和安全机制
14.6.1 Windows与Linux用户映射
14.6.2 灵活的Samba用户权限
14.6.2.1 一些常见的Samba权限配置
14.6.2.2 配置一个大家都能写、但不能删除别人文件的目录
14.7 有趣的Samba变量
14.8 无限制扩展Samba的能力——虚拟文件系统
第15章 动态计算机配置服务器——dhcpd
15.1 什么是动态计算机配置?
15.2 简化网络管理员的工作——DHCP与BOOTP工作原理
15.3 几种常见的DHCP地址管理方式
15.4 Linux下的DHCP服务器
15.4.1 获取和安装dhcp
15.4.2 配置我的第一台dhcp服务器
15.5 DHCP协议是如何工作的——DHCP服务器与客户端指令详解
15.5.1 DHCP服务器如何告诉别人自己可以提供IP地址?
15.5.2 dhcp客户端怎样找到网络中的DHCP服务器?
15.6 DHCP服务器配置详解
15.6.1 让dhcpd按照我的要求运行——全局配置
15.6.2 让dhcpd为指定的网络提供服务——子网配置
15.6.3 有一些特殊用户需要特殊对待——单个客户配置
第16章 防火墙和IP伪装
16.1 路由器是如何工作的?我们也能DIY专业的路由器吗?
16.2 用Linux实现一个基本的路由器
16.3 什么是包过滤——Linux NetFilter基础
16.4 怎样让内部用户访问外部网络——NetFilter之伪装
16.5 怎样让外部用户访问内部网络——NetFilter之重定向
16.6 开始强大的Iptables之旅吧
16.6.1 iptables为何如此强大——它使用模块扩展自己的能力
16.6.2 什么是iptables的表、链和规则?
16.6.3 如何让iptables显示我们需要的信息?
16.6.4 如何让iptables区分对待不同的服务、行为和数据?
16.6.5 如何更精密的控制iptables匹配?
16.6.6 最后,如何处理这些服务、行为和数据?
第17章 代理服务器——Squid和Socks5
17.1 理服务器的原理和机制
17.1.1 如果用户需要通过我们的代理访问Internet
17.1.2 如果用户需要通过我们的代理访问我们内部的Web服务器
17.2 Linux下常用代理服务器软件介绍
17.2.1 Squid
17.2.2 Socks5
17.2.3 mod_proxy
17.3 获取和安装SquM
17.3.1 获取Squid
17.3.2 编译和安装Squid
17.4 Squid基本配置
17.4.1 让Squid为用户提供访问Internet的代理服务
17.4.2 让用户感觉不到自己在使用代理上网——把Squid与网关结合起来提供透明代理服务
17.4.3 用Squid为外部用户提供访问我们自己的Web服务器的代理服务
17.5 控制哪些用户、如何访问我们的Squid
17.6 要求用户证明自己的身份后才能访问我们的Squid代理
17.6.1 使用最简单的NCSA方式验证用户
17.6.2 使用常见的Windows NTLM方式验证用户
17.6.3 使用MySQL数据库验证用户
17.6.4 使用1DAP验证用户
17.7 调整Squid性能
17.7.1 优化Squid的网络
17.7.2 配置Squid的缓存
17.7.3 调整Squid的缓存对象
17.7.4 扩展Squid的功能
17.7.5 控制代理用户超时与网络超时
17.7.6 让Squid配合我们进行管理
17.7.7 Squid的一些其他配置
17.8 管理Squid的日志
17.9 Squid日志的分析
17.10 强大的代理服务网络——Squld代理服务器集群
17.10.1 什么是Squid代理服务器集群
17.10.2 在Squid中配置代理服务器集群
17.11 socks5代理服务器
17.11.1 获取和安装socks5代理服务器
17.11.2 配置一台基本的socks5代理服务器
17.11.3 更多的socks5配置选项
17.12 参考资料
第18章 拨号和VPN服务器
18.1 公共网络上的私有网络——什么是虚拟专网VPN?
18.2 基于SSL的安全虚拟专网——SSL VPN
18.3 Linux下的VPN和SSL VPN介绍
18.4 搭建Linux下的VPN服务器
18.4.1 获取和安装PPTP服务器
18.4.2 配置PPTP服务器
18.4.3 启动和管理PPTP VPN服务
18.5 搭建Linux下的SSL VPN服务器
18.5.1 获取和安装OpenVPN
18.5.2 配置SSL VPN服务
18.5.3 使用SSL VPN服务
第19章 入曼佥测服务器——Snort
19.1 什么是入侵检测,什么是Snort
19.1.1 网络中的便衣——什么是入侵检测
19.1.2 什么是Snort
19.2 部署Snort
19.2.1 网络入侵检测系统的关键——设计IDS网络部署
19.2.2 获取和安装Snort
19.3 用作网络嗅探器的Snort
19.4 另一种常见嗅探器——tcpdump
19.5 用作IDS节点的Snort
19.6 让Snort按照我们的要求工作
19.6.1 Snort规则基础
19.6.2 当检测到可能的风险时,Snort如何处理
19.6.3 如何检测不同的协议
19.6.4 如何匹配IP地址与端口号
19.6.5 如何按照数据的流动方向检测风险
19.6.6 对数据包进行分析检测——Snort核心
19.6.7 最基本的分析检测规则
19.6.8 分析检测数据包中的网络信息
19.6.9 分析检测数据包中的内容信息
19.6.10 在分析检测完成后做更多的事情
19.7 保证Snort的正常运行
19.8 参考资料
第20章 远程登录服务器——OpenSSH
20.1 什么是安全的远程登录服务?
20.2 获取与安装OponSSH
20.3 配置OpenSSH
20.4 配置OpenSSH使用Public Key(RSA/DSA)证书认证
20.4.1 在OpenSSH服务器上配置Public Key认证
20.4.2 在Linux客户端上配置Public Key认证
20.4.3 在Windows客户端上配置Public Key认证之SSH Secure Shell
20.4.4 在Windows客户端上配置Public Key认证之SecureCRT
20.5 让SSH为我们转接服务
20.6 安全工具的安全措施
第21章 版本控制服务器——CVS
21.1 版本控制工具的发展简史
21.2 CVS简介
21.3 获取和安装CVS
21.4 CVS服务器结构
21.4.1 什么是CVS仓库(Repository)
21.4.2 那什么又是CVS模块(Module)
21.4.3 CVS如何组织、管理文件和目录
21.5 使用CVS管理我们的源代码
21.5.1 使用用户名、密码登录到CVS服务器
21.5.2 创建第一个新项目
21.5.3 从项目中提取源代码文件
21.5.4 把本地的文件更新到远程CVS服务器中
21.5.5 把远程CVS服务器的文件更新到本地
21.5.6 添加本地文件到远程CVS服务器
21.5.7 同时从本地和远程删除文件
21.5.8 同时从本地和远程添加与删除目录
21.5.9 从本地和远程移动文件与目录
21.5.10 怎样检查一个文件在本地跟远程之间的区别
21.6 CVS权限管理
21.6.1 使用CVS专用的用户名,密码文件管理认证
21.6.2 使用系统用户管理CVS认证
第22章 源代码管理服务器——Subversion
22.1 什么是Subversion?
22.2 Subversion的发展
22.3 Subversion与CVS的主要特性比较
22.4 获取和安装Subversion
22.5 Subversion版本仓库规划
22.6 创建Subversion版本仓库
22.7 Subversion认证与权限
22.7.1 建立基于svnserve的Subversion网络服务
22.7.2 svnserve模式下的用户认证
22.7.3 svnserve模式下的权限控制
22.7.4 控制每个目录的访问权限
22.7.5 建立基于Apache的Subversion网络服务
22.7.6 Apache模式下的用户认证
22.8 Subversion版本仓库管理
22.8.1 Subversion版本仓库与事务树概念
22.8.2 Subversion如何存储和组织数据
22.8.3 什么是Subversion钩子?
22.9 Subversion源代码管理
22.10 常用的Subversion管理命令
22.10.1 在服务器上查看当前的版本仓库内容——svnlook
22.10.2 在服务器上管理版本库——svnadmin
22.10.3 在服务器上直接导出、导入Subverion数据——svndumpflter
第23章 备份与同步服务
23.1 数据备份方式概述及Linux上的数据备份工具
23.2 何时备份?备份什么?备份到哪儿?——浅谈备份策略
23.2.1 如何定义自己的备份级别
23.2.2 我应该把数据备份到哪里?
23.2.3 我应该什么时候备份?
23.2.4 多长时间备份一次合适?
23.2.5 把这些备份因素综合起来
23.3 本地文件备份
23.3.1 tar基本用法
23.3.2 使用tar备份
23.4 本地磁盘备份
23.5 远程文件备份
23.5.1 获取和安装rsync
23.5.2 配置rsync服务器
23.5.3 启动与检查rsync服务器
23.5.4 配置需要验证的rsync服务器
23.5.5 rsync应用示例——日志的备份处理
第五部分 Linux高级应用服务器
第24章 Java容器——Tomcat
24.1 Servlet简介
24.2 Tomcat简介
24.3 Tomcat如何工作
24.4 获取和安装Tomcat
24.5 让Tomcat运行起来
24.6 Tomcat是如何组织它的目录的
24.7 配置Tomcat
24.8 管理和配置Tomcat用户及权限
24.9 怎样通过浏览器管理Tomcat
24.10 在Tomcat上部署Java Web应用
第25章 Java容器——Resin
25.1 Resin简介
25.2 获取和安装Resin
25.3 运行Resin
25.3.1 独立的Resin
25.3.2 与Apache结合的Resin
25.4 管理Resin
25.4.1 以浏览器方式管理Resin
25.4.2 以配置文件方式管理Resin
25.4.3 在Resin部署我们的应用
第26章 数据库服务器——MySQL
26.1 什么是SQL?
26.2 什么是MySQL?
26.3 MySQL的获取和安装
26.4 让MySQL跑起来
26.5 什么是MySQL数据存储引擎?我应该用哪种存储引擎?
26.5.1 MySQL中的数据存储引擎
26.5.2 如何在MySQL中使用不同的数据存储引擎
26.6 使用MySQL
26.6.1 从终端访问MySQL
26.6.2 对MySQL进行一些基本的操作
26.6.3 从外部导入数据到MySQL
26.7 配置MySQL
26.8 优化MySQL的性能
26.9 建立强大的数据库集群——MySQL集群介绍
26.9.1 MySQL集群的结构
26.9.2 安装集群中的所有MySQL服务器
26.9.3 配置MySQL集群
26.9.4 启动MySQL集群
26.9.5 检查MySQL集群是否正常工作
第27章 数据库服务器——Oracle
27.1 0racle的发展历程
27.2 在Linux上安装Oracle 9i
27.2.1 安装Oracle前的准备工作
27.2.2 小心翼翼的安装Oracle 9i
27.2.2.1 启动Oracle安装管理器
27.2.2.2 确认Oracle安装的基本目录
27.2.2.3 确定Oracle UNIX权限组
27.2.2.4 安装过程中执行第一次root脚本
27.2.2.5 确定Oracle安装文件位置和目标目录
27.2.2.6 安装哪些Oracle产品
27.2.2.7 确认Oracle数据库安装类型
27.2.2.8 自定义安装Oracle
27.2.2.9 确认Oracle其他组件的安装位置
27.2.2.10 确认Oracle安装程序的权限
27.2.2.11 安装完成后,是否创建Oracle数据库
27.2.2.12 确认安装细节并开始Oracle的安装
27.2.2.13 完成安装并执行第二次root脚本
27.2.3 Oracle 9i安装后的管理
27.3 管理Oracle 9i
27.3.1 增强Oracle终端界面的友好程度
27.3.2 0racle的启动过程
27.3.3 怎样安全的关闭Oracle
27.3.4 配置Oracle的网络接口
27.3.5 配置Oracle TNS网络
第28章 集群服务器——LVS
28.1 什么是计算机集群?
28.2 那什么又是LVS?
28.3 LVS的工作原理
28.4 LVS的工作模式
28.5 如何部署LVS?
28.6 LVS的算法解析
28.7 如何管理LVS?
28.7.1 管理LVS的虚拟服务
28.7.2 管理LVS的真实服务器
28.7.3 查看和管理当前的LVS配置
第29章 Linux双机
29.1 什么是双机?
29.2 如何用Linux实现双机?
29.3 Heartbeat出场基于Linux的高可用性集群
29.4 获取和安装Heartbeat
29.5 通过Heartbeat部署HA
29.5.1 ha.Cf
29.5.2 haresources
29.6 启动HA
第六部分 发展中的Linux服务器
第30章 配置管理服务器——GNU cfengine
30.1 什么是配置管理?我需要配置管理吗?
30.2 什么是cfengine?
30.3 cfengine系统架构和流程
30.4 获取与安装cfengine
30.5 建立配置管理体系
30.6 学会与cfengine沟通
30.7 cfengine配置文档结构
30.8 使用cfengine的变量
30.8.1 在cfengine管理中心进程中使用的变量
30.8.2 在cfengine各个模块中都可以使用的变量
30.9 cfengine到底能为我们做什么?
30.9.1 控制cfengine管理过程中的变量
30.9.2 控制cfengine管理过程中的类
30.10 让cfengine帮助我们管理整个系统
30.10.1 让cfengine为我们复制需要的文件
30.10.2 让cfengine帮我们管理系统网络
30.10.3 让cfengine替我们管理磁盘
30.10.4 cfengine如何操作目录与文件
30.10.5 禁止或者恢复系统文件
30.10.6 编辑系统文件
30.10.6.1 添加与插入指令
30.10.6.2 替换指令
30.10.6.3 编组指令
30.10.6.4 注释指令
30.10.6.5 删除指令
30.10.6.6 其他指令
30.10.7 让cfengine管理系统的链接
30.10.8 监视和管理系统中的进程
30.10.9 自动安装、删除和升级系统中的软件包
30.10.10 通过cfengine自动执行指定的命令
30.11 看看如何真正让cfengine替我们干活
30.11.1 建立基本配置文件
30.11.2 建立配置管理文件
30.11.3 在被管理的服务器上自动设定crontab
30.11.4 在被管理的服务器上自动安装软件
30.11.5 自动监控被管理服务器上的进程
30.11.6 保证被管理服务器的系统文件一致
30.12 如何解决cfengine管理架构中的问题
第31章 流媒体服务器——Helix Server
31.1 Linux下的流媒体服务器
31.2 RealNetworks Helix DNA Server的获取和安装
31.3 启动Helix DNA Server
31.4 让Helix DNA Server为我们提供服务
31.5 管理Helix DNA Server
31.5.1 服务器设置
31.5.2 安全设置
31.5.3 日志与监控
第32章 VoIP服务器——Asterisk
32.1 用Linux实现免费电话大餐
32.2 用Asterisk提供免费的VoIP服务
32.3 获取Asterisk及其相关软件
32.4 Asterisk及其相关软件的安装
32.5 Asterisk硬件及其相关配置
32.5.1 Asterisk硬件板卡信令
32.5.2 Asterisk信令协议
32.5.3 Asterisk板卡配置实例
32.6 Asterisk软件基本配置
32.6.1 可选的数据源配置
32.6.2 Asterisk基本配置
32.7 我的第一台电话交换机——基本的分机、出入路由和DialPlan
32.8 与其他VoIP网络互联
32.8.1 与其他Asterisk互联
32.8.2 与公共VoIP网络相连
32.9 Asterisk DialPlan拨号方案初探
32.10 更多有用的DialPlan
32.11 Asterisk Realtime
Linux服务器架设
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
