Apache 用户认证

   我们根据discuz论坛来做Apache的用户认证 www.test.com/abc/

只有自己能看到,还想再网页上去展示,这个时候我们需要做一个用户认证,也就是说当你输入用户名和密码之后,你才能够访问。 

   假如我们现在创建一个abc目录

[root@zhangmengjunlinux www]# mkdir abc

[root@zhangmengjunlinux www]# cd abc

[root@zhangmengjunlinux abc]# ls

[root@zhangmengjunlinux abc]# cp /etc/passwd ./12.tx我们把这个文件拷贝过来叫做12.txt,是可以访问到文件的在WEB:192.168.140.100/abc/12.txt那我们不想让别人看到就要做一个用户认证,这点怎么才能做到呢,我们来更改一下配置文件:

[root@zhangmengjunlinux abc]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

   我们在虚拟主机配置文件里找到:

<VirtualHost *:80>

    DocumentRoot "/data/www/"

    ServerName  www.test.com

    ServerAlias www.aaa.com

   # ErrorLog "logs/dummy-host2.example.com-error_log"

   # CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

在</VirtualHost>上面加入这些:

<Directory /data/www/abc>

       AllowOverride AuthConfig

       AuthName "aaa"

       AuthType Basic

       AuthUserFile /data/.htpasswd

       require valid-user

</Directory>

AuthUserFile /data/.htpasswd这是存放用户名和密码的地方,我们需要去创建它,具体创建的命令:

我们先来做一个PATH

[root@zhangmengjunlinux abc]# vim /etc/profile.d/path.sh

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin

[root@zhangmengjunlinux abc]# source /etc/profile.d/path.sh

[root@zhangmengjunlinux abc]# htpasswd -c /data/.htpasswd user1 

New password: 

Re-type new password: 

Adding password for user user1

创建/data/.htpasswd 用户user1

[root@zhangmengjunlinux abc]# cat /data/.htpasswd

user1:$apr1$HG2G3xkL$ia.Y0twLoXBs6LSVbaa901

user1后面是加密的密码

再创建一个新的用户后面不加-c,不然会覆盖掉的

[root@zhangmengjunlinux abc]# htpasswd  /data/.htpasswd user2

New password:

[root@zhangmengjunlinux abc]# cat /data/.htpasswd

user1:$apr1$HG2G3xkL$ia.Y0twLoXBs6LSVbaa901

user2:$apr1$6AUov0al$D.SAMep6KYgwP62bZC5ya1

[root@zhangmengjunlinux abc]# apachectl -t查看配置OK吗

Syntax OK

[root@zhangmengjunlinux abc]# apachectl restart没有问题restart一下,重新加载不用重启,graceful只是重新调用了配置文件

我们再去web刷新www.aaa.com/abc/12.txt




                                                           


你可能感兴趣的:(apache,用户认证)