Я думаю для машины разработки, ее более удобное выполнять Apache как текущий пользователь для упрощения проблемы полномочий? Как я делаю это? Я думаю его suexec, но как я настраиваю его в Ubuntu+Apache?
Я сам добавил бы пользователя к www-data
группа с...
sudo adduser {username} www-data
Простой и эффективный. Никакое питание с файлами конфигурации или полномочиями.
Отступание "должно Вы делать эту" проблему, можно найти, где пользователь для апача установлен путем выполнения:
grep www- /etc/apache2/apache2.conf
Это - затем случай редактирования тех экземпляров в /etc/apache2/apache2.conf
и перезагрузка Apache (sudo /etc/init.d/apache2 reload
).
Отредактируйте следующий файл как корень:/etc/apache2/envvars
использование команды:
sudo nano /etc/apache2/envvars
измените пользователя и группу себе, если существует только один пользователь, и у Вас никогда не будет проблем полномочий снова.
Т.е. если Вы только входите в систему и выполняете сервер как пользователь 'big_dog':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=big_dog
Heck, в этом отношении Вы могли изменить того пользователя на текущего пользователя, я уверен так или иначе. Затем установка user_dir Вы все имеет сети, только можно иметь полный контроль над (если Вы не изменяете это).
Перезапустите сервер (если не уверенный, просто перезагрузка или Гул), и Вы хороши для движения.
почему был бы Вы делать это, я был strugnling с тем перманентом проблемы в прошлом, но это - мой процесс dev с сегодняшнего дня:
sudo apt-get install lamp-server^
proc для подъема лампысделайте символьную ссылку на мой домашний dir, где проекты похожи на это:
ln -s /home/user/html /var/www/html
сделайте символьную ссылку на файл конфигурации хостов
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
вот именно :)
Это работает aspected, никакие проблемы с пользователем перманент или что-то похожее с апачским сервером, для mysql у меня есть немного более длительный процесс..
hth, аплодисменты
создайте новую группу пользователей webdev
и добавьте www-data
пользователь к нему.
sudo addgroup webdev
sudo adduser www-data webdev
Затем идите вперед и добавьте своего пользователя к той группе и сделайте ее группой по умолчанию для yor пользователя.
sudo adduser {your-user} webdev
sudo addgroup webdev
Последняя вещь сделать состоит в том, чтобы удостовериться, группа webdev имеет rwx права на файлах
sudo chmod 775 -R /path/to/project
Теперь единственная вещь, которая может произойти, состоит в том, что для, например, www-данные создает новый файл журнала, и Вы не можете rwx они.
Если кто-то пытается добиться этого в док-контейнере, это сработало для меня.
создайте своего собственного пользователя (пользователя без полномочий root, следовательно, идентификатор 1000) и предоставьте разрешения:
ENV MY_USER myUserName
RUN useradd -M -u 1000 $MY_USER \
&& chown -R $MY_USER:$MY_USER /var/run/apache2 \
&& chown -R $MY_USER:$MY_USER /var/log \
&& chown -R $MY_USER:$MY_USER /etc/apache2 \
&& chown -R myuser:myuser /var/lib/apache2
USER $MY_USER
CMD apache2ctl -D FOREGROUND
Примечание. Добавляйте эту строку только после установки всех необходимых модулей Apache.
Для тех, кто просто хочет создать веб-сервер для локальной разработки
Вы можете начать Встроенный сервер PHP
php -S localhost:8080 -t /home/sysadmin/Documents/wordpress
Это можно сделать с помощью модуля mpm_itk_module
.
Установить на Ubuntu 20.04:
sudo apt install libapache2-mpm-itk
Создайте виртуальный хост для сайтов в своей домашней папке
<VirtualHost codealfa:*>
ServerName codealfa
ServerAlias codealfa
DocumentRoot "/home/codealfa/www"
<IfModule mpm_itk_module>
AssignUserId codealfa codealfa
</IfModule>
<Directory /home/codealfa/www>
Options Indexes FollowSymLinks Includes ExecCGI
DirectoryIndex index.html index.php
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Добавьте свой домен (в данном случае я использую имя пользователя в качестве домена) в /etc/hosts
127.0.0.1 codealfa
Перезапустите apache
sudo systemctl restart apache2
Установите все свои сайты во вложенных папках в /home/codealfa/www
и доступ к ним в браузере с http://codealfa/
. Например, установите один сайт по адресу /home/codealfa/www/site1
, и вы сможете просматривать его в своем браузере по адресу http://codealfa/site1/
.