简单的问题,但由于某种原因,我无法在Google上找到确切的答案:
我在Slicehost上安装了一个新的Ubuntu,并希望在我的主目录中创建一个包含一堆静态HTML文件的简单网站的公共目录。我该怎么做呢?是仅仅键入mkdir public_html
并设置权限,还是有更简洁的方法? (我记得在过去我遇到的问题是,每次我将文件复制到我的public_html目录中时,我都必须手动设置其权限,这非常令人沮丧。)
答案 0 :(得分:33)
假设您已经安装了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,以及组和其他r-x,r-x)。
答案 1 :(得分:10)
其他答案在mod_userdir
的正确轨道上,但使用它会为您的网站提供基本网址http://www.yourdomain.com/~username/
- 例如,文件/home/username/public_html/index.html
可以http://www.yourdomain.com/~username/index.html
访问1}}。如果您希望在域根目录下访问您的文件,例如http://www.yourdomain.com/index.html
,那么您需要放置指令
DocumentRoot /home/username/public_html
在Apache配置文件中。
顺便说一下,这类问题更适合Slicehost论坛。
答案 2 :(得分:2)
您需要对Apache使用mod_userdir,否则您需要设置/var/www/
或任何地方的符号链接。
您的权限问题是因为Apache没有对您的文件的读取权限。您需要允许对www-data
(或任何用户;特定于发行版)的读访问权。