第九單元-apache設置
一、安裝開啓,及基本配置認識
1.安裝開啓
yum install httpd -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
2.基本配置
***1***默認發佈文件
index.html
***2***apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
***3***apache的默認發佈目錄
/var/www/html
***4***apache的默認端口
80
二、修改默認發佈文件和目錄
1.修改默認發佈文件vim /etc/httpd/conf/httpd.conf
示圖:修改內容,將index.html 改爲westos.html,或者將westos.html寫在index.html前邊也可以
示圖:westos.html文件內容
systemctl restart httpd ##重啓服務進行測試
測試:
訪問http://172.25.254.198
示圖:訪問結果
2.修改默認發佈目錄
####當selinux爲disabled狀態時
vim /etc/httpd/conf/httpd.conf
示圖:修改內容
mkdir /westos/www/test -p
cp /var/www/html/westos.html /westos/www/test/
vim /westos/www/test/westos.html
<h1>/westos/www/test/westos.html--Welcome<h1>
systemctl restart httpd
測試:
訪問http://172.25.254.198
示圖:測試結果
####當selinux爲enforcing狀態時
修改配置文件/tec/httpd/conf/httpd.conf如上所示,修改完畢後建立新的發佈目錄和發佈文件內容
systemctl restart httpd
getenforce ##查看當前selinux狀態,爲ehforcing
***修改新建立的發佈目錄的安全上下文
semanage fcontext -l | grep westos
示圖:修改前安全上下文類型
semanage fcontext -a -t httpd_sys_content_t '/westos/www/test(/.*)?' ##將/westos/www/test下所有文件的安全上下文的類型全部設置爲httpd_sys_content_t
restorecon -RvvF /westos/www/test ##刷新指定目錄的安全上下文
semanage fcontext -l | grep westos
示圖:修改後安全上下文
測試:
訪問:http://172.25.254.198
示圖:訪問結果
三、設定訪問
mkdir /var/www/html/adminvim /var/www/html/admin/westos.html
<h1>admin-Welcome<h1>
1.設定ip的訪問
vim /etc/httpd/conf/httd.conf
------------------
示圖:允許所有人訪問admin目錄但是拒絕98用戶訪問
測試:分別使用172.25.254.98和172.25.254.244用戶訪問http://172.25.254.198/admin
示圖:拒絕98訪問
示圖:允許其他用戶訪問
--------------------------------------
示圖:只允許98用戶訪問
示圖:允許98用戶訪問
2.設定用戶的訪問
htpasswd -cm /etc/httpd/accessuser admin ##首次建立用戶時,用參數c
htpasswd -m /etc/httpd/accessuser tom ##其餘用戶建立時,只需要參數m
示圖:用戶建立
cat /etc/httpd/accessuser ##查看用戶文件內容
示圖:文件內容
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
AuthUserFile /etc/httpd/accessuser ##用戶文件來源
AuthName "Please input your name and password!!!"
AuthType basic
Require valid-user ##所有用戶都可以使用用戶密碼訪問,Require user admin只許admin使用用戶密碼訪問
</Directory>
四、建立虛擬主機
1.爲虛擬主機建立發佈目錄及測試頁mkdir virtual/news.westos.com/html -p ##建立發佈目錄
mkdir virtual/money.westos.com/html -p
echo "<h1>news.westos.com<h1>" > virtual/news.westos.com/html/index.html ##建立測試頁
echo "<h1>money.westos.com<h1>" > virtual/money.westos.com/html/index.html
2.配置
vim /etc/httpd/conf.d/default.conf ##指定域名的訪問都訪問default
<Virtualhost _default_:80> ##虛擬主機開啓的端口
DocumentRoot "/var/www/html" ##虛擬主機的默認發佈目錄
CustomLog "logs/default.log" combined ##虛擬主機日誌
</Virtualhost>
vim /etc/httpd/conf.d/news.conf ##指定域名news.westos.com的訪問到指定默認發佈目錄中
<Virtualhost *:80>
ServerName "news.westos.com" ##域名名稱
DocumentRoot "/var/www/virtual/news.westos.com/html" ##指定默認發佈目錄
Customlog "logs/news.log" combined ##虛擬主機日誌
</Virtualhost>
<Directory "/var/www/virtual/news.westos.com/html"> ##給默認發佈目錄授權訪問
Require all granted ##都可以訪問
</Directory>
vim /etc/httpd/conf.d/money.conf ##指定域名money.westos.com的訪問到指定默認發佈目
錄中
<Virtualhost *:80>
ServerName "money.westos.com"
DocumentRoot "/var/www/virtual/money.westos.com/html"
Customlog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/virtual/money.westos.com/html">
Require all granted
</Directory>
測試:
訪問端修改解析文件/etc/hosts
添加內容:172.25.254.198 www.westos.com news.westos.com money.westos.com
示圖:解析文件內容
示圖:www.westos.com
示圖:news.westos.com
示圖:money.westos.com
五、配置httpd證書驗證及網絡重寫
1.安裝yum install mod_ssl crypto-utils -y
2.配置
genkey www.westos.com
示圖:操作過程
/etc/pki/tls/certs/www.westos.com.crt ##生成的證書
/etc/pki/tls/private/www.westos.com.key ##生成的鑰匙
vim /etc/httpd/conf.d/login.conf
<lhost *:443>
ServerName "login.westos.com"
DocumentRoot "/var/www/virtual/login.westos.com/html"
CustomLog "logs/login.log" combined
SSLEngine on ##開始https功能
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt ##證書
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key ##鑰匙
</Virtualhost>
<Directory "/var/www/virtual/login.westos.com/html"> ##給默認發佈目錄授權訪問
Require all granted
</Directory>
<Virtualhost *:80> ##網頁重寫實現自動訪問https
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
##重寫規則:
^(/.*)$ 客戶主機在地址欄中寫入的所有字符
https:// 定向稱爲鄂的訪問協議
%{HTTP HOST} 客戶請求主機
$1 $1的值就表示^(/.*)$
[redirect=301] 臨時重定向,302爲永久重定向
mkdir /var/www/virtual/login.westos.com/html -p
echo "<h1>login--Welcome<h1>" /var/www/virtual/login.westos.com/html/index.html
systemctl restart httpd
測試:
在訪問端添加解析
172.25.254.198 login.westos.com
訪問http://login.westos.com,會自動跳轉到https://login.westos.com實現網頁數據加密傳輸
示圖:獲取證書
示圖:訪問界面
六、語言
支持三種語言:php,html,cgi############
#####php####
############
yum install php -y
vim /var/www/html/index.php
示圖:php文件內容
systemctl restart httpd
測試:
訪問http://172.25.254.198/index.php
示圖:測試結果
############
####cgi#####
############
mkdir /var/www/html/cgi
vim idex.cgi
示圖:cgi文件內容
vim /etc/httpd/conf/httpd.conf
示圖:配置文件添加內容
systemctl restart httpd
測試:
訪問http://172.25.254.198/cgi/index.cgi
示圖:測試結果