LAMP 之 Apache 用户认证
第一步登陆上Discuz 之后,我们用做一个Apache 的用户认证此网站有一个目录,上面有一些重要的文件,不需要其他人看见,只有管理员可以看,但是还要方便在网站上展示。
示例:
# cd /data/www/
# mkdir abc
# cd abc/
# cp /etc/passwd ./12.txt
在网页上访问此目录
假设此文件很重要,必须要在web 上访问,但是还不想让别人访问,此时就需要做一个用户认证。
编译虚拟主机文件
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
增加内容
# 指定路径
AllowOverride AuthConfig
AuthName "aaaa" 更改此处
AuthType Basic
AuthUserFile /data/.htpasswd#这个文件是必须存在的,是存放用户名和密码的。
require valid-user# 这一项重要,不要忘记,没有配置会验证失败,不能访问
如下图
则会弹框会提示 aaaa
每次都输入Apache 的绝对路径太长的,我们手动添加一个路径设置
vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin
# source /etc/profile.d/path.sh
接下来创建用户和密码文件
# htpasswd -c /data/.htpasswd user1
New password: 此处输入密码
Re-type new password:
Adding password for user user1创建用户成功。
创建第二个用户,注意区分语法
# htpasswd /data/.htpasswd user2不用加C ,加C 会覆盖前面的文件
New password:
Re-type new password:
Adding password for user user2
查看文件
# !cat
cat /data/.htpasswd
user1:NQCeGBRtW6PiU
user2:BKvH5X80FImm.
检查apache 配置文件有没有问题
# apachectl -t
Syntax OK
# apachectl restart
再次重新访问 www.test.com/abc/12.txt. 输入刚才定义的用户名和密码可以正常显示刚才的文件
页:
[1]