1.2.6 主机配置、启动、观察与调试
在所有的前面的工作都完成之后,终于可以进行“主机配置”了。所以,要配置一台堪称完美的主机,就先要学会这么多的基础工夫,太不容易了。配置主机的大致流程是这样的。
1. 找出配置文件
主机配置的第一个步骤就是“需要找到主要配置文件”,因为不论您使用的是RPM还是Tarball,由于都是同一个软件包,所以配置文件的文件名是不变的。例如,Apache的配置文件名都是httpd.conf,而SAMBA的配置文件名都是smb.conf,您必须找到该配置文件之后才能够进行配置。所以,熟悉locate、 rpm、find和grep等命令就显得很重要了。
2. 编辑配置文件
既然要配置,当然就需要编辑。既然要编辑,那么必须学会Unix Like标准的文本编辑器(vi)。vi是学Linux过程中相当重要的一课,如果不会vi,那么学习Linux之路就会跌跌撞撞。此外,该如何编辑配置文件的内容呢?例如httpd.conf里面有些虚拟主机的设置项目该如何设置?要了解这里面的设置项目,就需要学会使用man、info等命令,也需要知道软件的文件数据(documentation)放置在我们系统的 /usr/share/doc里面。如果您知道如何快速地查阅设置项目,那么设置文件的编辑对您而言,就简单得很!
3. 启动服务器
设置完服务器的配置文件后,接下来就是启动服务器。如果您在服务器启动之后进行配置文件的修改,也需要重新启动服务器。要启动服务器,就需要了解什么是daemons,而daemons又有super daemon与stand alone两种模式,在Linux默认的路径中,stand alone的服务在 /etc/init.d/* 这个目录中,里面的文件是以BASH shell 脚本写成的,所以除了了解daemon之外,还需要熟悉shell 脚本的相关语法。另外,如果是super daemon的话,必须知道启动服务器的设置文件放在 /etc/xinetd.d里面,启动的话,则是重新启动 /etc/init.d/xinetd这个super daemon。
如果服务器软件是以Tarball安装的,那么启动的时候可能是直接执行二进制文件,这样,就没有shell脚本帮助您启动、关闭、重新读取设置信息。如果这样的话,您就需要以进程(process)与信号(signal)的方法运行服务器。对于这部分内容,您需要熟悉ps、top、kill以及signal number的意义,尤其是当您想要中断当前某个联机时,netstat配合kill的用法是很重要的。
4. 观察启动的状态
虽然已经启动了服务器,但是启动后的服务器不一定能够正常运行。如何观察它是否正常运行呢?首先,您必须具有PID的概念,利用netstat观察PID与端口号的信息来判断服务器是否正常工作。还有,任何系统信息都会记录到日志文件(log files)里面去,所以,启动完服务器后到该服务器的日志文件中查看一下日志信息,是应当养成的一个习惯。例如启动DNS之后,虽然已经看到端口启动了,但是服务器有可能是不正常启动,此时就需要根据/var/log/messages的内容来判定DNS的设置是否正确。如果希望看到日志文件,就必须知道Linux主机上控制日志文件的syslogd这个daemon。syslogd的配置文件是 /etc/syslog.conf,它可以配合logrotate来进行日志文件的替换。
5. 服务器与客户端的权限问题
现在服务器已经正常启动,所有的状态也似乎都没有问题。现在可以对客户端提供正确的服务了吧?还是不行,还需要考虑到“权限”问题。举个例子来说,架设过WWW主机的朋友大概都知道,如果需要开放个人默认目录的首页,需要将该用户的默认目录权限设置为755。这样,启动Apache程序的用户才能够进入该目录进行浏览操作。为了了解权限的概念,您必须至少具有UID、GID等Linux系统上有关用户账号的概念,每个账号的特殊参数一般放在/etc/passwd与/etc/shadow文件中。此外,每个文件或目录具有10个属性的特征,这些概念很重要。如果要让用户管理系统的话,用户身份必须转换成为系统管理员(root),这样就需要教会用户了解su及sudo的用法。为了防止系统被破坏,适时地减少SUID与SGID等特殊权限的二进制文件,则显得非常重要。
6. 设置开机启动该服务器
服务器设置好,启动正确,对于客户端的权限与服务也设置完毕,接下来就需要在开机时将服务器加载到内存中了。如何进行这个操作呢?Red Hat/SuSE/Mandriva有chkconfig辅助工具,Red Hat中用ntsysv做简单的设置。如果是其他的Linux版本怎么办呢?这就要了解正常的开关机程序,这里面包含了Run Level的观念,Run Level的读取文件在/etc/inittab中;还要了解/etc/rc.d/里的目录与/etc/rc.d/rc.local这个文件的用途。一般来说,我们使用Tarball安装的软件想要在开机时就启动,都会利用/etc/rc.d/rc.local这个文件来实现。
综上所述,架设好一台主机需要知道:
(1)各个process与signal的概念。
(2)账号与群组的概念与相关性。
(3)文件与目录的权限,包括与账号相关的特性。
(4)软件管理器工具的学习。
(5)BASH的语法与shell scripts的语法,还有很重要的vi。
(6)开机的流程分析,以及记录日志文件的配置与分析。
(7)类似quota以及链接文件的概念。
要知道的概念真的很多,而且还不能跳过去。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||