Разрешения пользователя на каталог загрузки

Разрешения пользователя на каталог загрузки

Загрузка файлов через мой веб-сайт не удалась, потому что 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.

Связанный контент