云服务器httpd部署项目,并对访问者身份验证

1.前期准备

买了服务器,Xshell7连接服务器(略)
前两点都是转别人的,写的简略易懂

  1. 安装httpd(点我)
  2. 部署项目到端口(点我)
    备注:一个不行就换一个端口,有可能是端口占用

2.部署好的网页如何对某个文件进行权限管理验证?

核心思想如下,需要对三个文件进行配置

网络请求 ==>> httpd.conf配置触发 ==>> 对应文件下的.htaccess配置触发 ==>>寻找.htpasswd账户密码配置

原配置文件可以直接复制到翻译软件,每个配置基本都有注释的

1. httpd.conf;

 #切换到它,打开它
 cd /etc/httpd/conf
 vim httpd.conf

修改配置

我要管控/var/www/html/admin文件,按i进入编辑模式,放入以下代码 
<Directory  "/var/www/html/admin">
     Options Indexes FollowSymLinks
     AllowOverride AuthConfig
     Require all granted
</Directory>
按Esc退出编辑。Shift+:触发命令模式,输入wq!保存并退出

好了,现在admin文件会优先使用其下的.htaccess配置管理权限

备注:文件权限配置是放在Directory标签里的,标签中带路径
按/触发搜索,输入回车,按n下移
#FollowSymLinks 允许寻找httpd根目录外的文件,因为.htpasswd密码文件存储在外部更安全
##AuthConfig 设置通过读取.htccess文件来验证
#apache新版本弃用了Order关键词配置,采用Require 方式,此处允许任意用户来参与验证

2. .htaccess

 #切换到它,vim创建并打开它
 cd /var/www/html/admin
 vim .htaccess

放入以下代码

 AuthName  "提示信息"
 AuthType  Basic
 Require valid-user
 AuthUserFile /etc/httpd/.htpasswd
 
按Esc退出编辑。Shift+:触发命令模式,输入wq!保存并退出

现在只差一个用户目录了

备注:#AuthType 验证类型
##Require 哪些用户参与验证,这里所有用户均可验证
#AuthUserFile 用户目录

3. .htpasswd;

生成一个加密的用户信息

Htpasswd -bc  .htpasswd 用户名 密码

.htpasswd你想放哪儿都可以,文件路径自己配置到.htpasswd的AuthUserFile
-bc换成-b可以增加用户,相同用户名则覆盖

配置完成,重启httpd

/bin/systemctl stop httpd.service
/bin/systemctl restart httpd.service

4.BUG

  • 关闭httpd后重启失败报错。
    使用/bin/systemctl status httpd.service查看详情,如果某行有关键词 Syntax ,表示你的语法报错,后面显示了具体的文件和路径,去相应的位置检查
  • 一顿操作后,访问网页没有提示让输入密码,但是网页确实报:你无权访问该网页。之类的提示。缺少插件模块,在httpd.conf顶部加入
LoadModule auth_basic_module modules/mod_auth_basic.so

最后附上apache官网文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值