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

目录
相关文章
|
6月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
420 146
|
7月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
581 11
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
4029 77
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1722 25
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
554 17
|
10月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
931 23
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
407 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
1152 19