
Загрузка файлов через мой веб-сайт не удалась, потому что apache не распознан как имеющий доступ на запись. Однако мои разрешения показывают обратное. Есть идеи?
При загрузке через скрипт скрипт возвращает
Error: Directory is not writable
Каталог — это /home/username/public_html/uploads
Разрешения каталога — это drwxrwsr-x
Каталог принадлежит username:webadmins
Apache, запущен как www-data
и является членом группwww-data webadmins
Что мне нужно изменить, чтобы www-data (Apache) мог писать в этот каталог? Спасибо.
решение1
Вы можете попробовать установить права на папку uploads на 777 (доступ для чтения и записи для всех пользователей). Но это небезопасно. Вы не должны использовать это в производственной системе или системе с несколькими пользователями. В любом случае, это будет работать так
sudo chown -R 777 /home/username/public_html/uploads
Другой (и лучший) способ — использовать mod_ruid2 для Apache. Вы можете скачать его здесьhttp://sourceforge.net/projects/mod-ruid/
Вам нужно скомпилировать его, а затем включить модуль.sudo a2enmod ruid2
После установки и включения вы можете редактировать файл конфигурации модуля userdir.sudo nano /etc/apache2/mods-enabled/userdir.conf
Добавьте следующее
<IfModule mod_ruid2.c>
RMode stat
RUidGid username usergroup
RGroups username usergroup
</IfModule>
После этого необходимо перезапустить службу Apache.sudo service apache2 restart
С помощью этой конфигурации вы можете использовать каталог public_html для своего пользователя и группы пользователей.
Но это работает только в том случае, если у вас есть только один пользователь с userdir public_html Apache.