我正在尝试在我的 64 位 12.04 Ubuntu 机器上创建一个开发环境,而我正忙着让虚拟主机工作。我终于弄清楚问题出在哪里,但我真的无法理解。
我将我的虚拟主机的文档根目录设置在我的主目录中——即:
/home/罗伯特/Dropbox/www/personville
当我在浏览器中访问 www.personvillepress2.com 时,我得到
Forbidden 您无权访问/ 在此服务器上。Apache/2.2.22 (Ubuntu) 服务器在 www.personvillepress2.com 端口 80
在日志中,我看到
[Sat Jun 16 09:55:25 2012] [crit] [client 127.0.0.1] (13)Permission denied: /home/robert/Dropbox/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
我将文档根目录移至 /home/robert/www/personville
相应地修改虚拟主机设置,重新加载,然后突然一切正常!这很糟糕,因为我想将所有源代码保存在我的 Dropbox 文件夹中以备备份。
我对保管箱文件夹的权限似乎很正常:
robert@kundera-linux:~/Dropbox$ ls -al
total 1036
drwx------ 29 robert robert 4096 Jun 15 09:11 .
drwxr-xr-x 60 robert robert 4096 Jun 15 21:15 ..
-rw-rw-r-- 1 robert robert 29 Jun 15 09:11 .dropbox
drwxrwxr-x 2 robert robert 262144 Jun 13 05:22 .dropbox.cache
drwxrwxr-x 5 robert robert 4096 Jun 9 00:00 www
没有符号链接或异常严格的权限。此外,我没有看到任何可能带来任何问题的 .htaccess 问题(为什么 apache2 会关心文档根目录之上的 .htaccess 权限问题?)
对于如何以一种让我将源文件保存在 Dropbox 中的方式解决这个问题的任何想法,我都很感激。
不起作用的虚拟主机文件如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName personvillepress2.com
ServerAlias www.personvillepress2.com
# DocumentRoot /var/www
DocumentRoot /home/robert/Dropbox/www/personville
<Directory /home/robert/Dropbox/www/personville>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/personvillepress2error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
更新:我看到其他人之前也遇到过这个问题。https://stackoverflow.com/questions/9460052/how-can-i-use-a-dropbox-directory-as-a-virtual-host-document-root-in-osx
我并不是真的担心这里的安全性——这是一个开发箱;我主要担心其他机器的备份和访问。我正在考虑使用 git 部署到实时站点,所以我想要的只是一种备份本地数据的方法。谁能提出解决方案?谢谢。