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

Установка разрешений на уровне ОС для веб-корневого сервера Apache на виртуальных хостах с непрерывной интеграцией

У меня возникла проблема с моей установкой Apache, из-за которой мои приложения PHP не могут создавать свои файлы журналов из-за доступ запрещен при попытке записи в корневой каталог сети.

Это происходит на моем тестовом сервере, который представляет собой стек LAMP в Ubuntu 16.04 внутри Virtual Box. Установка в значительной степени такая же стандартная, как и в случае с apt (пользователь - www-data, / var / www - корневой веб-сайт, связанный с root).

Каждый проект, который я хочу запустить, находится на собственном виртуальном хосте, созданном следующим образом:

  1. sudo mkdir -p /var/www/site1.com
  2. sudo chown -R $ ПОЛЬЗОВАТЕЛЬ: $ ПОЛЬЗОВАТЕЛЬ /var/www/site1.com
  3. sudo chmod -R 755 / var / www

Когда я хочу протестировать, я копирую (как пользователь ОС Ubuntu) код в каталог / var / www / site (на самом деле у меня есть сценарий синхронизации, который делает это всякий раз, когда обнаруживает изменения кода).

Это работает нормально, за исключением того факта, что приложение не может создавать свои файлы журналов.

Я видел несколько ответов, в том числе на chmod 777 everything (?!), Чтобы добавить пользователя Ubuntu в группу www-data и добавить пользователя www-data в группу пользователей ubuntu.

Я предпочитаю добавить пользователя www-data в группу пользователей Ubuntu и дать привилегии g + w всему, что нужно написать;

Это правильная процедура?