◆趙秀麗
(六盤水職業技術學院 貴州 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 搭建中需要注意的問題有:為了數據安全性,防火墻不能關閉,要采用開啟放行服務;安全策略也不能關閉,否則不安全,一定要合理設置安全策略。