基于Red Hat Enterprise Linux 7.0环境Apache 服务器部署静态网站的研究

2020-04-13 01:24:36赵秀丽
网络安全技术与应用 2020年4期
关键词:服务程序配置文件实例

◆赵秀丽

(六盘水职业技术学院 贵州 553000)

2019 年国务院印发《国家职业教育改革实施方案》,提出了深化产教融合,发展以职业需求为导向、以实践能力培养为重点、以产学研用结合为途径的专业培养模式。作为高职院校的教师,在教学中必须做到产教融合,突出职业能力培养。Apache 服务器用于部署静态网站,本文就是利用企业中真实的案例为项目通过安装Apache 服务程序包、配置Apache 主程序、启动Apache服务,通过这三个步骤开展Apache 服务器构建这堂课。通过本节课学习,利用所学知识解决实际生活中Apache 服务器构建的问题

1 搭建Apache 服务器的命令介绍

1.1 安装启动Apache 服务器

(1)配置yum 源

[root@localhost ~]# mkdir /mnt/cdrom1

[root@ localhost ~]# mount /dev/cdrom /mnt/cdrom1

[root@ localhost ~]# vim /etc/yum.repos.d/rhe.repo

[rhel7]

name=rhe

baseurl=file:///mnt/cdrom1

enabled=l

gpgcheck=0

安装Apache 服务

[root@ localhost ∽]# yum install httpd

(2)启动Apache 服务程序

[root@ localhost ∽]# systemctl start httpd

设置为开机自启动

[root@ localhost ∽]# systemctl enable httpd

(3)测试Apache 是否安装成功

[root@Linuxprobe ~]#Firefox 输入127.0.0.0 后 看到测试页表示安装成功

2 后缀机制配置服务文件参数

(1)服务器文件介绍

(2)服务器主配置文件介绍

Apache 服务程序的配置文件:/etc/httpd/conf/httpd.conf,参数介绍如下(表1):

表1 参数

3 搭建Apache 服务器配置实例

(1)实例一:搭建最简单的Apache 服务器(表2)

表2 搭建最简单的Apache 服务器

在Apache 服务器中默认网站数据存在/var/www/html 目录中,首页命名为index.html。使用echo 命令将指定的字符写入到网站数据目录中的index.html 文件中:

[root@ localhost∽]# echo “my web” > /var/www/html/inde x.html

[root@ localhost ∽]# firefox 再次打开浏览器,键入http://127.0.0.1,测试成功了!

(2)实例二:搭建设置根目录和首页的Apache 服务器

若想将网站数据放在/myweb 目录,需编辑Apache 服务程序的主配置文件:

[root@ localhost ∽]# vim /etc/httpd/conf/httpd.conf

修改119 行DocumentRoot 参数为“/myweb”,再修改123 行的“/var/www”为“/myweb”

建立网站数据目录:

[root@Linuxprobe ∽]# mkdir /myweb

创建首页文件(这里使用echo 命令写入:

[root@ localhost ∽]# echo “The New Web Directory” > > /myweb/index.html

重新启动Apache 服务:

[root@ localhost ∽]# systemctl restart httpd

放行httpd 服务:

[root@ localhost ∽]# firewall-cmd --permanet --add=httpd

重新加载防火墙:

[root@ localhost ∽]# firewall-cmd --reload

设置安全策略:

[root@ localhost ∽]#setenforce 0

永久设置SELinux 的方法如下:

第1 步:切换到SELinux 服务的配置文件目录“ /etc/seLinux”。

第2 步:编辑config 文件模式。

[root@ localhost ∽]# cd /etc/seLinux

[root@ localhost seLinux]# vim config

SELINUX=permissive

查询当前的SELinux 服务状态:

[root@ localhost ∽]# getenforce

测试:

打开浏览器:

[root@ localhost ∽]# firefox

键http://127.0.0.1,成功访问。

(3)实例三:搭建个人用户主页功能的Apache 服务器

Apache 服务程序中有个默认未开启的个人用户主页功能,能够为所有系统内的用户生成个人网站,确实很实用。

第1 步:编辑/etc/httpd/conf.d/userdir.conf 开启个人用户主页功能。

[root@localhos∽]# vim /etc/httpd/conf.d/userdir.conf

查找到UserDir disabled 修改为#UserDir disabled

查找到#UserDir public_html 修改为UserDir public_html

注意:UserDir 参数表示的是需要在用户家目录中创建的网站数据目录的名称(即public_html)。

重启Apache 服务程序:

[root@ localhost ∽]# systemctl restart httpd

第2 步:创建个人用户网站数据。

[root@ localhost home]# su user1

[user1@ localhost∽]$ mkdir public_html

[user1@ localhost ∽]$ echo “welcome to myweb”> public_html/index.html

[user1@ localhost∽]$ chmod -Rf 755 /home/user1

第3 步:设置SELinux 允许策略。

[user1@ localhost∽]# setsebool -P httpd_enable_homedirs=on

第4 步:测试。

在浏览器中输入http;//服务器的IP 地址/~user1,成功访问。

(4)实例四:基于IP 地址的Apache

基于IP 地址的Apache,就是指如果一台服务器有多个IP 地址,而且每个IP 地址与服务器上部署的每个网站—对应,当用户访问不同的IP 地址时,会访问到不同的网站资源。

第1 步:为网卡配置多个IP 地址(10.10.10.40/50/60)。

网卡配置多个IP 地址,可以用nmtui 命令,后使用systemctl restart network 重新启动网卡设备,再检查网络的连通性。

第2 步:在/var/www/html 目录下创建三个网站数据目录,分别在这三个网站数据目录中写入主页文件:

[root@localhost ∽]# mkdir /var/www/html/40

[root@localhost ∽]# mkdir /var/www/html/50

[root@localhost ∽]# mkdir /var/www/html/60

[root@localhost∽]# echo “ 10.10.10.40”> /var/www/html/4 0/index.html

[root@localhost ∽]# echo “10.10.10.40”> /var/www/html/5 0/index.html

[root@localhost ∽]# echo “10.10.10.40”> /var/www/html/6 0/index.html

第3 步:在/etc/httpd/conf/httpd.conf 文件中写入三个基于IP地址的虚拟主机参数,保存退出,并重启httpd 服务。

<VirtualHost 10.10.10.40>

DocumentRoot /var/www/html/40

ServerName www.localhost.com

〈Directory /var/www/html/40 >

AllowOverride None

Require all granted

〈/Directory〉

</VirtualHost>

<VirtualHost 10.10.10.50>

DocumentRoot /var/www/html/50

ServerName bbs.localhost.com

〈Directory /var/www/html/50>

AllowOverride None

Require all granted

〈/Directory〉

</VirtualHost>

<VirtualHost 10.10.10.60>

DocumentRoot /var/www/html/60

ServerName tech. localhost.com

〈Directory /var/www/html/60 >

AllowOverride None

Require all granted

〈/Directory〉

</VirtualHost>

第4 步:修改新的网站数据目录的SELinux 安全上下文,并使用restorecon 命令让新设置的SELinux 安全上下文生效。

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html /40

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html /40/*

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html /50

[root@localhost∽]# semanage fcontext -a -t httpd_sys_cont ent_t /var/www/html/50/*

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html/60

[root@localhost ∽]# semanage fcontext -a -t httpd_sys_con tent_t /var/www/html/60/*

立即恢复SELinux 安全上下文:

[root@localhost ∽]# restorecon -Rv /var/www/html

第5 步:分别访问10.10.10.40/50/60 验证结果。

(5)实例五:基于主机名的Apache

当服务器无法为每一个网站分配独立 IP 地址,可以让Apache 自动识别用户请求的域名,根据域名请求传输不同的内容。

第1 步:编辑/etc/hosts,设置IP 地址与域名的对应关系。

[root@Linuxprobe ∽]# vim /etc/hosts

10.10.10.10 wwm.localhost.com gds.localhost.com rrb.loc alhost.com

第2 步:在/var/www/html 下创建三个子目录,存放不同网站数据,并向网站的首页文件中写入内容。

[root@localhost ∽]# mkdir /var/www/html/wwm

[root@localhost ∽]# mkdir /var/www/html/gds

[root@localhost ∽]# mkdir /var/www/html/rrb

[root@localhost∽]# echo “gds.localhost.com” > /var/www/html/wwm/index.html

[root@localhost ∽]# echo “gds.localhost.com” > /var/www/html/gds/index.html

[root@localhost ∽]# echo “rrb.localhost.com”> /var/www/ht ml/rrb/index.html

第3 步:在配置文件中描述基于主机名称的虚拟主机。

编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息:<VirtualHost 10.10.10.10>

DocumentRoot “/var/www/html/wwm”

ServerName “wwm.localhost.com”

〈Directory “/var/www/html/wwm ”>

AllowOverride None

Require all granted

</directory>

</VirtualHost>

<VirtualHost 10.10.10.10>

DocumentRoot “/var/www/html/gds ”

ServerName “ gds.localhost.com ”

〈Directory “/var/www/html/gds ”〉

AllowOverride None Require all granted

〈/Directory〉

</VirtualHost>

<VirtualHost 10.10.10.10>

DocumentRoot “/var/www/html/rrb ”

ServerName “ rrb.localhost.com ”

〈Directory “/var/www/html/rrb ”〉

AllowOverride None Require all granted

</directory>

</VirtualHost>

第4 步:修改网站数据目录的SELinux 安全上下文:

[root@Linuxprobe ∽]# semanage fcontext -a -t httpd_sys_c ontent_t /var/www/html

[root@Linuxprobe ∽]# semanage fcontext -a -t httpd_sys_c ontent_t /var/www/html/wwm [root@Linuxprobe ∽]# semanage fcontext -a -t httpd_sys_content_t /var/www/html/wwm/*

[root@Linuxprobe ∽]# semanage fcontext -a -t httpd_sys_c ontent_t /var/www/html/gds [root@Linuxprobe ∽]# semanage fc ontext -a -t httpd_sys_content_t /var/www/html/gds/*

[root@Linuxprobe ∽]# semanage fcontext -a -t httpd_sys_c ontent_t /var/www/html/rrb [root@Linuxprobe ∽]# semanage fc ontext -a -t httpd_sys_content_t /var/www/html/rrb/*

让新的SELinux 安全上下文立即生效:

[root@Linuxprobe ∽]# restorecon -Rv /var/www/html

第5 步:访问验证结果。

5 结束语

Apache 可以运行在Unix、Linux、Windows 环境中,由于其跨平台和安全性的特点,被广泛认可。目前在Web 服务软件市场拥有很高的占有率,是全球使用最多的Web 服务软件。本文通过企业典型案例和教学过程对接,介绍了基于Red Hat Linux 7.0 环境Apache 服务器部署静态网站,其中最常用的是个人空间和基于IP 地址的Apache 服务器的搭建。在Apache 搭建中需要注意的问题有:为了数据安全性,防火墙不能关闭,要采用开启放行服务;安全策略也不能关闭,否则不安全,一定要合理设置安全策略。

猜你喜欢
服务程序配置文件实例
基于移动终端的人事信息员工自助服务系统设计
提示用户配置文件错误 这样解决
基于移动终端的人事信息员工自助服务系统设计
基于C#的进程守护程序的设计
视听(2020年3期)2020-06-11 14:28:18
搭建简单的Kubernetes集群
互不干涉混用Chromium Edge
忘记ESXi主机root密码怎么办
水利工程施工监理服务程序及质量控制
完形填空Ⅱ
完形填空Ⅰ