Разрешения для виртуального хоста apache2

Я использую Ubuntu 12.04LTS и создал виртуальный хост apache в моей локальной файловой системе для сайта, который я разрабатываю. Однако, когда apache пытается получить доступ к сайту, он не может этого сделать, потому что все права собственности принадлежат моему собственному имени пользователя, а не www-данным. Поэтому я сменил всех владельцев:

$ chown -R www-data:www-data domain-root-name

Apache теперь счастлив, но я не счастлив, потому что больше не могу ничего делать с файлами - что мне нужно делать в целях разработки.

Я попытался сделать наоборот (добавив www-данные в свою группу), но это просто означало, что apache больше не мог получить доступ к сайту.

Есть много вещей об этом повсюду, но у меня ничего не работает. Главным образом предложение состоит в том, чтобы добавить себя в группу www-data. Однако этого недостаточно, поскольку я все еще не могу редактировать файлы сайта.

Другое предложение состоит в том, чтобы установить все разрешения на 777, что заставляет многих респондентов держать руки в ужасе, хотя это (очевидно) работает.

Есть ли кто-нибудь, кто решил эту проблему, чтобы разработчик мог безопасно разрабатывать на локальной установке apache?

1
задан 26 November 2013 в 17:34

2 ответа

Лично я назначил себя владельцем с www-данными в качестве группы:

sudo chown -R konapun:www-data domain-root-name

, а затем установил права доступа на 754 (konapun: rwx, www-data: rx, other: r) :

sudo chmod -R 754 domain-root-name

Если Apache должен создавать какие-либо файлы (временные файлы или, возможно, шаблонизатор, который компилирует шаблоны), я устанавливаю для этих отдельных каталогов значение 774.

0
ответ дан 26 November 2013 в 17:34

Я думаю, что, возможно, нашел ответ:

http://www.vagrantup.com/

Vagrant с открытым исходным кодом по очень разрешительной лицензии ( MIT).

Я не пробовал каждую возможную ситуацию (например, автоматическое обновление или добавление плагина на сайт WordPress для разработки), но небольшое количество тестирования, которое я провел, похоже, указывает на то, что я могу оставить разрешения apache на их значения по умолчанию в vagrant VM и работа в папке Vagrant на хосте (мой ящик для разработки) без каких-либо проблем доступа. Разрешения для любой установки apache на хосте не имеют к этому никакого отношения и не зависят от того, что вы делаете.

Вы должны использовать нестандартный порт для сайта, который вы разрабатываете, например 8080. Если вы используете отображение портов (только одна дополнительная строка в конфигурационном файле vagrant VM), это отправляет запросы на это порт к порту 80 виртуальной машины, предполагая, что это то, что вы указали в файле конфигурации. И вам нужно будет создать новую виртуальную машину для каждого проекта, но вряд ли это конец света.

Из-за небольшого времени, которое я потратил на использование vagrant (всего один день или около того), это кажется очень элегантным и простым в использовании решением этой и других проблем.

Если у кого-то есть другие плюсы и минусы, мне было бы интересно их услышать.

0
ответ дан 26 November 2013 в 17:34

Другие вопросы по тегам:

Похожие вопросы: