简单的问题,但由于某种原因,我在谷歌上找不到确切的答案:
我在 Slicehost 上安装了一个全新的 Ubuntu,并想在我的主目录中为一个包含一堆静态 HTML 文件的简单网站创建一个公共目录。我该怎么做呢?只是键入mkdir public_html
和设置权限的问题,还是有更清洁的方法?(我记得过去我遇到过问题,每次我将文件复制到我的 public_html 目录中时,我都必须手动设置其权限,这非常令人沮丧。)
简单的问题,但由于某种原因,我在谷歌上找不到确切的答案:
我在 Slicehost 上安装了一个全新的 Ubuntu,并想在我的主目录中为一个包含一堆静态 HTML 文件的简单网站创建一个公共目录。我该怎么做呢?只是键入mkdir public_html
和设置权限的问题,还是有更清洁的方法?(我记得过去我遇到过问题,每次我将文件复制到我的 public_html 目录中时,我都必须手动设置其权限,这非常令人沮丧。)
假设您已经安装了 apache,请执行以下操作:
sudo a2enmod userdir
sudo service apache2 reload
第一个命令启用 userdir apache mod,这正是您想要的。第二个重新加载 apache 配置,以便它开始使用新配置。
安装 apache2:
sudo apt-get install apache2
当然,您还需要确保您的 public_html 文件夹的权限允许 www-data 用户查看其中的文件——755 通常运行良好。去做这个:
mkdir ~/public_html
chmod -R 755 ~/public_html
这将递归 (-R) 遍历您的 public_html 并将权限设置为 755(所有者 rwx,以及组和其他 rx,rx)。
其他答案与. mod_userdir
_ 例如,如果您希望您的文件可以在域根目录下访问,那么您需要放置指令http://www.yourdomain.com/~username/
/home/username/public_html/index.html
http://www.yourdomain.com/~username/index.html
http://www.yourdomain.com/index.html
DocumentRoot /home/username/public_html
在 Apache 配置文件中。
您需要为 Apache 使用mod_userdir/var/www/
,否则您需要从或任何地方设置符号链接。
您的权限问题是因为 Apache 没有对您的文件的读取权限。您需要允许读取访问权限www-data
(或任何用户;特定于发行版)。