Apache2——设置用户网站目录
Apache2——设置用户网站目录
2021-08-10 23:52:53
一、目的
可以允许每个用户在其宿主目录中拥有一个网络站点。使用URL http://example.com/~username/
的访问者可以获得用户"username
"的宿主目录中的内容或者用UserDir
指定的子目录中的内容。
二、环境
Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-72-generic x86_64)
Apache2 (Server version: Apache/2.4.41 (Ubuntu))
三、预备知识
1.了解Apache2 文件结构:
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
*-enabled文件夹下的文件都是link文件,映射到*-available文件夹下。
2.此功能由模块mod_userdir提供
此模块共包括userdir.load和userdir.conf两个文件。这两个文件位于目录/etc/apache2/mods-available下。如果/etc/apache2/mods-enabled目录下没有这两个文件,则需要在该目录下建立指向这两个文件的链接。
root@VM-0-9-ubuntu:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf userdir.conf
root@VM-0-9-ubuntu:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf userdir.load
四、配置文件
在目录/etc/apache2/mods-enabled目录下,使用VIM打开文件userdir.conf。并添加以下内容。
注意:以下内容必须在指令<IfModule mod_userdir.c>和</IfModule>之间。
#设置用户目录所在路径(路径可自定义)
UserDir /var/www/home
#禁止设置用户为root
UserDir disabled root
#所有人禁止目录映射
UserDir disabled
#仅允许用户user1、user2(用户名可自定义)
UserDir enabled user1 user2
五、创建用户目录并重启服务
1.创建目录
在指定路径/var/www/home下建立用户目录,新建文件夹user1和user2。
-
- 注:目录/var/www/home/user1和目录/var/www/home/user2需要存在且可访问。
2.重启apache2服务
root@VM-0-9-ubuntu:/etc/apache2/mods-enabled# systemctl restart apache2.service
六、测试
在浏览器中输入http://xxx.xxx.xxx.xxx/~user1
。则会显示文件夹/var/www/home/use1下的内容。
七、为用户目录设置认证(可选)
可参考此页内容进行设置。
Apache2——设置用户认证(BASIC) - rosebud7 - 博客园 (cnblogs.com)
2021-08-11 00:46:50