使用/ home文件夹(在Apache2.0和suPHP下)

使用suPHP我的目标是让我的网站指向我的/home文件夹, /home文件夹中的每个用户都有自己的index.html页面。 我目前在我的/home文件夹中没有index.html页面,但这将是放置login页面的合理位置。 这是我以后的结构

 home ├── index.html ├── user1 │  └── index.html ├── user2 │  └── index.html ├── user3 │  └── index.html ├── user4 │  └── index.html ├── user5 │  └── index.html └── user6 └── index.html 

当我去192.168.1.8 ,我想它加载/home/index.html 。 当我去192.168.1.8/user1我想要加载/home/user1/index.html

目前Apache告诉我我没有/home或任何嵌套文件夹的权限。 我猜是因为/home属于root? 任何build议如何重塑这一点

首先,以下应该是apache中的(虚拟)主机:

 <VirtualHost 192.168.1.8:80> DocumentRoot /home </VirtualHost> 

为了提供页面,Apache需要对正试图访问的文件有读权限。 实现你正在尝试的最简单的方法是以root身份运行:

 # find /home -type d -exec chmod 755 {} \; # find /home -type f -exec chmod 744 {} \; 

这将为每个主目录中的每个文件提供全局读取权限。 通常我会对此提出警告,因为个人用户可能不希望用户读取每个文件,但是由于这些文件可以通过networking读取,所以几乎没有什么区别。

如果你想给用户同时拥有公共和私人文件的选项,那么考虑创build一个并行目录/ home / www。 在此范围内,为每个具有0755/0655权限的用户创build一个目录,并将其分配给他们。 然后,他们可以把他们希望每个人都看到的文件放在/ homw / www / user中,同时将私人文件保存在/ home / user中。

我不确定这是否仍然符合你的计划,但是;

实现这个最简单的方法,可能是用userdir指令。 它还可以将每个用户的webroot放在他们主目录的子目录中,这样他们就不必在Web服务器上公开所有的文件。

查看userdir的文档: http : //httpd.apache.org/docs/2.0/mod/mod_userdir.html#userdir

我会把你打算放在/home放在别的地方。