文档库 最新最全的文档下载
当前位置:文档库 › 用CentOS_(LINUX)搭建服务器的详细教程

用CentOS_(LINUX)搭建服务器的详细教程

CentOS服务器构

服务器和个人电脑最本质的区别无非服务器是为了提供服务而存在。然而,通过一些软件也可以把我们的使用中的个人电脑模拟成一台(Web)服务器,比如Win98 下用PWS ,Win2K 下用IIS ,或者在Windows 下安装Win32 版的Apache 等等。但是,这些方式也使得一方面服务器的可定制性变得很差,另一方面,使服务器在承载服务负担的同时,时时刻刻都有受到由于Windows 操作系统本身在服务器方面的脆弱性而遭受攻击,导致崩溃的可能性。

所以,在这里我们用Linux这个服务器专用操作系统来搭建一台安全、稳定、可定制性强的服务器,来满足我们发布网页、以及架设论坛等等多功能交互程序的需要。

Linux的发行版也有数多种,在这里,我们采用CentOS 这个Linux 发行版。CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL 的基础上修正了不少已知的Bug ,相对于其他Linux 发行版,其稳定性值得信赖。另外,由于Fedora Core 计划也归根于Red Hat 系,所以在绝大多数情况下,使用Fedora Core 的朋友,也同样能够通过本站介绍的各种CentOS 方面相关的技巧、方法来完成服务器的构建和维护工作。但相对于稳定性来说,Fedora Core 更侧重于最新技术,更面向于桌面应用以及开发测试,这也导致Fedora Core 的稳定性被考虑在了次要的方面。所以在这里,不建议使用Fedora Core 来构建网络服务器。

[目标]

* 对服务器完全自主、自由的配置

* 实现Web 发布、并通过虚拟主机实现多用户共享Web 服务器资源

* 对Perl、PHP、JSP的支持,以及MySQL 数据库的支持

* 通过FTP 服务器的构建实现远程文件传送

* 通过SSH 远程控制服务器

* 自主E-mail 服务器的构建

* 服务器端病毒监测以及安全监测的系统化

* 。。。。。。

[基本条件]

* 一台配置说的过去的计算机(极力推荐使用自用PC 以外的另一台计算机)

* 7*24 全天候的网络接入(PPPoE或其他能够获得独立Global IP 地址的接入方式即可)

* 自用PC 与将要构建的服务器组成的局域网环境(服务器端的配置可通过自用PC来操作)

* 。。。。。。

* 如果无以上条件,也可以通过VMWare 在Windows 下构建

(基于Windows 的VMWare 所构建的CentOS 服务器无多大的应用意义,仅限于学习用)

在进行服务器配置之前,如果您是新手,很有必要了解一下CentOS下相关工具的操作、相关命令的用法,以及Linux及CentOS相关的背景知识。以下将列出相关的内容以供参考,但如果依照本站文档进行服务器配置的情况,您并没有必要将以下预习项目全部阅读。您可以根据选择来吸收其中有用的部分,来提高效率。

△适合服务器运行的室内环境

◎vi 编辑器的使用方法

☆用top 命令查看CPU 使用率

< vi 编辑器的使用方法> (最近更新日:2006/08/30)

在UNIX下,vi是标准的文本编辑器之一。几乎任何一部UNIX系统都把vi编辑器作为最最基本的“软件”而被默认组装在系统中。在PC-UNIX中,即使是选择最小程度安装的系统,vi编辑器也会被默认安装在系统中。

提到vi,就不得不提一下UNIX下另一功能强大的编辑器- Emacs 。好多人喜欢拿Emacs和vi来比较,但笔者认为,Emacs 和vi 没有可比性。vi的轻量级特性,使得它成为系统管理方面的首选工具;而Emacs的功能强大的特性,使得它成为系统开发方面的首选工具。如果用Emacs 来做系统管理,它庞大的体积和对于系统资源的耗费(相对于vi),势必会影响系统管理的效率;然而,如果用vi来搞软件开发,它有些面向于开发的功能方面的不完备,也势必会影响开发的灵活性。在这里,我们的目标是建立和管理一台服务器,所以,我们选择使用vi编辑器来完成服务器的配置工作。

