Apache伺服器四個功能:
1.基本網頁;
2.個人首頁;
3.虛擬機器主機;
4.網頁認證;
不知你作的是哪個,請對照更改:
1.基本網頁的配置:
修改主設定檔
#vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html" //該行定義了基本網頁所在路徑,此路徑可自訂
DirectoryIndex aa index.html index.html.var //該行定義了預設的首頁名稱,首頁名稱也可自訂,且根據排列順序決定首頁名稱的優先順序
#service httpd restart //啟動httpd服務
2.個人首頁(www.sina.com/us1;http://192.168.1.111/us1)
修改主設定檔
#vi /etc/httpd/conf/httpd.conf
#UserDir disable //該行控制是否禁用個人首頁功能,預設是禁用個人首頁,禁用此行,表示啟用個人首頁功能;
UserDir public_html //該行定義了個人首頁的目錄名或檔案名稱,該目錄名或檔案名稱必須建立在使用者家目錄中;預設是禁用,必須啟用
#chmod 755 ~us* //開啟使用者家目錄的存取權限
#cd ~us1 //在使用者us1家目錄下建立目錄public_html並建立首頁檔案
#mkdir public_html
#vi index.html
//在使用者us2家目錄下建立檔案public_html檔案做為首頁
#cd ~us2
#vi public_html
//訪問方式:
http://192.168.1.111/~us1
http://192.168.1.111/~us2
//取消波浪號的方法:(在基本網頁路徑下,建立軟連結)
#cd /var/www/html
#ln -s /home/us1/public_html us1
#ln -s /home/us2/public_html us2
//訪問方式:
http://192.168.1.111/us1
Apache開放系統使用者的個人首頁
實驗環境為CentOS5.1&RHEL5,主要是因為在實際學習中,關於這個知識點好多書上都是錯誤的,我們學習的linux教程也是錯的,所以特地指出來,步驟如下:撫琴煮酒
(1)Selinux報錯解決方案如下:
restorecon -R -v /home/manager (註:manager為我系統使用者)
或restorcon -R /home
2)預設情況下,Apache禁用了個人首頁功能.如果要開放個人首頁功能需要設定如下 :
<IfModules mod_userdir.c>
#UserDir disable
開放個人首頁功能
UserDir public_html
指明個人首頁的主目錄名稱public_html
</IfModules>
3)給矛實驗目錄許可權
#mkdir -p /home/manager/public_html
在此目錄下建立index.html檔案
#chmod -R 755 /home/manager
實驗許可權,真正的工作或生產環境中要嚴格控制許可權,此處非定義/home/manager/public_html目錄許可權
測試: 訪問http://192.168.1.102/~manager/時,相當於訪問192.168.1.102網站中的檔案/home/manager/public_html/index.html,即manager的個人首頁
3.虛擬機器主機的配置
虛擬機器主機是指在同一台伺服器,同一個IP,同一個port,可以支援不同網域名稱的不同網頁內容的顯示;
使用的方法是為不同網域名稱指向到不同目錄的網頁內容;如:
www.sina.com;www.163.net;www.china.cn
必須先建立多個網域名稱,配置DNS;
//修改主設定檔,建立虛擬機器主機功能
#vi /etc/httpd/conf/httpd.conf
:$
//修改如下:
NameVirtualHost 192.168.1.111
<VirtualHost 192.168.1.111>
DocumentRoot /sina
ServerName www.sina.com
</VirtualHost>
<VirtualHost 192.168.1.111>
DocumentRoot /www/163
ServerName www.163.net
</VirtualHost>
<VirtualHost 192.168.1.111>
DocumentRoot /mnt/china
ServerName www.china.cn
</VirtualHost>
//儲存退出,重啟httpd服務
#service httpd restart
4.網頁認證功能
//基本網頁的認證,修改主設定檔:
#vi /etc/httpd/conf/httpd.conf
:301 //此行,表示控制是否開啟apache的網頁認證功能,修改為:
AllowOverride AuthConfig
:335 //此行控制是否開啟基本網頁的認證功能,修改為:
AllowOverride AuthConfig
:414 //此行控制認證視窗的檔案名稱,可自訂檔案名稱;預設是隱含檔案.htaccess
AccessFileName .htaccess
//儲存退出,併到需要做認證的網頁路徑下建立.htaccess檔案,現在要在/var/www/html基本網頁路徑下建立檔案.htaccess
#cd /var/www/html
#vi .htaccess
//網頁認證檔案的內容如下:
AuthName "login name" //定義認證視窗的名稱
AuthType Basic //定義認證視窗類別型,basic:基本;digest:摘要
AuthUserFile /home/apa.pwd //定義認證的使用者密碼檔案及路徑
Require valid-user //表示使用者密碼檔案中的所有使用者都能驗證
#Require user aa bb //表示使用者密碼檔案中的aa和bb能驗證,此行和上一行不能同時定義;
//產生使用者密碼檔案並開啟其存取權限
#cd /home
#htpasswd -c apa.pwd aa
#chmod 644 apa.pwd
//啟動httpd服務並測試
#service httpd restart