认证目标1.07 配置默认的文件共享服务
RHEL 6版本的RHCSA考试目标包含下面两个附加目标:
● 配置一个系统以运行一个默认配置的HTTP服务器
● 配置一个系统以运行一个默认配置的FTP服务器
虽然考试中不会测试这两个目标,但是我们相信,相关的技能可以帮助考生设置实验题,为认证考试做好准备。
默认的HTTP服务器是Apache Web服务器。对应的默认FTP服务器是vsFTP。这些系统的默认安装中包含基本功能。
我们可以验证默认安装的操作,然后进一步将这些服务设置为共享文件,具体说就是从安装DVD上复制过来的文件。
将这些服务配置为共享文件非常简单。不需要对主要的配置文件做任何修改。假设SELinux已启用(在考试中它肯定已启用),则基本步骤如下:
● 挂载并复制RHEL 7安装DVD盘的内容到合适的目录;
● 确保已使用SELinux正确的上下文配置此目录的内容;
● 将上述服务配置为指向指定目录,并在系统引导时启动。
不同的服务其实现步骤自然也不一样。这里介绍的操作过程是最基本的。如果遇到新的命令或服务,仅是这些基本的内容也许不够。有关mount命令的更多信息请阅读第6章。想深入了解SELinux请阅读第4章。有关Apache Web服务器可阅读第14章。
1.7.1 挂载和复制安装DVD盘
mount命令可以把分区或DVD驱动器这样的设备连接到某个特定目录。例如,下面的命令将标准的DVD驱动器挂载到/media目录上:
# mount /dev/cdrom /media
如果DVD驱动器已正确配置,则应该在/etc/filesystems文件中自动找到合适的文件系统格式。这里DVD媒介的格式遵循iso9660标准。如果存在问题,将看到下面的错误消息:
mount: you must specify the filesystem type
另外,可以将ISO文件挂载到一个目录,而不使用物理DVD。例如,可以使用下面的命令来挂载RHEL 7 DVD ISO文件:
# mount -o loop rhel-server-7.0-x86_64-dvd.iso /media
下一步是把DVD的内容复制到所选择的文件服务器(FTP或HTTP)上配置的目录中。例如,下面这个命令以档案模式(-a)递归地复制文件。在/media目录后加上句点(.)时,将在复制命令中包含所有隐藏文件。
# cp -a /media/. /path/to/dir
实际使用的目录取决于服务器。当然,也可以将服务器配置为使用除默认位置的其他目录。
1.7.2 设置一个默认配置的Apache服务器
Apache Web服务器使用/var/www/html目录作为其默认网站的存储库。可以配置其子目录,用于文件共享。必须确保在现有的防火墙中打开80端口。
把Apache配置为RHEL安装服务器的过程与配置vsFTP的过程相似。练习1-2中要求把Apache服务器配置为一个安装服务器。首先用下面的命令确保Apache服务器已安装:
# yum -y install httpd
如果这条命令执行成功,就会在/etc/httpd/conf/目录中找到主要的Apache配置文件httpd.conf。为确保默认安装能正常运行,首先用下面的命令启动Apache服务:
# systemctl start httpd
接着,在安装有Apache的系统中打开一个浏览器,并用如下URL地址http://127.0.0.1/ 导航到本地主机(localhost)IP地址。图1-15给出了一个例子。
图1-15 默认Apache服务器运行的证明
如果本地防火墙中的端口80已打开,则从远程系统也可以访问这个页面。此外,要确保下次RHEL 7启动时Apache服务会自动启动,办法之一是用下面的命令:
# systemctl enable httpd
在引导过程中如何控制Apache服务等有关内容可以阅读第11章。虽然第11章属于RHCE考试范围,但这里的systemctl命令很简单。
1.7.3 练习1-2:把Apache服务器配置为安装服务器
在这个练习中,我们要安装Apache Web服务器,并且把它配置为一个适合于RHEL 7安装的文件服务器。需要准备一个RHEL 7 DVD副本或者ISO格式的相关文件。本练习的操作步骤包括创建合适的目录、复制安装文件、设置一个适合的SELinux上下文、打开现有防火墙中的80端口以及重新启动Apache服务。这些都是基本步骤,Apache配置的详细过程将在第14章中讨论。
(1)把RHEL 7 DVD挂载到一个空目录上。可以使用以下两个命令,第一个命令挂载一个实际的物理CD或DVD,第二个命令挂载ISO文件:
# mount /dev/cdrom /media # mount -o loop rhel-server-7.0-x86_64-dvd.iso /media
(2)为安装文件创建一个适合的目录。由于Apache Web服务器文件的标准目录是/var/www/html,最简单的办法是用下面的命令在此目录下建立一个子目录:
# mkdir /var/www/html/inst
(3)从挂载的DVD中将文件复制到新目录中:
# cp -a /media/. /var/www/html/inst/
(4)使用chcon命令确保这些文件具有正确的SELinux安全上下文。命令中的-R可以使用从复制的安装文件递归生成的修改。--reference=/var/www/html开关选项应用来自此目录的默认SELinux上下文。
# chcon -R --reference=/var/www/html /var/www/html/inst
(5)打开与Apache Web服务器相关的80端口。为此,在命令行中执行下面的命令。第4章和第10章将详细介绍如何配置防火墙。
# firewall-cmd --permanent --add-service=http # firewall-cmd --reload
(6)使用下面的命令,确保Apache Web服务器正在运行,且在系统引导时启动:
# systemctl restart httpd # systemctl enable httpd
Apache Web服务器现在可以作为文件服务器使用,该服务器共享RHEL 7 DVD的安装文件。为了验证,把浏览器指向此服务器的IP地址和inst/子目录。如果IP地址为192.168.122.1,则使用下面的导航地址:
http://192.168.122.1/inst
如果成功,则看到如图1-16所示的页面,里面有许多可以下载和单击的文件:
图1-16 浏览RHEL 7 DVD中的文件
1.7.4 通过FTP服务器共享复制文件
vsFTP服务器的Red Hat实现中包含一个/var/ftp/pub目录,用来保存发布文件。出于安装文件的考虑,我们可以创建/var/ftp/pub/inst目录。为使系统与SELinux兼容,需要用一个命令修改这些文件的安全上下文。当启动或重新启动vsFTP服务器时,它就可以用作安装服务器。此过程在实验题2中有详细描述。假设系统已使用RHSM或者从重构发行版与远程库建立了正确的连接,则用下面的命令安装最新版本的vsFTP:
# yum install vsftpd
如果安装成功,就会在/etc/vsftpd目录中找到主要的vsFTP配置文件——vsftpd.conf,并在/var/ftp/pub中找到主要数据目录。确保用下面的命令启动vsFTP服务:
# systemctl start vsftpd
因为现在Web浏览器可以访问FTP服务器,所以只要导航到ftp://127.0.0.1/地址就可以验证本地系统上FTP服务器的默认配置。如果使用Firefox Web浏览器,则默认的结果如图1-17所示。这里显示出的pub/目录实质上就是/var/ftp/pub目录。
图1-17 访问默认FTP服务器
注意vsFTP服务器的安全。单击窗口中的Up To Higher Level Directory超链接。当前目录不会改变。连接到此FTP服务器的用户无法看到上一级目录,即/var/ftp,更不能从上一级目录下载文件。
要授权远程系统访问FTP服务,需要运行下面的命令:
# firewall-cmd --permanent --add-service=ftp # firewall-cmd --reload
此外,还要确保vsFTP服务器在下次RHEL 7引导后自动启动。方法之一是使用下面的命令:
# systemctl enable vsftpd
vsFTP后面的d表示daemon。有关在引导过程中如何控制vsFTP等服务的更多内容可以阅读第11章。第11章虽然属于RHCE内容,但是应该不难记住这个systemctl命令。