由于本站所有服务器设置相关的修改工作,都是通过vi来完成的,所以准备通过本站介绍的各种方法构建服务器的话,请务必掌握vi的使用方法。否则将很难顺利的进行。如果您使用其它编辑器(比如Emacs)可以在安装过程中或通过yum命令在线安装。

习惯于Microsoft Windows下GUI方式编辑器的朋友,刚刚接触vi肯定会有“排斥反应”的,这一点只能奉劝稍安毋躁……当你习惯于vi之后,你会发现它既精确又有秩序,而且重要的是它对于要编辑的对象极富针对性。

上图为在CUI下输入“vi”命令后,vi被启动的状态。

或者输入一个已存在的文件的路径,来打开一个已经存在的文本文件。(这里以用root用户登录系统,后输入“vi /etc/X11/xorg.conf”为例。)

3

上图为用vi打开/etc/X11/xorg.conf后的状态。光标位于左上第一个字符下滑线的位置。

vi和其他编辑器最不一样的地方莫过于它把编辑、处理等等的操作分离开来,形成性质不同的3种操作模式,他们分别为“命令模式”、“插入模式”、“ex模式”。

在Windows下通常使用的记事本等等的编辑器在打开文件的时候,光标已经在处于输入等待的状态,也就是说,我们打开文件时就可以对文件进行编辑。比如,我们要输入新的文本,或者复制一段文本,所有操作的前提,只要编辑器是被打开的状态,操作就是可能的。

但在vi下,为了增强对将要处理的文本的针对性,文本输入、复制等等不同的操作,是被分离开来的,比如文本输入的模式叫做“插入模式”,在插入模式下,我们可以用和Windows下一样的操作方法来对文本进行输入、编辑等等的操作,但是复制等等非编辑的操作,在插入模式下不能够完成,而需要切换到相应的模式下用相应的命令来完成。

在这里,还是首先对重要的vi的模式进行说明。

★vi的模式(命令模式、插入模式、ex模式)

1)命令模式:

在我们刚刚通过vi新建或打开一个已经存在的文件时,首先默认被读取的模式就是“命令模式”,命令模式的特征就是,在编辑器窗口左下角的位置上没有任何的提示标语。

在这个模式下,如果不通过相应的命令,我们无法输入新的文本到这个文件中。这里建议新接触刚刚接触

vi的朋友在用vi打开一个文件时不要处于心切而乱按键盘试图输入一些文本到文件中,因为命令模式所谓的“命令”,并不是我们在命令行提时下输入的过程诸如“ls -> 回车”等等形式的命令。确切说vi命令模式下的命令,只是计算机键盘上的某个按键或某些按键的组合,当我们在命令模式下敲下键盘一个按键的时候,相应命令就已经被执行。

在这里,首先介绍移动光标的命令。通常光标的移动可以通过键盘右边的方向键,但是由于每次移动光标,手都要大幅度的移动到键盘右边,这样使用vi是体现不出效率的,所以建议使用vi固有的命令(键)来控制光标的移动。

如上所示,例如要向右移动光标8个字符的距离,只要在键盘上敲l 键8次即可;向下移动3行的距离,只要在键盘上敲j 键3次即可……也就是说,在vi命令模式中通过这几个键(命令)来控制光标的移动。

5

其次就是文本删除的命令。在Windows下大多数编辑器在删除文本时只要连续按[Backspace]键即可。但由于在vi中,插入模式和命令模式是分离开来的,所以在命令模式下需要通过命令(按键)来删除文本,而不是直接按[Backspace]键。

如上所示,例如要删除从光标位置起向右的3个字符,只要在键盘上敲x 键3次即可;要删除光标所在的行,只要敲dd (连续敲d键两次),光标所在行的所有字符以及行将会被删除。

再次,当编辑完了一个文档,想要保存后退出的时候的命令为“ZZ”(大写、连续敲2次)。

另外,vi还有一些编辑性质的命令,一并总结如下

还有在服务器配置中使用vi时,频繁用到的就是vi的搜索功能。在vi命令行的状态下,键入“/”(斜线)后,vi底部出现“/”,并处于输入等待状态,这时候输入要查找的文字或文字列,然后按回车就可以找到相应的文字或文字列。当有多个对象存在时,敲“n”(小写)键为查找下一个目标,敲“N”为查找上一个目标。

