1

Я пытаюсь обслуживать веб-страницы из папки Dropbox (в ~/Dropbox/Projects/MySite/) на Lion 1.7.2, используя Apache. Но все, что я получаю, это 403 Запрещенные ошибки.

Я уверен, что это как-то связано с разрешениями в этой папке, потому что я могу изменить каталог virtualhost на страницу, которую я создал в командной строке с помощью sudo, и она работает нормально.

Работающие страницы принадлежат root:wheel. Я пытался изменить только папку MySite на root:wheel, но безрезультатно. Я беспокоюсь, что если я продолжу изменять разрешения в дереве каталогов, я могу что-то испортить.

Как мне получить обслуживание сайтов из Dropbox?

4 ответа4

0

Поскольку Apache работает как отдельный пользователь, он не может просто наткнуться на ваши папки. Возможно, вы захотите ознакомиться с правами доступа к файлам UNIX: http://en.wikipedia.org/wiki/Chmod, но в этом случае папка, вероятно, будет либо 755, либо 775, которая будет либо Full для пользователя, Read и Execute для Group и Другие, или Полный для пользователя и группы и Чтение / Выполнение для других. Поскольку Apache - это другой пользователь, и вы не разделяете общую группу, вероятно, для этой папки должна быть папка 777, чтобы она могла ее использовать. Это немного грязное исправление, и вам может быть проще просто создать символическую ссылку на папку, к которой он может получить доступ в ваш Dropbox, может быть, ваша папка ~ / Sites?

0

Решение, которое я нашел, было очень простым: Apcache не следует по символическим ссылкам, если только они не находятся внутри документа (в моем случае /var /www). Я создал папку /var /www /mysite и создал символическую ссылку на эту папку в Dropbox. Итак, dropbox загрузил содержимое этой папки и скачал все изменения, которые я сделал в этой папке на других компьютерах. Но не забудьте удалить папку на другом компьютере и создать ее заново, это приведет к разрыву символической ссылки.

0

Моя проблема была немного другой: мне нужен был CGI-скрипт (ну, на самом деле, Мейсон), чтобы получить доступ к папке Dropbox с удаленно меняющейся информацией для обновления страниц. Но Apache работает как пользователь _www и довольно ограничен. Он не может войти, например. (Не позволяйте войти в систему, даже если вы можете!)

Я настраиваю новую учетную запись, группу _www, добавляю новое имя пользователя в группу _www. Затем войдите в систему как новая учетная запись, настройте Dropbox для этой учетной записи, обязательно выполните команду chmod -R g+rx, чтобы сделать группы Dropbox доступными для чтения в группе, и сделайте автоматический вход в учетную запись при запуске. Теперь в вашей OS X есть живая папка Dropbox, к которой Apache может получить доступ, будучи _www, без входа в систему.

rickj

0

Решение, которое я нашел, состояло в том, чтобы переместить существующую папку Sites в сторону ...

sudo mv ~/Sites ~/Sites.old

Затем создайте символическую ссылку из папки Dropbox с моими файлами на сайты.

ln -s ~/Dropbox/Projects/MySite Sites

И, наконец, отредактируйте мой файл USERNAME.conf, чтобы Apache мог перейти по ссылке sym. Поэтому, используя любой редактор, который вам удобен, отредактируйте /etc/apache2/users/USERNAME.conf, чтобы изменить ...

<Directory "/Users/USERNAME/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Читать...

<Directory "/Users/USERNAME/Sites/">
    Options Indexes MultiViews +FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Затем перезапустите Apache ...

sudo apachectl restart

Теперь вы сможете редактировать свои файлы в Dropbox и обрабатывать их с помощью Apache.

Помните, что использование FollowSymLinks представляет потенциальную угрозу безопасности, поэтому его не следует использовать в реальной / производственной среде.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .