◆赵秀丽
(六盘水职业技术学院 贵州 553000)
2019 年国务院印发《国家职业教育改革实施方案》,提出了深化产教融合,发展以职业需求为导向、以实践能力培养为重点、以产学研用结合为途径的专业培养模式。作为高职院校的教师,在教学中必须做到产教融合,突出职业能力培养。Apache 服务器用于部署静态网站,本文就是利用企业中真实的案例为项目通过安装Apache 服务程序包、配置Apache 主程序、启动Apache服务,通过这三个步骤开展Apache 服务器构建这堂课。通过本节课学习,利用所学知识解决实际生活中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 后 看到测试页表示安装成功
(1)服务器文件介绍
(2)服务器主配置文件介绍
Apache 服务程序的配置文件:/etc/httpd/conf/httpd.conf,参数介绍如下(表1):
表1 参数
(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 步:访问验证结果。
Apache 可以运行在Unix、Linux、Windows 环境中,由于其跨平台和安全性的特点,被广泛认可。目前在Web 服务软件市场拥有很高的占有率,是全球使用最多的Web 服务软件。本文通过企业典型案例和教学过程对接,介绍了基于Red Hat Linux 7.0 环境Apache 服务器部署静态网站,其中最常用的是个人空间和基于IP 地址的Apache 服务器的搭建。在Apache 搭建中需要注意的问题有:为了数据安全性,防火墙不能关闭,要采用开启放行服务;安全策略也不能关闭,否则不安全,一定要合理设置安全策略。