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