1. 程式人生 > 其它 >[Apache 相關配置]

[Apache 相關配置]

Apache 網站伺服器 (httpd服務)

http 超文字傳輸協議
埠是 80/TCP
https 經TLS/SSL安全加密的超文字傳輸協議
埠是 443/TCP
網站內容預設存放路徑 /var/www/html

一、配置預設的Apache服務

1、安裝httpd的前提

(Yum 和 IP)詳情請看 Linux的基礎操作

1)有client(客戶機)、server(服務機)     客戶機測試,可以用Windows
2)client(客戶機)、server(服務機)都配置好 同一網段的網路		
3)server(服務機)配置yum源

2、安裝httpd服務

root@localhost ~]# yum  -y  install  httpd

root@localhost ~]# systemctl  restart  httpd

root@localhost ~]# systemctl  enable   httpd			安裝好後設置為開機自啟

3、配置防火牆 及 測試

root@localhost ~]# firewall-cmd --permanent --add-service=http

root@localhost ~]# firewall-cmd --reload
		也可以選擇關閉防火牆

root@localhost ~]# curl http://192.168.100.10			用curl命令開啟連結
root@localhost ~]# firefox http://192.168.100.10		用火狐開啟連結	

二、配置基於使用者的個人網站

基於第一步的基礎上開始做

1、修改基於使用者的httpd配置檔案

root@localhost ~]# vim  /etc/httpd/conf.d/userdir.conf		
         UserDir  enabled  		  開啟
         UserDir  public_html  	  去#註釋

2、新建使用者並建立個網頁

root@localhost ~]# useradd  user0  			建立個user0的使用者

root@localhost ~]# cd  /home/user0/			

root@localhost user0]# mkdir  public_html		在user0的家目錄裡建立public_html檔案

root@localhost user0]# echo  "this is website for user0">>index.html		把一個短句列印到超連結檔案裡

3、修改使用者網頁檔案的訪問許可權

root@localhost ~]# chmod  o+x  /home/user0			給其他使用者加執行許可權

root@localhost ~]# systemctl  restart  httpd		重啟服務

4、修改selinux許可權 並 測試

root@localhost ~]# getsebool  -a|grep  home				檢視home下的selinux許可權

root@localhost ~]# setsebool  httpd_enable_homedirs  on 		

root@localhost ~]# curl http://192.168.100.10/~user0			用curl命令開啟連結
root@localhost ~]# firefox http://192.168.100.10/~user0			用火狐開啟連結	

三、配置基於域名訪問的虛擬主機

虛擬主機就是 不在預設路徑裡 /var/www/html
例如 www.one.com 創在/www裡

1、新建虛擬主機的網頁檔案

root@localhost ~]# mkdir  /www/	

root@localhost ~]# chmod  o+x  /www

root@localhost ~]# cd  /www

root@localhost ~]# mkdir  one

root@localhost ~]# cd  one

root@localhost one]# echo "this is a web for virtual host  www.one.com">>index.html

1、配置輔配置檔案

root@localhost one]# cd /etc/httpd/conf.d
root@localhost conf.d]# vim  one.conf		新建一個one.conf的配置檔案
	   <Directory /www/one>
				Require all granted
	   </Directory>
	   <VirtualHost 192.168.100.10>
				ServerName www.one.com
				DocumentRoot /www/one/
		</VirtualHost>

2、配置域名解析 並 重啟服務

root@localhost ~]# vim /etc/hosts         服務端和客戶端都要加
	 192.168.100.10   www.one.com
	 
root@localhost ~]# systemctl  restart httpd

3、修改網頁檔案的selinux上下文型別

root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'			把/www目錄下的上下文型別都修改成  httpd_sys_content_t 

root@localhost ~]# restorecon  -RFv  /www					強刷上下文型別

root@localhost ~]# curl http://www.one.com			用curl命令開啟連結
root@localhost ~]# firefox http://www.one.com		用火狐開啟連結	

四、基於埠訪問虛擬主機

例如192.168.100.10:8088

1、新建虛擬主機的網頁檔案

root@localhost ~]# mkdir  /www/8088

root@localhost 8088]# echo "this is port 8088 for website www.one.com">>index.html

2、修改 配置檔案

root@localhost 8088]# cd /etc/httpd/conf.d

root@localhost conf.d]# vim  8088.conf				在輔配置檔案做修改
	  <Directory /www/8088/>
			Require all granted
	  </Directory>
	  <virtualHost 192.168.100.10:8088>
			DocumentRoot /www/8088/
			
root@localhost ~]# cd  /etc/httpd/conf/

root@localhost ~]# vim  httpd.conf					在主配置檔案裡做修改
      Listen  8088									新增一行

3、修改 selinux設定

將8088埠加入httpd服務埠型別

root@localhost ~]# semanage port -a 8088 -t http_port_t -p tcp
root@localhost ~]# semanage port -a 8089 -t http_port_t -p tcp
root@localhost ~]# semanage port -l | grep  http

4、在防火牆裡放行8088埠 並測試

root@localhost ~]# firewall-cmd  --permanent  --add-port=8088

root@localhost ~]# firewall-cmd  --reload

root@localhost ~]# firewall-cmd  --list-all

root@localhost ~]# curl http://192.168.100.10:8088			用curl命令開啟連結
root@localhost ~]# firefox http://192.168.100.10:8088		用火狐開啟連結	

五、配置基於TLS加密的虛擬主機

剛剛安裝Apache服務,沒有做過任何配置
不能做基於使用者訪問

安裝TLS加密軟體
root@localhost ~]# yum -y install mod_ssl
	
生成金鑰
root@localhost ~]# openssl genrsa >tlsweb.key
	
生成證書請求檔案
root@localhost ~]# openssl req -new -key tlsweb.key > tlsweb.csr
	
生成證書檔案
root@localhost ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt
	
修改ssl.conf配置檔案
root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf
      SSLCertificateFile /etc/pki/tls/certs/tlsweb.crt
      SSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key
	  
把證書檔案拷貝到certs/路徑下面
root@localhost ~]# cp tlsweb.crt /etc/pki/tls/certs/
	
把祕鑰檔案拷貝到private/路徑下面
root@localhost ~]# cp tlsweb.key /etc/pki/tls/private/
	
重啟服務
root@localhost ~]# systemctl restart httpd
	
使用瀏覽器訪問
root@localhost ~]# firefox https://192.168.100.10