我是 Ubuntu 新手,我正在配置 Apache 从我的主目录站点目录读取根文档
我编辑了 / 下的(默认)文件etc/apache2/可用站点 读自/home/用户名
当我重新启动 Apache 时,它会从我的主目录读取其默认页面
我试图通过让以下用户访问 Apache localhosthttp://localhost/~user1/
我怎样才能做到这一点?
答案1
此功能可通过启用 Apacheuserdir
模块具有:
sudo a2enmod userdir
下一步是配置 Apache 如何处理 URI。
一些例子:
http://localhost/~user1/site1
如果你希望从目录加载URL/home/user1/site1
,则需要使用UserDir ./
http://localhost/~user1/site1
如果你希望从目录加载URL/home/user1/sites/site1
,则需要使用UserDir sites
要添加配置,并假设您使用的是 Apache 2.2,请创建以下文件 /etc/apache2/conf.d/userdir.conf
并向其中添加以下内容:
# This is just a safety measure to make sure the root user isn't used.
UserDir disabled root
# Swap the following line with whatever configuration you require.
UserDir sites
# If you chose "UserDir ./" instead of "UserDir sites",
# remove the "sites/" part in the next line
<Directory /home/*/sites/>
Order allow, deny
Allow from all
</Directory>
完成后,您需要重新启动 Apache:
sudo apache2ctl restart
答案2
您可以为每个人定义virtualhost
不同的servername
。document root
但您应该/etc/hosts
为每个用户编辑。例如:
Virtualhost *:80 Servername : person 1 Document root : /home/person1
您还可以将home
目录定义为document root
,每个用户都可以找到他/她的目录。
注意你应该给予www-data
他们房屋的所有权以及做他们员工的许可。
附言:为什么你不尝试一下vsftpd
你的方案?!那样会更好。