在平常管理过程当中,难免有些特殊的访问,为了增长安全,能够给它设置一个用户认证机制。好比discuz论坛,它的管理后台自己就有密码,但为了更加安全,能够设置一层用户认证,让某些目录不能被随意访问。php
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
在对应的虚拟主机配置中加入以下配置:
apache
<VirtualHost *:80> DocumentRoot "/data/www" ServerName www.123.com <Directory /data/www/admin.php> AllowOverride AuthConfig AuthName "Please input the passwd" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </Directory> </VirtualHost>
说明:首先指定对哪一个目录进行验证,AuthName 自定义,显示在输入密码框的服务器提示栏,AuthUserFile 指定用户密码文件在哪里。
vim
建立进行验证的用户,首次建立须要 -c 选项,目的是为了建立/data/.htpasswd 这个文件,再次建立不能加-c,不然会把以前的覆盖掉。回车输入设定的密码。安全
[root@localhost ~]# /usr/local/apache2/bin/htpasswd -c /data/.htpasswd test New password: Re-type new password: Adding password for user test
重启apache服务
bash
[root@localhost ~]# /usr/local/apache2/bin/apachectl -t Syntax OK [root@localhost ~]# /usr/local/apache2/bin/apachectl graceful
这里用 graceful 至关因而 reload 配置。
服务器