Apache伺服器配置之個人首頁
如果你有心留意一些提供伺服器託管的網站,你會發現這些網站都提供一些個人首頁空
間的服務。也許,你很羨慕他們,以為這是一個很了不起的技術。其實,只要學習,你也可以完成這個項目。
下面,我們就將開始學習怎麼樣來實現www服務的這一功能。個人首頁空間,說白了就是開啟一個硬碟空間給網路使用者,供使用者上傳網頁並可以訪問該網頁。對於apache來講,需要開啟一下參數和相關的個人目錄區塊:
#UserDir public_html
找到這行,並將前面的注釋符號“#”去掉,這就開啟了使用者目錄。當然,這裡只是個人目錄的開關,還需要開放個人目錄。找到下面這幾行,並將前面的注釋符號去掉。
<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>
接下來,需要在建立使用者,並添加public_html目錄以及網頁,以便進行測試。
[root@localhost~]#useradd u1
[root@localhost~]#cd /home/u1
[root@localhost u1]#mkdir public_html
[root@localhost u1]#cd public_html
[root@localhost public_html]#vi index.html
Hello, this is u1!
然後儲存退出,來測試一下。
[root@localhost u1]#links www.centos.org/~u1/
You don’t have permission to access /~u1/ ……
咦,怎麼回事?出錯了?不,是許可權問題。趕快去查看一下許可權吧。
[root@localhost public_html]#ls –l
-rwx------ root root 18 Nov 18 08:15 index.html
原來這裡index.html的擁有者和擁有組不對,許可權也不夠啊,趕快修改吧。
[root@localhost public_html]#chown u1:u1 index.html
[root@localhost public_html]#chmod 755 index.html
現在修改完畢了,可以測試了吧。不,還不行,還有上層目錄的許可權啊。
[root@localhost public_html]#cd
[root@localhost home]#chown u1:u1 –R u1
[root@localhost home]#chmod 755 –R u1
許可權修改完畢,現在再來測試一下吧。
[root@localhost home]#links www.centos.org/~u1/
You don’t have permission to access /~u1/ ……
咦,還是許可權問題。但是,不是已經修改過了嗎?都開放到755了。別急,SELinux還開著呢,還需要修改SELinux的許可權。
[root@localhost home]#ls –Z |grep u1
drwsr-xr-x u1:u1 18 Nov 18 08:20 user_u:object_r:user_home_dir_t u1
上面,就是u1目錄的SELinux的安全上下文(SEContext)了。但是,要怎麼修改呢?別急,我們來看看httpd預設目錄的SEContext。
[root@localhost home]#cd /var/www
[root@localhost www]#ls –Z | grep html
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t html
看明白了嗎?那就開始修改u1目錄的SEContext吧。修改SEContext使用chcon命令來完成,如果要修改user的就加-u參數,如果修改type就加-t參數,如果修改role的就加-r參數。這裡需要修改user和type兩個類型。
[root@localhost home]#chcon –u system_u –t httpd_sys_content_t –R u1
這裡加上-R參數,進行遞迴修改,一次修改u1以及以下目錄和檔案了。下面,我們再進行測試吧。
[root@localhost home]#links www.centos.org/~u1/
Hello, this is u1!
OK,我們自己的頁面出來了,測試成功!