В настоящий момент на моем 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 вопроса:
www-data
не имеет прав на редактирование файлов на /public_html/
почему-то как я могу это исправить?P.S: Я использую Ubuntu 10.04, размещенную на Linode.
Эта команда:
chown www-data:websitename ~/public_html/
меняет владельца и группу для каталога, но не все, что находится под ним. Из вашего вопроса неясно, откуда именно берется содержимое каталога, но при условии, что в то время, когда вы запускаете chown
, вам нужно будет указать ему, чтобы он рекурсивно просматривал каталог, чтобы применить эти разрешения к содержимому ~ / public_html, а не только к самому каталогу.
chown -R www-data:websitename ~/public_html/
Также обычно не одобряется предоставление веб-серверу разрешения на запись во что угодно, вы должны подумать, в какие файлы он действительно должен иметь возможность писать, чтобы работать должным образом, и позволять ему записывать только эти конкретные файлы.