安裝htpasswd

htpasswd是Apache密碼生成工具
如果安裝的是apache的話,預設已經裝了
安裝:

yum -y install httpd-tools  或者 apt-get install apache2-utils

參數如下:

-c 創建passwdfile.如果passwdfile 已經存在,那麼它會重新寫入並刪去原有內容.
-n 不更新passwordfile,直接顯示密碼
-m 使用MD5加密(默認)
-d 使用CRYPT加密(默認)
-p 使用普通文本格式的密碼
-s 使用SHA加密
-b 命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼,可以看見明文,不需要交互
-D 刪除指定的用戶

配置Apache以允許.htaccess身份驗證
默認情況下,Apache不允許.htaccess在CentOS 7中使用文件。您將需要設置Apache文件以允許基於.htaccess的身份驗證。

你可以通過編輯Apache配置文件來做到這一點:

sudo vim /etc/httpd/conf/httpd.conf  #每個人的檔案位置可能不同

因設定檔裡面可能有不同的主機,所以請針對特定的主機進行修改
找到<Directory "/var/www/html/網域">

將AllowOverride none改為AllowOverride AuthConfig

AllowOverride AuthConfig

上面是針對一整個網站跟目錄作的動作

如果是某個網站資料夾的話
在設定檔額外新增,不要跟其他的衝到

<Directory "/var/www/wijtb.nctu.me/AriaNg">
   AllowOverride ALL
</Directory>

在網站下目錄下建立.htpasswd

touch .htpasswd

sudo htpasswd -c .htpasswd 使用者名稱

更改擁有者為apache

chown apache:apache .htpasswd

變更權限

chmod 0660 .htpasswd

在網站根目錄下執行

sudo vim .htaccess

添加以下內容:

AuthType Basic
AuthName "Restricted Content"  
AuthUserFile /etc/httpd/.htpasswd   #設置.htpasswd擺放的檔案位置
Require valid-user

存檔後重啟apache

systemctl restart httpd
Last modification:November 30th, 2018 at 06:05 pm