Это потому, что Apache работает как www-data
в Ubuntu. Но если вы скачаете исходный код и скомпилируете его, он будет работать от имени пользователя daemon
. Папки, которые использует Apache, должны принадлежать пользователю Apache работает как.
Итак, если вам нужно изменить пользователя и группу Apache по умолчанию, измените / добавьте строку:
User <your-username> # (Without angle-bracket)
Group <your-group> # (Without angle-bracket), this setting is usually the same as the user
Вы не можете писать, используя PHP, потому что вы используете модуль php в apache. Если вы используете PHP -FPM, вам придется изменить пользователя и группу по умолчанию в файле PHP -FPM www.conf. Вы не используете PHP -FPM согласно предоставленной вами информации, следовательно, когда вы изменяете пользователя и группу Apache, она также применяется к PHP, так как PHP выполняется в Apache. Если у вас много посетителей, и ваш сайт должен быть быстрее, включите PHP -FPM, выполнив следующее:
1) Выгрузите mod_ php (номер версии) ), запустив:
sudo a2dismod php(version-number)
(необязательный шаг) 2) Возможно, вам потребуется использовать mpm_event и выгрузить mpm_prefork. Вы можете увидеть странное сообщение о конфликте и прочем, но проигнорируйте его. Вы можете сделать это, выполнив:
sudo a2dismod prefork && sudo a2enmod event
3) Установить PHP -FPM:
sudo apt install php(version-number)-fpm && sudo service php(version-number)-fpm start
4) Включить модуль proxy_fcgi в Apache:
sudo a2enmod proxy_fcgi
5) Добавьте в файл apache2.conf следующее:
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
6) Выполните:
sudo service apache2 restart
И все готово!