Linux Apache服务详解——用户个人主页实战

简介: Linux Apache服务详解——用户个人主页实战

今天我们继续给大家介绍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

目录
相关文章
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
22 2
|
16天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
40 6
|
11天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
25 0
|
12天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
19天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
22天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6
|
24天前
|
Ubuntu Linux Apache
linux下apache2更换目录
linux下apache2更换目录
|
29天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
28 0