天天看点

RHCE认证培训+考试七天实录(一)

时隔三个多月,终于又再次来到济南参加RHCE认证的学习培训,还是那所培训机构,还是那位老师,只是同学们都换成了新面孔,而季节也由盛夏过度到了初冬。照例还是将每天的学习过程记录下来,为自己留下第一手的资料,同时希望也能为大家提供一些帮助。

<b>第一天(11月26日)</b>

第一天的主要内容是搭建Web服务器,这也是RHCE考试最重要的内容。

<b>1、Apache概述</b>

在Linux系统中使用Apache实现Web服务器,互联网中大约60~70%的Web服务器基于Apache实现。Apache来源于NCSA(由欧洲量子实验室开发),现在由Apache软件基金会(ASF)负责管理和开发,其官网为httpd.apache.org。

<a target="_blank" href="http://blog.51cto.com/attachment/201211/183859792.jpg"></a>

Apache的特点:开源,模块化设计(可以灵活添加各种功能),跨平台应用(可以用于Windows、UNIX/Linux系统)。缺点:默认只有256个并发连接,运行速度偏慢,效率较低。目前已经出现了一些取代它的软件,如nginx。

Apache有两个版本分支:1.x和2.x,目前使用的都是2.x版本,最新版本为2.2.15。

Apache的服务进程为httpd,查看系统中是否已安装Apache:

[root@localhost ~]# rpm -qa | grep httpd

httpd-tools-2.2.15-15.el6_2.1.x86_64

如果Apache没有安装,可以用yum安装:

[root@localhost ~]# yum install httpd httpd-manual

httpd-manual是Apache的帮助手册。

Apache的一些常用命令:

# service httpd start        启用httpd服务

# service httpd stop        停止httpd服务

# service httpd status       查看httpd服务的状态

# service httpd restart      重启httpd服务

httpd服务启动之后会开放80端口,利用netstat命令查看系统开放的端口:

[root@localhost ~]# netstat -an | grep :80

只要80端口开放,www服务器就可以正常访问,如果有问题,多半是防火墙的原因。

另:在/etc/services中注明了所有的端口对应的服务。可以用grep命令在其中查找相应端口的信息。

<b>2、httpd.conf配置文件</b>

Apache的配置文件是/etc/httpd/conf/httpd.conf,服务器的配置信息全部存储在这个文件中,如果修改了配置文件,就必须重启httpd服务才可以生效。

httpd.conf文件中的内容非常多,用wc命令统计一共有1004行,其中大部分是以#开头的注释行。所以对httpd.conf的配置一般采用搜索的方式对常用项目进行设置,在vim命令模式下输入“/”,后面跟上要搜索的内容。

<a target="_blank" href="http://blog.51cto.com/attachment/201211/184202137.jpg"></a>

下面是配置文件中的一些比较重要的设置项目。

   apache的默认主目录

DocumentRoot "/var/www/html"

如果更改了主目录的位置(不是在/var/www目录下),需要用“setenforce 0”命令将SELinux关闭,所以主目录一般不建议更改。

   apache的默认主页

DirectoryIndex index.html index.html.var

    默认侦听的端口

Listen 80           

   客户端在访问Apache服务器时默认使用的用户apache和组apache

User apache

Group apache

   从ftp://192.168.0.254/pub/station.html下载文件,并且将文件重命名为index.html。

   将文件拷贝到web服务器的主目录下,不能对文件index.html的内容做任何修改。

   我的电脑的IP为192.168.0.114,域名server14.example.com与IP的对应关系已经在DNS服务器中创建好了。

操作步骤:

首先从服务器下载文件:

[root@server14 ~]# wget ftp://192.168.0.254/pub/station.html

将文件改名并移动到主目录中:

[root@server14 ~]# mv station.html /var/www/html/index.html

打开浏览器,输入网址http://server14.example.com,可以正常访问页面,操作完成。

<b>3、构建虚拟主机</b>

虚拟主机指的是在同一台服务器中运行多个Web站点。

有三种技术可以实现虚拟主机。

基于域名的虚拟主机:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。例如,www.example.com和www.accp.com站点的IP地址都是192.168.0.1。这是使用最为普遍的虚拟主机类型。

基于IP地址的虚拟主机:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛

基于端口的虚拟主机:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。此种方式也很少使用。

在RHCE考试中只考察基于域名的虚拟主机。

  设置主目录为/var/www/virtual

  将文件index.html放到虚拟主机的主目录下,不要对文件的内容做任何更改。

  确保harry用户能够在/var/www/virtual目录下创建文件。

同样的,www14.example.com与IP的对应关系已在DNS服务器中设置好了。

首先创建虚拟主机的主目录:

# mkdir /var/www/virtual

从服务器下载文件:

[root@server14 ~]# wget ftp://192.168.0.254/pub/www.html

[root@server14 ~]# mv www.html /var/www/virtual/index.html

修改配置文件httpd.conf:

[root@server14 ~]# vim /etc/httpd/conf/httpd.conf

按G将光标移动到文件末尾,增加如下内容:

NameVirtualHost 192.168.0.114

&lt;VirtualHost 192.168.0.114&gt;

    DocumentRoot /var/www/virtual/

    ServerName www14.example.com

&lt;/VirtualHost&gt;

在末行模式下按wq保存退出。

这些增加的内容的含义:

    NameVirtualHost 192.168.0.114

表示在192.168.0.114这台主机上启用虚拟主机功能。

    &lt;VirtualHost 192.168.0.114&gt;……&lt;/VirtualHost&gt;

