4

Пожалуйста, помогите мне разобраться, у меня нет вариантов, что даже гуглить. Не знаю, почему эта конфигурация Apache не работает, как я ожидал.

<VirtualHost *:80>        
        DocumentRoot "/var/www/x/frontend/www"
        ServerName test.dev
        Alias /uploads "/var/www/x/common/uploads"
        <Directory "/var/www/x/frontend/www">
                AllowOverride All
        </Directory>
        <Directory "/var/www/x/common/uploads">
                Options +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all   
        </Directory>
</VirtualHost>

Теперь при доступе к http://test.dev/uploads/something я получаю 403 Запрещено. В журнале ошибок apache:

«AH00037: символическая ссылка не разрешена или цель ссылки недоступна: /var /www /x /common /uploads / что-то»

/var/www/x/common/uploads/something является символической ссылкой на /home/myusername/something , что представляет собой удаленную папку, смонтированную с помощью sshfs.

/home/myusername/something имеет 755 разрешений, и все внутри него имеет 777 разрешений.

1 ответ1

3

У меня есть две догадки:

  1. /home/myusername имеет 750 разрешений, поэтому Apache не может получить доступ к подкаталогам

  2. Смонтированный каталог по-прежнему недоступен для других пользователей (по умолчанию это делает FUSE), попробуйте sshfs -o allow_other чтобы это исправить.

В любом случае вам нужно определить, что-то не так с конфигурацией Apache или сервер Apache не может получить доступ к файлам. Попробуйте выполнить sudo -u www-data ls /var/www/x/common/uploads/something (измените www-data на пользователя, под которым в вашей системе работает apache). Если вы получили ошибку, вам нужно где-то исправить разрешения, иначе что-то не так с конфигурацией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .