今天我们继续给大家介绍Linux相关内容,本文主要内容是Apache服务用户个人主页的实战。
一、用户个人主页实战背景
有时,我们在网站运维时,会遇上下列场景,Linux系统中的每个用户都有就建立网站的需求,希望能够在自己的家目录下存放自己的网站根目录,因此其他用户无法对自己的网站进行修改。Apache服务可以通过个人用户主页实现上述功能。
二、个人主页实战操作
(一)配置文件修改
在Apache服务中,个人用户主页功能默认关闭,为了打开该功能,我们首先进入httpd服务的个人用户主页配置文件/etc/httpd/conf.d/userdir.conf,该配置文件是专门用于配置个人用户主页的配置文件,由于该配置文件已经在主配置文件中引用,所以我们在该配置文件中进行配置与在主配置文件中进行配置是一样的。
在该配置文件中,需要修改以下三处内容,第一处在大概17行处,将UserDir修改为enabled,第二处在大概24行处,将UserDir修改为我们想要的目录,默认是public_html,我这里将其修改为wwwroot,该目录名称必须与各用户下的主目录名称一致。第三处在大概31行处,这里的Directory模块中,将目录修改为与第二处目录名称相一致的内容,比如,我在第二处修改为wwwroot,那么在这里就需要将原始的/home//public_html修改为/home//wwwroot。
修改完成后,配置文件如下所示:
(二)权限及其他操作
将上述配置文件保存并退出,之后,我们在各用户的家目录中创建个人用户主页的根目录,这里的根目录名称必须与配置文件中设定的一致。以我的配置文件为例,我需要执行的命令是:
mkdir /home/pzz/wwwroot
1
这里所使用的用户名是pzz,创建的目录是wwwroot。
然后我们还需要做的是向该目录中写入一个默认文件,执行命令如下:
echo "This is pzz's web" > index.html
1
紧接着,对目录进行授权,保证其他用户有读取的权限,执行命令如下:
chmod 755 /home/pzz/
1
最后,还要关闭主机防火墙,重启Apache服务,相关命令如下:
setenforce 0
iptables -F
systemctl stop firewalld
systemctl restart httpd
1
2
3
4
(三)效果验证
完成上述所有步骤后,我们就可以通过本地浏览器进行尝试访问了,访问个人主页的方式是“网址/~用户名”,访问结果如下所示:
三、个人主页密码认证
(一)生成密码
有时,我们在配置完成个人主页功能后,还希望能够对个人主页在登录时进行密码认证。
我们使用htpasswd命令生成密码,具体命令如下:
htpasswd -c /etc/httpd/passwd pzz
1
如果我们是第一次生成密码,则需要按照如上要求加上-c参数,如果我们想要修改已经配置过的密码,则不需要加上面的-c参数,后面的/etc/httpd/passwd是生成密码文件的存放位置,最后的pzz是指定用户。过程如下所示:
(二)配置文件修改
在生成密码后,我们需要修改/etc/httpd/conf.d/userdir.conf的配置文件,打开该文件后,在模块中,大约在31行-37行,删除原有的以下两行:
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
1
2
然后添加下面三行:
authuserfile "/etc/httpd/passwd"
authname "Please input passwd"
authtype basic
require user pzz
1
2
3
4
其中authuserfile和require user要和之前使用htpasswd命令相对应,修改后的配置文件如下所示:
(三)效果验证
在我们完成上述配置后,重启服务,发现再次访问时会出现提示输入密码的框,此时表示我们已经配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/121463940