安裝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