< 用top 命令查看CPU 使用率>(最近更新日:2006/11/24)

在系统维护的过程中,随时可能有需要查看CPU 使用率,并根据相应信息分析系统状况的需要。在CentOS 中,可以通过top 命令来查看CPU 使用状况。运行top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式-- 用基于top 的命令,可以控制显示方式等等。退出top 的命令为q (在top 运行中敲q 键一次)。

在命令行中输入

“top” 即可启动top ,运行后如下图所示:

如上图所示,top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。

第一部分-- 最上部的系统信息栏:

第一行(top):

“00:11:04”为系统当前时刻;

“3:35”为系统启动后到现在的运作时间;

“2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数-- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;

“load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程;

第二行(Tasks):

“59 total”为当前系统进程总数;

“1 running”为当前运行中的进程数;

7

“58 sleeping”为当前处于等待状态中的进程数;

“0 stoped”为被停止的系统进程数;

“0 zombie”为被复原的进程数;

第三行(Cpus):

分别表示了CPU 当前的使用率;

第四行(Mem):

分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;

第五行(Swap):

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

第二部分-- 中间部分的内部命令提示栏:

top 运行中可以通过top 的内部命令对进程的显示方式进行控制。内部命令如下表:

s - 改变画面更新频率

l - 关闭或开启第一部分第一行top 信息的表示

t - 关闭或开启第一部分第二行Tasks 和第三行Cpus 信息的表示

m - 关闭或开启第一部分第四行Mem 和第五行Swap 信息的表示

N - 以PID 的大小的顺序排列表示进程列表(第三部分后述)

P - 以CPU 占用率大小的顺序排列进程列表(第三部分后述)

M - 以内存占用率大小的顺序排列进程列表(第三部分后述)

h - 显示帮助

n - 设置在进程列表所显示进程的数量

q - 退出top

s - 改变画面更新周期

第三部分-- 最下部分的进程列表栏:

以PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过top 内部命令可以控制此处的显示方式。

一般的,我们通过远程监控的方式对服务器进行维护,让服务器本地的终端实时的运行top ,是在服务器本地监视服务器状态的快捷便利之一。

◆操作系统的安装

CentOS 4.4 的下载、安装----------------------------------------------------------------------------------10页

系统安装后的初始环境设置

◆SSH服务器的构建

用OpenSSH构建SSH服务器

用SSH客户端软件登录到服务器

◆服务器开放前安全监测系统和病毒查杀系统的构建

数据完整性监测系统的构建(Tripwire )

入侵监测系统的构建(chkrootkit )

病毒查杀系统的构建(Clam AntiVirus )

◆面向局域网外的动态域名的申请

