linux中web服務器的基本配置

一、實現一個web服務器

1、安裝web服務

yum -y install httpd

image.png

2、配置對應域名

我們可以在/etc/http/conf/ /etc/http/conf.d/ /etc/http/conf.modules.d/ 這三個目錄下創建以.conf爲結尾的文件,在重啓web服務時就會自動讀取配置文件。

<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName system1.group8.example.com
       <Directory "/var/www/html">(下列權限對應的目錄)
             <RequireAll>
                   Require all granted (允許所有)
                   Require not host .my133t.org (禁止某一個域)
             </RequireAll>
       </Directory>
       <Directory "/var/www/html/private">(不同的權限對應不同的目錄)
            Require all denied (禁止所有)
            Require local(只允許本地)
        </Directory>
</VirtualHost>

image.png

然後測試的時候要關閉防火牆以及selinux,或者通過設置防火牆和期望值來允許,這裏就直接全部關閉了

3、客戶端測試

curl system1.group8.example.com

image.png

curl system1.group8.example.com/private/

image.png

讓我們試一下本機連接

curl system1.group8.example.com/private/(後面‘/’一定要加)

image.png

不帶‘/’的後果(大家請注意)

image.png


二、配置安全web服務器

1、首先安裝安全協議包mod_ssl

yum -y install mod_ssl

image.png

安裝完成包之後可以在/etc/httpd/conf.d/目錄下發現一個爲ssl.conf文件

image.png

vim /etc/httpd/conf.d/ssl.conf

image.png

從裏面取出這五行代碼

image.png

2、配置配置文件

<VirtualHost *:443>(安全協議的端口爲443端口)
    DocumentRoot "/var/www/html"
    ServerName system1.group8.example.com
       <Directory "/var/www/html">
             <RequireAll>
                   Require all granted
                   Require not host .my133t.org
             </RequireAll>
       </Directory>
        SSLEngine on
        SSLProtocol all -SSLv2 -SSLv3
        SSLCertificateFile /etc/pki/tls/certs/system1.crt (已經簽名的證書)
        SSLCertificateKeyFile /etc/pki/tls/private/system1.key (證書的密鑰)
        SSLCACertificateFile /etc/pki/tls/certs/ssl-ca.crt(此證書的CA認證中心)
</VirtualHost>

image.png

重新啓動httpd服務

systemctl restart httpd

image.png

3、客戶端測試

curl -k +測試地址  (curl 中的 -k 爲忽視證書的合法性測試)

image.png


三、配置虛擬主機

1、配置配置文件,添加一個新的以端口,地址,或者域名不同的虛擬主機,這裏以域名爲列子

vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>    DocumentRoot "/var/www/virtual" (新的DocumentRoot目錄)    ServerName ceshi.com                      (不同的域名)       <Directory "/var/www/virtual">        (對該目錄做的權限)             <RequireAll>                   Require all granted             </RequireAll>       </Directory>        <Directory "/var/www/virtual/private">   (目錄下的子目錄不同權限)            Require all denied            Require local        </Directory></VirtualHost>

image.png

重新啓動httpd服務

systemctl restart httpd

2、客戶端測試

curl ceshi.com

image.png


四、基於AllowOverride實現認證

1、配置配置文件

<VirtualHost>
DocumentRoot "/var/www/html/admin"
ServerName haha.com
<Directory "/var/www/html/admin">
        AllowOverride none
        AuthType Basic
        AuthName "Please login"
        AuthUserfile "/etc/httpd/conf/.htpasswd"
        Require user xixi
</Directory>
</VirtualHost>

image.png

2、添加用戶xixi

vim /etc/httpd/conf/.htpasswd

image.png

image.png

htpasswd -b -c -m /etc/httpd/conf/.htpasswd xixi centos

image.png

htpasswd -b -m /etc/httpd/conf/.htpasswd haha redhat

image.png

3、客戶端測試

image.png

image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章