774530750 发表于 2018-11-19 10:28:47

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]
查看完整版本: LAMP 之 Apache 用户认证