天天看點

Linux Apache服務詳解——使用者個人首頁實戰

今天我們繼續給大家介紹Linux相關内容,本文主要内容是Apache服務使用者個人首頁的實戰。

一、使用者個人首頁實戰背景

有時,我們在網站運維時,會遇上下列場景,Linux系統中的每個使用者都有就建立網站的需求,希望能夠在自己的家目錄下存放自己的網站根目錄,是以其他使用者無法對自己的網站進行修改。Apache服務可以通過個人使用者首頁實作上述功能。

二、個人首頁實戰操作

(一)配置檔案修改

在Apache服務中,個人使用者首頁功能預設關閉,為了打開該功能,我們首先進入httpd服務的個人使用者首頁配置檔案/etc/httpd/conf.d/userdir.conf,該配置檔案是專門用于配置個人使用者首頁的配置檔案,由于該配置檔案已經在主配置檔案中引用,是以我們在該配置檔案中進行配置與在主配置檔案中進行配置是一樣的。

在該配置檔案中,需要修改以下三處内容,第一處在大概17行處,将UserDir修改為enabled,第二處在大概24行處,将UserDir修改為我們想要的目錄,預設是public_html,我這裡将其修改為wwwroot,該目錄名稱必須與各使用者下的主目錄名稱一緻。第三處在大概31行處,這裡的Directory子產品中,将目錄修改為與第二處目錄名稱相一緻的内容,比如,我在第二處修改為wwwroot,那麼在這裡就需要将原始的/homewwwroot。

修改完成後,配置檔案如下所示:

Linux Apache服務詳解——使用者個人首頁實戰

(二)權限及其他操作

将上述配置檔案儲存并退出,之後,我們在各使用者的家目錄中建立個人使用者首頁的根目錄,這裡的根目錄名稱必須與配置檔案中設定的一緻。以我的配置檔案為例,我需要執行的指令是:

mkdir /home/pzz/wwwroot
           

這裡所使用的使用者名是pzz,建立的目錄是wwwroot。

然後我們還需要做的是向該目錄中寫入一個預設檔案,執行指令如下:

echo "This is pzz's web" > index.html
           

緊接着,對目錄進行授權,保證其他使用者有讀取的權限,執行指令如下:

chmod 755 /home/pzz/
           

最後,還要關閉主機防火牆,重新開機Apache服務,相關指令如下:

setenforce 0
iptables -F
systemctl stop firewalld
systemctl restart httpd
           

(三)效果驗證

完成上述所有步驟後,我們就可以通過本地浏覽器進行嘗試通路了,通路個人首頁的方式是“網址/~使用者名”,通路結果如下所示:

Linux Apache服務詳解——使用者個人首頁實戰

三、個人首頁密碼認證

(一)生成密碼

有時,我們在配置完成個人首頁功能後,還希望能夠對個人首頁在登入時進行密碼認證。

我們使用htpasswd指令生成密碼,具體指令如下:

htpasswd -c /etc/httpd/passwd pzz
           

如果我們是第一次生成密碼,則需要按照如上要求加上-c參數,如果我們想要修改已經配置過的密碼,則不需要加上面的-c參數,後面的/etc/httpd/passwd是生成密碼檔案的存放位置,最後的pzz是指定使用者。過程如下所示:

Linux Apache服務詳解——使用者個人首頁實戰

(二)配置檔案修改

在生成密碼後,我們需要修改/etc/httpd/conf.d/userdir.conf的配置檔案,打開該檔案後,在<Direcroty>子產品中,大約在31行-37行,删除原有的以下兩行:

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
           

然後添加下面三行:

authuserfile "/etc/httpd/passwd"
authname "Please input passwd"
authtype basic
require user pzz
           

其中authuserfile和require user要和之前使用htpasswd指令相對應,修改後的配置檔案如下所示:

Linux Apache服務詳解——使用者個人首頁實戰

(三)效果驗證

在我們完成上述配置後,重新開機服務,發現再次通路時會出現提示輸入密碼的框,此時表示我們已經配置成功!

Linux Apache服務詳解——使用者個人首頁實戰

原創不易,轉載請說明出處:https://blog.csdn.net/weixin_40228200