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

Разрешение на запись Apache в public_html?

У меня есть учетная запись на размещенном веб-сервере, где у меня есть доступ по SSH.

Файлы вставлены /home/sandra/public_html онлайн.

«ДокуВики» рекомендует data и conf каталог не в Document Root, поэтому я переместил их в /home/sandra/data/ и /home/sandra/conf.

Проблема в том, что apache не может писать в эти каталоги.

Право собственности на /home/sandra/ является sandra.sandra.

Вопрос

Есть ли другие решения этой проблемы, кроме

chmod 777 /home/sandra

Может ли мне помочь пользователь root?

Так как Hex уже написано, каталог должен быть доступен для записи пользователю, под которым работает Apache. Вы можете добиться этого, изменив группу на основную группу пользователя Apache (www-data в Ubuntu) и предоставив группе разрешение на запись.

chgrp -R www-data /home/sandra/data /home/sandra/conf
chmod -R g+rwX /home/sandra/data /home/sandra/conf

Пользователь также должен уметь cd в эти каталоги, поэтому ему нужно execute разрешения в родительском каталоге.

chmod o+X /home/sandra

Другой вариант - добавить соответствующие ACL для пользователя Apache, если файловая система их поддерживает.

setfacl -m default:u:www-data:rwx /home/sandra/data /home/sandra/conf
setfacl -m u:www-data:x /home/sandra

Я бы не рекомендовал менять владельца.

Можешь попробовать

chown -R apache /home/sandra/conf 

Эта команда сделает apache владельцем этих файлов. Затем вы можете предоставить apache полный доступ к папке, выполнив

chmod 770 /home/sandra/conf

Обе команды должны запускаться в обеих папках соответственно.