动态域名的申请(https://www.wendangku.net/doc/605195830.html,)

◆HTTP服务器的构建以及相关扩展功能的开通

用Apache 构建HTTP 服务器

让服务器支持安全HTTP 协议(HTTPS )

开放一般用户的网页发布权限

虚拟主机的构建

Servlet/JSP服务器的构建(Tomcat5)

基于日志的站点统计系统的构建(Awstats )

◆数据库服务器的构建

构建MySQL 数据库服务器

用phpMyAdmin 让MySQL 数据库管理温和化

数据库的自动备份与数据库被破坏后的恢复(mysqlhotcopy )

◆FTP服务器的构建

用ProFTPD 构建FTP 服务器

用FTP 客户端软件连接到服务器

9

◆文件服务器的构建

Samba 服务器的构建

用SWAT 让Samba 服务器的管理温和化◆邮件服务器的构建

SMTP 服务器的构建(Postfix )

POP / IMAP 服务器的构建(Dovecot )

让邮件服务器支持虚拟域名

用SSL 对邮件加密的支持

< CentOS 4.4 的下载、安装>(最近更新日:2007/03/18)

CentOS 是当前最流行的商业版Linux -- Red Hat Enterprise Linux(RHEL)的克隆版。它和RHEL 的区别除了没有RHEL 一样的技术支持以外,就是修正了RHEL 已知的一些Bug,所以,其稳定性值得我们信赖。至于RHEL 的技术支持,在一般公司采购的情况下,大多是为了安心或者在问题出现的时候能够找到负责方才购买Red Hat 的技术支持。事实上,为了能够享受技术支持而付费的公司,真正确实的享受了技术支持服务的情况并没有想象的那么多。因为对Linux 相关技术的掌握程度只要相当于LPIC Level 1 级别的用户就基本能够驾驭它。所以,对于我们个人,根据用途的不同,不需要技术支持,也完全有能力活用这个系统。

对于安装,我们的原则就是在初期按装时采用最小安装,这样使得初期状态显得干净而简洁。在此前提下,保证系统中具备最基本的开发环境,以便能够安装一些需要编译的组件。在以后的配置中,需要哪些组件的时候,再通过CentOS的“yum”命令(前提需要首先接入互联网)来在线安装。

[第一步] 从镜像站点上下载ISO的镜像文件

CD 1 : https://www.wendangku.net/doc/605195830.html,/centos/4.4/isos/i386/CentOS-4.4-i386-bin1of4.iso

CD 2 : https://www.wendangku.net/doc/605195830.html,/centos/4.4/isos/i386/CentOS-4.4-i386-bin2of4.iso

CD 3 : https://www.wendangku.net/doc/605195830.html,/centos/4.4/isos/i386/CentOS-4.4-i386-bin3of4.iso

CD 4 : https://www.wendangku.net/doc/605195830.html,/centos/4.4/isos/i386/CentOS-4.4-i386-bin4of4.iso

md5校验码:https://www.wendangku.net/doc/605195830.html,/centos/4.4/isos/i386/md5sum

将上面所有文件(包括md5校验码)下载到同一个目录(文件夹)下。(这里,选择了从CentOS的韩国镜像站上下载。根据具体位置可以选择距离近、速度快的景象站点。查找CentOS的镜像请见官方镜像站点列表。)

[第二步] 验证下载的ISO镜像文件的完整性

下载md5校验工具,并将其放在和刚刚下载的CentOS的ISO镜像文件所在的目录里。

然后启动Windows下的命令行(cmd.exe),完成如下步骤:

11

[第三步] 将ISO镜像文件制作成CentOS安装CD

在Microsoft Windows下,用Nero等等的光盘刻录软件将ISO镜像文件转换、刻录成安装CD。

将BIOS设置中的启动项设置为从光盘启动,然后放入CentOS安装CD的第一张后,重新启动计算机。

安装程序启动后的安装与设置步骤如下:

[1] 光盘启动,出现“boot:”提示符,直接按回车进入图形安装界面。

[2] 出现是否对CD媒体进行测试的提问,这里选择“Skip”跳过测试。

[3] 图形安装模式启动,点击“Next”。

13

[4] 语言选择,这里不用中文,而用默认的英文。

[5] 选择键盘布局模式,这里根据自己具体的情况来选择。中国大陆一般为“U.S.English”。

[6] 安装类型选择,这里选择“Server”(服务器)进行服务器安装。

15

[7] 硬盘分区设置,这里选择“Automatically Partition”进行自动分区。

上的确没有重要的数据在上面,否则请事前做好数据备份。

[9] 硬盘分区设置的确认,这里点击“Yes”。

17

[10] 硬盘分区后的分割状态,在此可以了解安装后硬盘的分割状态。点击“Next”进入下一步。

19

[11] 引导程序的配置,这里全部保持默认设置,点击“Next 进入下一步”。

[12] 网络配置,这里需要根据自己的实际情况来配置。特别,eth0的IP 地址不能够与局域网中其他计算机的IP 地址重复。

[13] 防火墙与SELinux的配置,这里防火墙要选择启动的状态,然后给窗口中各个服务的复选项打勾,接受这些服务的连接。

SELinux选择“Warn”(警告)。

[14] 语言设置,在默认“English(USA)”被安装的基础上,找到简体中文、繁体中文等等的复选项,将它们打勾安装到系统中。但在这里为了省去解决CUI下文字显示方面的繁琐,默认语言选择“English(USA)”。

相关文档