使用Apache服務部署靜態網站

1. 網站服務程序

  windows系統中默認Web服務程序是IIS(Internet Information Services),這是一款圖形化的網站管理工具,IIS程序不光能提供Web網站服務,還可以提供FTP、NMTP、SMTP等服務功能,但只能在Windows中使用。html

  nginx---最初於2004年10月4日爲俄羅斯知名門戶站點而開發的,做爲一款輕量級的網站服務軟件,因其穩定性和豐富的功能而深受信賴,但最最最被承認的是低系統資源、佔用內存少且開發能力強,目前國內如新浪、網易、騰訊等門戶站均使用。linux

  Apache---因爲其跨平臺和安全性普遍被承認且擁有快速,可靠,簡單的API擴展,目前擁有很高的Web服務軟件市場佔用率,全球使用最多的Web服務軟件,開源、跨平臺(可運行於Unix/linux/windwos中)nginx

  支持基於IP或域名的虛擬主機apache

  支持多種方式的HTTP認證windows

  集成代理服務器模塊瀏覽器

  安全Socket層(SSl)安全

  可以實時監視服務狀態與定製日誌服務器

  多種模塊的支持網絡

  Tomcat----屬於清涼級的Web服務軟件,通常用於開發和調試JSP代碼,一般認爲Tomcat是Apache的擴展程序ide

2. 安裝Apache服務程序

  前面的博客http://www.javashuo.com/article/p-chpqzcdq-cp.html介紹瞭如何Yum和網卡的配置,在準備工做作好後:

  (1)yum install httpd

  (2)systemctl start httpd

  (3)systemctl enable httpd   // 設置爲開機自動啓動

  (4)打開瀏覽器http://127.0.0.1進行測試

3. 配置服務文件參數

  服務目錄: /etc/httpd

  配置文件: /etc/httpd/conf/httpd.conf

  網站數據目錄: /var/www/html

  訪問日誌:/var/log/httpd/access_log

  錯誤日誌: /var/log/httpd/error_log

  配置文件相關參數:

  ServerRoot: 服務目錄

  ServerAdmin: 管理員郵箱

  User: 運行服務用戶

  Group: 運行服務的用戶組

  serverName: 網站服務器的域名

  DocumentRoot: 網站數據目錄

  Listen: 監聽的IP地址與端口

  DirectoryIndex: 默認的索引頁面

  ErrorLog: 錯誤日誌文件

  CustomLog: 訪問日誌文件

4. 強制訪問控制安全子系統

  

  SELinux全稱爲Security-Enhanced Linux是美國國家安全局在Linux社區幫助下開發的一個強制訪問控制的安全子系統,SELinux屬於MAC強制訪問控制(Mandatory),即讓系統中的各個服務進程都收到約束,即僅能訪問到所須要的文件

  enforcing:安全策略強制啓用模式,將會攔截服務的不合法請求

  permissive:遇到服務越權訪問只會發出警告而不強制攔截

  disable:對於越權的行爲不警告,也不攔截

  

  SELinux安全策略包括域和安全上下文:

  SELinux域:對進程資源進行限制(參看方式:ps -Z)

  SELinux安全上下文:對系統資源進行限制(查看方式:ls -Z)

  semanage命令用於查詢與修改SELinux的安全上下文,格式爲semanage [選項] [文件]

  -l:查詢

  -a:增長

  -m:修改

  -d:刪除

  restorecon命令用於恢復SELinux文件安全上下文:restorecon [選項] [文件]

  -i:忽略不存在的文件

  -e: 排除目錄

  -R: 遞歸目錄(針對目錄使用)

  -v:顯示詳細的過程

  -F:強制恢復

  更多詳細參數參考:http://man.linuxde.net/semanage

5. 虛擬網站主機功能(基於IP)

(1)使用nmtui命令爲網卡添加多個IP地址(192.168.10.10/20/30),當用戶訪問不一樣IP地址時顯示不一樣的網站頁面

(2)重啓網卡設備後ping檢查是否配置正確

  systemctl start network

  若start network失敗,能夠使用 cat /var/log/messages | grep network進行查看日誌消息

  ping 192.168.10.10

(3)分別建立網站數據目錄,針對不一樣的ip

mkdir -p /home/wwwroot/10
mkdir -p /home/wwwroot/20
mkdir -p /home/wwwroot/30

echo "ip:192.168.10.10" > /home/wwwroot/10/index.html
echo "ip:192.168.10.10" > /home/wwwroot/20/index.html
echo "ip:192.168.10.10" > /home/wwwroot/30/index.html

(4)在/etc/http/conf/httpd.conf配置文件中編輯基於IP的虛擬主機

<virtualhost 192.168.10.10>
DocumentRoot /home/wwwrppt/10
ServerName fate0729
<Directory>
AllowOverride None
Require all granted    
Order allow,deny
Allow from 192.168.10.0/24
</Directory>    
</virtualhost>

..............

(5)重啓apache和加入到開機項

  systemctl restart httpd

  systemctl enable httpd

 (6)修改網絡數據目錄的SELinux安全上下文

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*

....................
// 當即恢復SELinux安全上下文
restorecon -Rv /home/wwwroot

(7)這樣咱們就能夠輸入網址進行測試了,若打開網頁失敗,能夠關閉防火牆,iptables -F

相關文章
相關標籤/搜索