Назад | Перейти на главную страницу

Почему Dropbox может вызывать проблемы с путём + разрешением с путём виртуального хоста apache2 в Ubuntu?

Я пытаюсь создать среду разработки на моей 64-битной машине с Ubuntu 12.04, и мне было чертовски трудно заставить работать виртуальные хосты. Я наконец понял, в чем проблема, но на самом деле не могу этого понять.

Я установил корень документа для моих виртуальных хостов в моем домашнем каталоге, а именно:

/ главная / Роберт / Dropbox / www / personville

Когда я захожу на сайт www.personvillepress2.com в браузере, я получаю

Запрещено У вас нет разрешения на доступ к этому серверу. Сервер Apache / 2.2.22 (Ubuntu) на www.personvillepress2.com Порт 80

В журналах вижу

[Сб, 16 июня, 09:55:25 2012] [критика] [клиент 127.0.0.1] (13) В доступе отказано: /home/robert/Dropbox/.htaccess pcfg_openfile: невозможно проверить файл htaccess, убедитесь, что он доступен для чтения

Вместо этого я перемещаю корневой каталог моего документа в / главная / Роберт / www / personville

измените настройки виртуального хоста соответствующим образом, перезагрузите, и вдруг все заработает! Это плохо, потому что я хочу хранить все свои источники в папке Dropbox для резервного копирования.

Мои разрешения для папки 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 для развертывания на действующем сайте, поэтому все, что мне нужно, это способ резервного копирования моих локальных данных. Кто-нибудь может предложить решение? Спасибо.

Мне это кажется простой проблемой с разрешениями. В Ubuntu Apache работает как пользователь www-data группа www-data. Как мы видим из вашего каталога, в котором перечислены разрешения для вашего ~/Dropbox каталог (через .) являются drwx------ или 700. Таким образом, Apache как www-data:www-data отказано в доступе.

chmod 755 ~/Dropbox

возможно устранит сиюминутную проблему. В общем, вам нужно будет предоставить o:rx разрешения на каталоги и o:r разрешения на файлы, чтобы разрешить Apache доступ к файлам.