在虚拟机上的关于Apache(阿帕奇)(2)开启个人用户主页功能
首先下载httpd服务
在这里我们主要谈一谈个人主用户页功能分为不加密和加密两种
不加密
先来建立几个用户,使用命令:useradd bujiami
使用命令: Passwd bujiami 设置bujiami的用户的密码,用同样的方法在建立个用户jack
用同样的方法再建立一个用户方便看效果
现在我们拥有三个用户
接下来打开配置文件 输入命令: vi /etc/httpd/conf.d/userdir.conf
改完之后来切换至普通用户bujiami的家目录(切换至bujiami下是为了接下来的操作所建立的文件属主和属组为bujiami,当然你也可以在root下建立最后再改变)
输入命令: su - bujiami
创建网站数据目录 public_html
输入命令: mkdir public_html
如果提示你权限不够, 我们切换至root用户给他添加权限
输入:su root(或者exit:之前就是root用户的话)
cd /home
ls -al
chmod 777 bujiami 改完之后 ls -al查看下bujiami是否为 drwx rwx rwx权限
之后 再输入:su - bujiami 进入bujiami用户
写首页内容
接下来给予网站目录权限,使其能访问
如果出现下面这个问题
这次报错并不是因为用户家的网站数据目录SELinux安全上下文没有设置了,而是因为SELinux默认就不允许Apache服务个人用户主页这项功能。
我们可以查看并搜索所有与家目录有关的SELinux策略
输入命令:getsebool -a | grep home
可以看到这个服务是关着的,我们把它打开(设置完之后我们再去看一下)(在root用户下操作)
输入命令:setsebool httpd_enable_homedirs=on
去浏览器搜索ip/~bujiami/
同样的操作切换至huangyao 进行修改
加密
没有密码验证,太不安全接下来加入密码试一试
首先我们使用htpasswd命令生成密码数据库(-c 参数用于第一次生成)
输入命令: htpasswd -c /etc/httpd/passwd bujiami
接下来编辑配置文件开启密码验证
输入命令: vi /etc/httpd/conf.d/userdir.conf
如图所示,这样配置 authname中是提示信息
配置完后重启一下服务
systemctl restart httpd
他就会出现这个框
输入用户名bujiami 和上面使用htpasswd命令生成密码数据库所设置的密码,
当然啦,我们只设置了bujiami用户密码,其他的用户不能登入个人主页的,可以再次设置
给huangyao加一个密码数据库
输入 htpasswd -c /etc/httpd/passwd huangyao
改变配置文件,在后面加上huangyao用户
输入vi /etc/httpd/conf.d/userdir.conf
配置完后重启一下服务,配置完不重启服务,和没配置一样。记得重启下服务
systemctl restart httpd
打开浏览器搜索所创建的两个网页,密码为 htpasswd -c /etc/httpd/passwd xxxxx(用户名)当时所创建的密码