Linux unit9-apache

第九單元-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/admin
vim /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用戶訪問


測試:分別使用172.25.254.98和172.25.254.244用戶訪問http://172.25.254.198/admin

示圖:允許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文件內容


chmod +x index.cgi  ##添加可執行權限


vim /etc/httpd/conf/httpd.conf
示圖:配置文件添加內容

systemctl restart httpd
測試:
訪問http://172.25.254.198/cgi/index.cgi
示圖:測試結果


發佈了68 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章