Web服務之Apache的安裝及配置
Apache的主要特點
(1)開放源代碼
(2)跨平臺應用
(3)支持各種Web編程語言
(4)模塊化設計
(5)運行穩定
(6)良好的安全性
安裝httpd服務器
? ? httpd服務器的安裝方法可以選用RPM安裝、源碼編譯安裝兩種方式,但是前者在功能上有些局限性,更多的是使用源碼編譯安裝。我們以下載的源碼包httpd-2.217.tar.gz為例,介紹httpd服務的定制安裝過程?
參考地址 http://httpd.apache.org/download.cgi?
(1)準備工作
? ? 可能有些服務器上已經使用RPM方式安裝了httpd服務,為了避免發生端口沖突、程序沖突等問題,建議卸載以前的httpd服務及相關依賴包
[root@localhost?~]#?rpm?-e?httpd?httpd-manual?webalizer?subversion?mod_python?mod_ssl?mod_perl? system-config-httpd?php?php-cli?php-ldap?php-common?mysql?dovecot?--nodeps
(2)源碼編譯及安裝
? ? 上圖配置中,各選項含義如下:
--prefix:指定了httpd服務程序安裝到哪個目錄下
--enable-so:啟用動態加載模塊支持,是httpd服務具備進一步擴展功能的能力
--enable-rewrite:啟用網頁地址重寫能力,用於網站優化及目錄遷移維護
--enable-charset-lite:啟用字符集支持,以便支持各種字符集編碼的網頁
--enable-cgi:啟用CGI腳本程序支持,便於擴展網站的應用訪問能力
(3)確認安裝結果
? ? 由於指定了安裝目錄,因此httpd服務的各種程序、模塊、幫助文件都將復制到此目錄下
? ? 主要子目錄的用途如下:
/usr/local/httpd/bin:存放httpd服務的各種執行程序文件,包括主程序httpd、服務控制工具apachectl等
/usr/local/httpd/conf:存放httpd服務各種配置文件,包括主配置文件httpd.conf、增強配置子目錄extra等
/usr/local/httpd/htdocs:存放網頁文檔,包括默認首頁文件index.html等
/usr/local/httpd/logs:存放httpd服務的日誌文件
/usr/local/httpd/modules:存放httpd服務的各種模塊文件
/usr/local/httpd/cgi-bin:存放各種CGI程序文件
(4)優化執行路徑
? ? 由於通過源碼編譯安裝的httpd服務,程序路徑並不在默認的搜索路徑中,為了使該服務在使用時更加方便,可以為相關程序添加符號鏈接
(5)添加httpd系統服務
? ?將httpd添加到系統服務,以便通過chkconfig進行管理,需要建立可控的腳本文件
? ? 成功執行上述操作後,系統每次進入3、5級別,httpd服務將自動運行。可以使用apachectl工具來控制httpd服務,也可以使用/etc/init.d/httpd腳本,都可以用來啟動httpd服務器程序
httpd服務器的基本配置
(1)確定網站名稱、IP地址(略)
? ? 這就不寫了,前面的文檔已經介紹了詳細步驟。配置IP地址為192.168.1.1,網站名稱為www.ysf.com,啟用bind服務
(2)配置並啟動httpd服務
1)配置httpd服務
? ? 編輯httpd的主配置文件httpd.conf,找到配置項“ServerName”,修改一行內容,用於設置網站的名稱
[root@localhost?~]#?vim?/usr/local/httpd/conf/httpd.conf
? ? 修改httpd.conf文件後,建議使用“apachectl -t”或“httpd -t”對配置進行語法檢查,如有錯誤,需要根據錯誤提示信息來修正配置
2)啟動httpd服務
(3)部署網頁文檔
? ? 網站根目錄默認位於/usr/local/httpd/htdocs下,需要將Web站點的網頁文檔復制或上傳到此目錄下,httpd默認提供了一個index.html的測試網頁,作為訪問網站時的測試網頁
(4)在客戶機訪問Web站點
? ? 默認情況下,iptables防火墻攔截http流量通信的,所以需要關閉iptables服務
(5)查看Web站點的訪問情況
? ? 這樣,一臺簡單的Web服務器就搭建成功了,下面介紹下httpd.conf配置文件的詳細信息
httpd.conf配置文件
(1)全局配置項
? ?以下列出了httpd.conf文件中最常用的全局配置項:
(2)區域配置項
? ? 在以上區域中,設置了一個根目錄的區域配置,其中的配置只對根區域有效,而不會作用於其他目錄區域
? ??
Web服務之Apache的安裝及配置