1. 程式人生 > >Apache基本配置

Apache基本配置

curl -I +域名|ip ##獲取域名或ip的header資訊,包括HTTP返回狀態碼,server型別,文字型別,快取時間等。

1.anpache的安裝

yum install httpd -y
systemctl start httpd
systemctl stop firewalld
systemctl enable httpd
systemctl disable firewalld

apache資訊

1.apache的預設釋出檔案

index.html

2.apache的配置檔案

/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

3.apache的預設釋出目錄

/var/www/html

4.apache的預設埠 80

2. apache的基本配置

1.修改預設釋出檔案

1> vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex westos.html (/var/www/html/westos.html)
2> systemctl restart httpd

2.修改預設釋出目錄

當selinux是disable狀態

1> vim /etc/httpd/conf/httpd.conf

     120 DocumentRoot "/westos/html"
<Directory "/westos/html"> Require all granted </Directory>

這裡寫圖片描述
2> systemctl restart httpd

當selinux是enforcing狀態
1> vim /etc/httpd/conf/httpd.conf

    120 DocumentRoot "/westos/html"
        <Directory "/westos/html">
        Require all granted  ##允許所有人訪問
        </Directory
>

2> systemctl restart httpd

3> semanage fcontext -a -t httpd_sys_content_t ‘/westos(/.*)?’ ##修改安全上下文
4> restorecon -RvvF /westos
修改完成重啟服務,可在瀏覽器訪問。
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

3.apache的訪問控制

設定ip的訪問

vim /etc/httpd/conf/httpd.conf

120 <Directory "/westos/html">  ##允許所有人訪問/westos/html目錄但是拒絕250主機
        Order Allow,Deny ##控制順序,先讀Allow檔案再讀Deny檔案
        Allow from All
        Deny from 172.25.254.250
    </Directory>
120  <Directory "/westos/html"> ##只允許250主機訪問html目錄
        Order Deny,Allow
        Allow from 172.25.254.250
        Deny from All   
    </Directory>

設定使用者的訪問

1> htpasswd -mc /etc/httpd/conf/userfile admin ##建立認證檔案
New password:
Re-type new password:
當再次新增使用者時 :
htpassword -m
2> vim /etc/httpd/conf/httpd.conf

<Directory "/westos/html">
    AuthUserFile /etc/httpd/conf/userfile ##使用者認證檔案
    AuthName "Please input your name and password"##使用者認證提示資訊
    AuthType basic  ##認證型別
    Require valid-user ##認證使用者,認證檔案中所有使用者都可以通過      
    [Require user admin##只允許認證檔案中admin使用者訪問,二寫一]
</Directory>

這裡寫圖片描述
訪問時需要密碼認證,admin使用者成功登陸
這裡寫圖片描述
這裡寫圖片描述

4.apache的虛擬主機

1.定義

可以讓我們的一臺apache伺服器釋出多個預設網頁,在被訪問不同域名的時候顯示不同的主頁

2.建立測試頁

1> mkdir /var/www/westos/news.westos.com -p
mkdir /var/www/westos/game.westos.com -p
2> echo “news.westos.com” >/var/www/westos/news.westos.com/index.html
echo “game.westos.com” >/var/www/westos/game.westos.com/index.html

3.配置

1> vim /etc/httpd/conf.d/default.conf ##未指定域名的訪問都訪問default

<Virtualhost_default_:80>       ##虛擬主機開啟的埠
    DocumentRoot "/westos/html" ##虛擬主機的預設釋出目錄
    CustomLog "logs/default.log" combined   ##虛擬主機日誌
</Virtualhost>

2> vim /etc/httpd/conf.d/news.conf ##指定域名news.westos.com的訪問到指定預設釋出目錄中

<Virtualhost *:80>
    ServerName news.westos.com
    DocumentRoot /var/www/westos/news.westos.com
    CustomLog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/westos/news.westos.com">   ##預設釋出目錄的訪問授權
    Require all granted
</Directory>

3> vim /etc/httpd/conf.d/game.conf ##指定域名game.westos.com的訪問到指定預設釋出目錄中

<Virtualhost *:80>
    ServerName game.westos.com
    DocumentRoot /var/www/westos/game.westos.com
    CustomLog "logs/game.log" combined
</Virtualhost>
<Directory "/var/www/westos/game.westos.com">   ##預設釋出目錄的訪問授權
    Require all granted
</Directory>

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

4.測試

在瀏覽器所在主機中修改hosts
vim /etc/hosts
nameserver 172.25.254.229
systemctl restart network
在瀏覽器訪問:
www.westos.com ,在登陸時需要使用者認證是因為之前的設定
這裡寫圖片描述
news.westos.com
game.westos.com
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述