Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Нет прав для доступа к серверу при одном и том же владельце папки и процесса Apache. Как устранить?

#linux #apache

                    
Расклад следующий. Удаленный VDS-сервер, ставлю LAMP.

Указываю в файле /etc/apache/envvars

APACHE_RUN_USER = musaevhs
APACHE_RUN_GROUP = musaevhs


В файле /etc/apache2/sites-enabled/000-default.conf


    ServerName musaevhs.ru
    DocumentRoot /home/musaevhs/www

    
        AllowOverride All
        Allow From All
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined




Владелец папки - musaevhs, у этого пользователя sudo-права.
И все равно выплевывает


  Forbidden You don't have permission to access / on this server.
  Apache/2.4.7 (Ubuntu) Server at musaevhs.ru Port 80


Есть соображения, куда копать? Если выставляю DocumentRoot в папку /srv, которую
создал в корне, то все работает, файлы читает. У папки /srv владелец root.
    


Ответы

Ответ 1



часто применяемая для такой ситуации практика — добавлять пользователя, от имени которого выполняются «дочерние» процессы apache («родительский» всегда должен работать от имени root-а — ведь только root имеет право создавать сокеты на портах с номером меньше 1024), в требуемую группу. чаще всего встречается пользователь www-data (зависит от того, как собран и сконфигурирован apache, уточнить можно, например, по первому полю в списке процессов: ps aux | grep 'USER\|apache\|httpd). в вашем случае добавить его в группу musaevhs можно, например, так: $ sudo usermod -a -G musaevhs www-data после этого надо перезапустить apache (именно перезапустить: сделать не reload, а restart). естественно, и каталог /home/musaevhs, и каталог /home/musaevhs/www, и подкаталоги последнего должны принадлежать группе musaevhs и быть читабельны для группы. можно в этом убедиться с помощью команды ls -ld /путь/к/каталогу, а можно сразу и исправить, не уточняя, например, так: $ sudo chown :musaevhs /home/musaevhs $ sudo chmod g+rx /home/musaevhs $ sudo chown -R :musaevhs /home/musaevhs/www $ sudo find /home/musaevhs/www -type d -exec chmod g+rx {} +

Комментариев нет:

Отправить комментарий