標籤:des c tar http a color
第四章 構建LAMP網站服務平台
實驗報告
1、安裝apache伺服器軟體及相關組件
查看系統中是否安裝apache服務相關的軟體包:
[[email protected] /]# rpm -qa | grep httpd
----------------------------------------------------------------
httpd-2.2.3-31.el5 apache伺服器程式軟體包
httpd-manual-2.2.3-31.el5 apache伺服器協助手冊文檔
----------------------------------------------------------------
只需要包含這2個軟體包即可!
2、查看安裝的目錄和檔案
[[email protected] /]# rpm -ql httpd
[[email protected] /]# rpm -ql httpd-manual
與apache伺服器相關的主要目錄和檔案如下:
----------------------------------------------------------------
/etc/httpd apache伺服器程式的根目錄
/etc/httpd/conf/httpd.conf apache伺服器主設定檔
/etc/httpd/conf.d apache伺服器其他功能模組的設定檔存放目錄,如mysql、php、ssl、perl等的設定檔
/var/www/html 網頁文檔的預設根目錄
/etc/init.d/httpd apache伺服器的指令碼控制檔案
/usr/sbin/httpd apache伺服器的主要執行程式
/var/log/httpd/access_log 訪問記錄檔
/var/log/httpd/error_log 錯誤記錄檔檔案
/usr/sbin/apachectl apache伺服器的指令碼控制檔案
/usr/bin/ab apache內建的一個壓力測試工具(apache基準測試載入器)
/usr/bin/htpasswd 產生身分識別驗證使用者的密碼檔案
/usr/lib/httpd/modules apache伺服器的模組存放目錄
/var/log/httpd 存放apache的記錄檔
----------------------------------------------------------------
3、預設情況下主設定檔做必要的修改即可構建基本可用的web伺服器
#####分割線 構建基本可用的web伺服器####
基本步驟:
(1) 修改主設定檔httpd.conf
去掉注釋:#ServerName www.example.com:80
修改為:ServerName www.benet.com:80
需要有DNS伺服器的支援,首先搭建DNS伺服器
(2) 檢查主設定檔httpd.conf是否存在語法錯誤
方法一:apachectl -t
方法二:httpd –t
(3) 啟動httpd服務
[[email protected] /]# service httpd start
(4) 查看httpd服務連接埠是否開啟
[[email protected] /]# netstat -anpt | grep 80
(5) 在用戶端通過瀏覽器訪問測試
http://www.benet.com/
#########分割線 測試web伺服器的效能###########
基本步驟:
(1) 使用ulimit命令修改最大檔案數限制為10000
ulimit -n 10000
(2) 使用ab命令進行壓力測試
[[email protected] /]# ab -q -c 2000 -n 4000 http://www.benet.com/
(3) 查看得到的統計資訊
########分割線 構建基於IP/連接埠/網域名稱的虛擬機器主機##########
基本步驟:
********實現基於IP的虛擬機器主機********
(1) 建立虛擬機器主機測試web文檔
假設當前web伺服器有3個虛擬機器主機
虛擬機器主機一 對應主目錄 /var/www/html
虛擬機器主機二 對應主目錄 /var/www/xuni2
虛擬機器主機三 對應主目錄 /var/www/xuni3
[[email protected] /]# cd /var/www
[[email protected] www]# mkdir xuni2 xuni3
分別在3個目錄中放置測試web文檔,預設名稱都是index.html
參考web文檔HTML代碼:
<html>
<head>
<title>
~~~~~~~~~~~~~Virtual host~~~~~~~~~~~
</title>
<body bgcolor=blue>
<p align=center>
##############Virtual Host###########
</p>
</body>
</head>
</html>
(2) 給當前伺服器設定2個虛擬介面,並分配IP地址
[[email protected] /]# ifconfig eth0:0 192.168.100.3 netmask 255.255.255.0
[[email protected] /]# ifconfig eth0:1 192.168.100.4 netmask 255.255.255.0
(3) 修改apache主設定檔httpd.conf,配置虛擬機器主機
[[email protected] /]# vi /etc/httpd/conf/httpd.conf
定位到最後一行
<VirtualHost 192.168.100.2:80>
DocumentRoot /var/www/html
ServerName host1 //這裡設定虛擬機器主機的主機名稱
</VirtualHost>
<VirtualHost 192.168.100.3:80>
DocumentRoot /var/www/xuni2
ServerName host2
</VirtualHost>
<VirtualHost 192.168.100.4:80>
DocumentRoot /var/www/xuni3
ServerName host3
</VirtualHost>
(4) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試
http://192.168.100.2/
http://192.168.100.3/
http://192.168.100.4/
********實現基於連接埠的虛擬機器主機********
(5) 刪除掉剛才添加的2個虛擬介面
[[email protected] /]# ifconfig eth0:0 down
[[email protected] /]# ifconfig eth0:1 down
(6) 修改apache主設定檔httpd.conf,配置虛擬機器主機
定位到最後一行
修改listen參數為:
Listen 192.168.100.2:80
listen 192.168.100.2:81
listen 192.168.100.2:82
修改虛擬機器主機參數為:
<VirtualHost 192.168.100.2:80>
DocumentRoot /var/www/html
servername host1
</VirtualHost>
<VirtualHost 192.168.100.2:81>
DocumentRoot /var/www/xuni2
servername host2
</VirtualHost>
<VirtualHost 192.168.100.2:82>
DocumentRoot /var/www/xuni3
servername host3
</VirtualHost>
(7) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試
http://192.168.100.2/
http://192.168.100.2:81/
http://192.168.100.2:82/
********實現基於網域名稱的虛擬機器主機********
(8) 配置DNS伺服器,建立地區及相應主機名稱
www.benet.com 192.168.100.2
www.accp.com 192.168.100.2
www.btest.com 192.168.100.2
配置步驟略
(9) 修改apache主設定檔httpd.conf,配置虛擬機器主機
定位到最後一行
修改listen參數為:
Listen 192.168.100.2:80
修改虛擬機器主機參數為:
Na</VirtualHost>
<VirtualHost 192.168.100.2:80>
DocumentRoot /var/www/xuni2
servername www.accp.com
</VirtualHost>
<VirtualHost 192.168.100.2:80>
DocumentRoot /var/www/xuni3
servername www.btest.com
</VirtualHost>
(10) 重新啟動httpd服務,在用戶端通過瀏覽器訪問測試
http://www.benet.com/
http://www.accp.com/
http://www.btest.com/
##########分割線 建立系統使用者的個人首頁#####################
(1) 修改apache主設定檔httpd.conf,啟用apache個人首頁功能
確認主設定檔中有參數:
LoadModule userdir_module modules/mod_userdir.so
設定參數:
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
(2) 建立系統使用者,並建立個人首頁測試檔案
建立測試使用者usera和userb
[[email protected] named]# su - usera
[[email protected] ~]$ mkdir public_html
[[email protected] ~]$ echo "UserA‘s Home Page" > public_html/index.html
[[email protected] ~]$ chmod o+x /home/usera
[[email protected] named]# su - userb
[[email protected] ~]$ mkdir public_html
[[email protected] ~]$ echo "UserB‘s Home Page" > public_html/index.html
[[email protected] ~]$ chmod o+x /home/userb
(3) 重新啟動httpd服務
service httpd restart
(4) 在用戶端瀏覽器中訪問個人首頁
http://www.benet.com/~usera/
http://www.benet.com/~userb/
###########分割線 使用awstats分析web日誌資訊#######
awstats相關目錄和檔案清單:
-----------------------------------------------------------------------
設定檔存放目錄:/etc/awstats
網站設定檔範例:/etc/awstats/awstats.localhost.localdomain.conf
網站設定檔範例:/etc/awstats/awstats.model.conf
主目錄:/usr/share/awstats
語言目錄:/usr/share/awstats/lang
awstats工具目錄:/usr/share/awstats/tools
預設的awstats根目錄:/usr/share/awstats/wwwroot
/var/lib/awstats
/etc/cron.hourly/awstats
/etc/httpd/conf.d/awstats.conf
------------------------------------------------------------------------
(1) 拷貝awstats的軟體包到當前的web伺服器中
[[email protected] tool]# ls
awstats-6.9.tar.gz
(2) 解壓並釋放awstats軟體包,並安裝
[[email protected] tool]# tar zxvf awstats-6.9.tar.gz -C /usr/local //解壓軟體包到/usr/local目錄下
[[email protected] local]# mv awstats-6.9/ awstats //更改軟體包的名稱
[[email protected] local]# cd /usr/local/awstats/tools/
[[email protected] tools]# ./awstats_configure.pl //執行安裝指令碼
----設定apache主設定檔httpd.conf的路徑
/etc/httpd/conf/httpd.conf
----建立awstats設定檔
Y
----定義日誌分析的目標網站的名稱
www.benet.com
----定義awstats設定檔的存放目錄(預設為/etc/awstats)
直接斷行符號
----添加cron計劃任務(在這裡提示指令碼無法自動添加,需要使用者手動添加)
直接斷行符號
----按斷行符號鍵退出安裝指令碼
(3) 修改awstats.www.benet.com指令碼
cd /etc/awstats/
vi awstats.www.benet.com.conf
修改:
LogFile="/var/log/httpd/access_log"
(4) 建立資料庫存放目錄,並更新資料庫
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update-config=www.benet.com
(5) 設定cron計劃任務,以便定時作業記錄剖析器
[[email protected] awstats]# crontab -e
* */3 * * * perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=wwww.benet.com
[[email protected] awstats]# service crond restart
(6) 在網頁瀏覽器中查看分析報告
http://www.benet.com/awstats/awstats.pl?config=www.benet.com
每次訪問輸入的URL太長,建立的web頁面來實現跳轉
代碼如下:
這樣就可以通過http://www.benet.com/aw.html來訪問了!
##########分割線 實現apache的存取控制#####
(1) 實現基於使用者的存取控制
查看apache主設定檔httpd.conf,確認已經編譯了基本認證和摘要認證的模組
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
(2) 修改主設定檔httpd.conf,實現對awstats目錄地區的存取控制
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
authname "AWSTATS"
authtype basic
authuserfile /etc/httpd/conf/.htpasswd
require valid-user
</Directory>
(3) 建立儲存認證使用者帳號及口令檔案
[[email protected] /]# useradd awuser
[[email protected] /]# htpasswd -c /etc/httpd/conf/.htpasswd awuser
(4) 重新啟動httpd服務
service httpd restart
(5) 在用戶端登陸測試
錯誤!超連結引用無效。