这是虚拟主机的标准格式,每增加一台虚拟主机就要添加这样一个段落。

     DocumentRoot /var/www/virtual/

指定虚拟主机的主目录。

     ServerName www14.example.com

指定虚拟主机的域名。

最后将httpd服务重启后生效。

# service httpd restart

打开浏览器,在地址栏中输入http://www14.example.com/,就可以访问虚拟主机站点了。

<b>4、访问控制</b>

对Apache网站的访问控制可以采用基于用户的访问控制,或是基于客户机地址的访问控制两种方式。

(1)基于用户的访问控制

注意,此用户与系统用户没有任何关系。

例题3:设置网站server14.example.com下面的private子目录需要通过用户身份验证才能访问,只有输入用户名harry或natasha以及相应的密码才能访问。

首先创建子目录:

# mkdir /var/www/html/private

然后在子目录中创建网页:

# vim /var/www/html/private/index.html

下面修改配置文件httpd.conf,在文件末尾增加下面的部分:

    DocumentRoot /var/www/html/

    ServerName server14.example.com

&lt;Directory /var/www/html/private&gt;

    AuthName "test"

    AuthType Basic

    AuthUserFile /etc/httpd/conf/.htpasswd

    require valid-user

&lt;/Directory&gt;

其中的设置项目的含义:

    &lt;Directory /var/www/html/private&gt;……&lt;/Directory&gt;,表示对目录“/var/www/html/private”进行访问控制设置。

     AuthName:定义受保护的领域名称,将在弹出的认证登陆对话框中显示。

     AuthType:设置认证的类型,Basic为基本认证

     AuthUserFile:设置用于保存用户帐号、密码的认证文件路径。(可以自由定义)

     require valid-user:授权给认证文件中的所有有效用户

最后这一项也可以写成“Require User [用户名]”,指定一个用户名,这样无论认证文件中如何定义,只有该用户可以访问。

设置完成后,保存退出httpd.conf。

接下来创建存储认证用户账号及口令的文件:

# htpasswd –cm /etc/httpd/conf/.htpasswd harry

-c,创建文件   -m,MD5加密

如果要再加入别的用户,需要去掉-c选项

# htpasswd –m /etc/httpd/conf/.htpasswd natasha

重启httpd服务,配置完成:

(2)基于客户机地址的访问控制

考试时只考察这种方式,这种方式相对比较简单。

例题4:设置网站server14.example.com下面的private子目录只允许在本机访问(本机IP:192.168.0.114)。

修改配置文件,增加下面的部分:

# vim /etc/httpd/conf/httpd.conf

   Order allow,deny

   Allow from 192.168.0.114

     Order allow,deny   定义控制顺序,先允许后拒绝,默认拒绝所有。

     Allow from 192.168.0.114 设置允许访问的地址,地址可以是多个,如Allow from 192.168.0.114 192.168.0.115。再如

Allow from 192.168.0.0/24

Deny from 192.168.0.100

表示只允许192.168.0.0/24网段中的主机访问网站,192.168.0.100除外。

重启httpd服务生效:

此时只有IP为192.168.0.114的主机(也就是本机)能访问这个网站。

<b>5、实现https安全访问</b>

实现https访问,首先需要为web站点申请证书,由于还没有搭建CA服务器,这里就使用本机自认证的证书。

apache默认并不支持安全访问功能,所以需要为apache安装ssl模块:

# yum install mod_ssl

另外,https不支持虚拟主机技术,在一台服务器上只允许有一个启用该功能的网站。所以这里还要把之前配置的虚拟主机的相关行前面加“#”,将之全部注释掉。

做完上面的设置后,在客户机就可以使用https方式访问网站了。

<b>6、构建LAMP平台</b>

LAMP即Linux、Apache、MySQL、PHP,使用它们可以构建出目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境。

首先在系统中安装mysql和php:

# yum install httpd mysql mysql-server php php-mysql

在网站主目录中生成一个php的测试网页:

# vim /var/www/html/a.php

&lt;?php

phpinfo();

?&gt;

保存退出。

然后在浏览器中输入server14.example.com/a.php就可以打开PHP的信息页面。

例题5:利用LAMP搭建一个bbs论坛。

这里用到的论坛程序是Discuz!,首先从服务器里下载Discuz!的压缩文件包Discuz_X2.5_SC_UTF8.zip,将之解压到网站主目录中:

# cd /var/www/html

# uzip Discuz_X2.5_SC_UTF8.zip

解压后会生成一个名为upload的目录,这是bbs的主目录,将之改名为bbs:

# mv upload bbs

重启数据库:

# service mysqld start

指定数据库的管理员及密码(注意,此root并不是Linux系统的根用户root)

# mysqladmin –u root password “123”

重启httpd服务:

在浏览器中输入“server14.example.com/bbs”,打开论坛的设置界面:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/191901526.jpg"></a>

检查安装环境,要保证所有项目都是绿勾:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192252378.jpg"></a>

安装数据库,并设置管理员账户admin及密码:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192314814.jpg"></a>

安装完成后,关闭浏览器,再次打开浏览器,在地址栏中输入“server14.example.com/bbs”,就可以正常打开论坛的首页,输入用户名admin及密码登录:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192410279.jpg"></a>

进入“管理中心”,在“论坛”选项卡中可以对论坛中的版块进行设置:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192440713.png"></a>

返回首页,就可以看到我们搭建好的论坛了:

<a target="_blank" href="http://blog.51cto.com/attachment/201211/192505178.png"></a>

 本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1071201

<b></b>

<b> </b>