apache用户认证
比如在www.test.com/abc/下的文件,要在网页上展示,又只允许管理员才能够查看,我们就可以去做一个用户认证,需要去输入用户名和密码,只有用户名和密码正确之后才能够去访问。
# cd /data/www
# cd test/
# cp /etc/passwd./1.txt
打开网页,输入www.test.com/test/1.txt是可以访问的。
假如1.txt这个文件很重要,我们要在网页上展示,只允许自己查看,我们就来做一个用户认证。
编辑虚拟主机文件:
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/data/www"
ServerName www.test.com
ServerAlias www.aaa.com
# ErrorLog "logs/dummy-host.example.com-error_log"
# CustomLog "logs/dummy-host.example.com-access_log" common
<Directory /data/www/test>
AllowOverride AuthConfig
AuthName "zhanghaomima"
AuthType Basic
AuthUserFile /data/.htpasswd #密码文件
require valid-user
</Directory>
</VirtualHost>
:wq
# vim /etc/profile.d/path.sh
修改为:
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin
:wq
# source /etc/profile.d/path.sh
这样apache也可以快速启动,不用再输入过长的命令。
生成密码文件:
# htpasswd -c /data/.htpasswduser1 //user1为用户名
New password: //密码为123456
Re-type new password:
Adding password for user user1
如果在添加一个新的用户,就不能使用htpasswd -c /data/.htpasswduser2了。
要把-c去掉,否则会覆盖掉之前的文件。
# apachectl -t
Syntax OK
# apachectlgraceful
//重新加载。不需要重启。
然后在网页上刷新之前的页面,会看到以下提示:
箭头所指的就是我们虚拟主机里面的AuthName "zhanghaomima"
输入用户名:user1
密码:123456
就可以访问了。
页:
[1]