Ответы:
Я бы сам добавил пользователя в www-data
группу с ...
sudo adduser {username} www-data
Просто и эффективно. Нет возиться с конфигурационными файлами или разрешениями.
Отредактируйте следующий файл как root: / etc / apache2 / envvars
используя команду:
sudo nano /etc/apache2/envvars
измените пользователя и группу на себя, если есть только один пользователь, и у вас больше никогда не будет проблем с разрешениями.
IE, если вы только входите в систему и запускаете сервер как пользователь 'big_dog':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Черт, в этом отношении вы могли бы изменить этого пользователя на текущего пользователя, я уверен, как-то. Затем установите user_dir, у которого у всех вас есть сети, только вы можете иметь полный контроль над ними (если вы не измените это).
Перезапустите сервер (если вы не уверены, просто перезагрузите компьютер или выполните поиск в Google), и все готово.
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
чтобы дать идентификатор пользователя и аналогичным образом использовать id -g
для группы в сценарии, и в конце я вызвал Apache для запуска.
Зачем ты это сделал, я боролся с этими проблемами с перми в прошлом, но это мой процесс разработки с сегодняшнего дня:
sudo apt-get install lamp-server^
процесс, чтобы получить лампусделайте ссылку на мой домашний каталог, где проекты выглядят так:
ln -s /home/user/html /var/www/html
сделать sym ссылку на конфигурационный файл hosts
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
вот и все :)
Это работает так, как и должно быть, никаких проблем с пользовательскими привилегиями или чем-то похожим на сервер apache, для mysql у меня немного больше времени.
ура, ура
Обойдя проблему «если вы сделаете это», вы можете узнать, где установлен пользователь для apache, запустив:
grep www- /etc/apache2/apache2.conf
Тогда это случай редактирования этих экземпляров /etc/apache2/apache2.conf
и перезагрузки Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
не содержит www-
для меня
grep -HR "www-" /etc/apache2/
. Если вы уже знаете, что он находится в apache2.conf, просто отредактируйте этот файл. В моем случае его там не было, но в / etc / apache2 / envvars, как указывает ответ Эрика.
apache.conf
ищет ${APACHE_RUN_USER}
и ${APACHE_RUN_GROUP}
. Не www-data
напрямую.
создайте новую webdev
группу www-data
пользователей и добавьте в нее пользователя.
sudo addgroup webdev
sudo adduser www-data webdev
Затем добавьте вашего пользователя в эту группу и сделайте ее группой по умолчанию для вашего пользователя.
sudo adduser {your-user} webdev
sudo addgroup webdev
Последнее, что нужно сделать, это убедиться, что группа webdev имеет права rwx на файлы
sudo chmod 775 -R /path/to/project
Теперь единственное, что может произойти, это то, что, например, www-data создает новый файл журнала, и вы не можете его изменить.
www-data
группу, особенно если мы говорим о среде разработки?