一、實現一個web服務器
1、安裝web服務
yum -y install httpd
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>
然後測試的時候要關閉防火牆以及selinux,或者通過設置防火牆和期望值來允許,這裏就直接全部關閉了
3、客戶端測試
curl system1.group8.example.com
curl system1.group8.example.com/private/
讓我們試一下本機連接
curl system1.group8.example.com/private/(後面‘/’一定要加)
不帶‘/’的後果(大家請注意)
二、配置安全web服務器
1、首先安裝安全協議包mod_ssl
yum -y install mod_ssl
安裝完成包之後可以在/etc/httpd/conf.d/目錄下發現一個爲ssl.conf文件
vim /etc/httpd/conf.d/ssl.conf
從裏面取出這五行代碼
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>
重新啓動httpd服務
systemctl restart httpd
3、客戶端測試
curl -k +測試地址 (curl 中的 -k 爲忽視證書的合法性測試)
三、配置虛擬主機
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>
重新啓動httpd服務
systemctl restart httpd
2、客戶端測試
curl ceshi.com
四、基於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>
2、添加用戶xixi
vim /etc/httpd/conf/.htpasswd
htpasswd -b -c -m /etc/httpd/conf/.htpasswd xixi centos
htpasswd -b -m /etc/httpd/conf/.htpasswd haha redhat
3、客戶端測試