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

Разрешить пользователю apache редактировать файлы

В настоящий момент на моем VPS я размещаю несколько веб-сайтов на разных виртуальных хостах с использованием apache2.

Процесс создания каждого нового веб-сайта выглядит следующим образом:

adduser websitename
su websitename
mkdir ~/public_html
mkdir ~/logs
exit    
chmod g+s ~/public_html/
chown www-data:websitename ~/public_html/

Затем я добавляю файл виртуального хоста websitename.com в /etc/apache2/sites-available/ и запустить a2ensite и перезапустите процесс apache2.

У меня 2 вопроса:

  1. В данный момент, www-data не имеет прав на редактирование файлов на /public_html/ почему-то как я могу это исправить?
  2. Вы бы что-нибудь еще добавили к процессу создания виртуального хоста?

P.S: Я использую Ubuntu 10.04, размещенную на Linode.

Эта команда:

chown www-data:websitename ~/public_html/

меняет владельца и группу для каталога, но не все, что находится под ним. Из вашего вопроса неясно, откуда именно берется содержимое каталога, но при условии, что в то время, когда вы запускаете chown , вам нужно будет указать ему, чтобы он рекурсивно просматривал каталог, чтобы применить эти разрешения к содержимому ~ / public_html, а не только к самому каталогу.

chown -R www-data:websitename ~/public_html/

Также обычно не одобряется предоставление веб-серверу разрешения на запись во что угодно, вы должны подумать, в какие файлы он действительно должен иметь возможность писать, чтобы работать должным образом, и позволять ему записывать только эти конкретные файлы.