Symbolic link not allowed or link target not accessible

Помилка "Symbolic link not allowed or link target not accessible" в Apache означає, що веб-сервер не дозволяє використовувати символічні посилання (symlink) або не може отримати доступ до їхньої цільової директорії/файлу.

Можливі причини та рішення

  1. Відсутній дозвіл на використання Symlink Apache за замовчуванням може блокувати символічні посилання. Переконайтеся, що у вашому VirtualHost або .htaccess файлі вказано:

    Options +FollowSymLinks

    Якщо його немає або там "-FollowSymLinks", змініть параметр.

  2. Обмеження безпеки (SymLinksIfOwnerMatch) Якщо сервер має налаштовану опцію "SymLinksIfOwnerMatch", переконайтеся, що власник символічного посилання збігається з власником цільового файлу.

    Options +FollowSymLinks +SymLinksIfOwnerMatch
  3. Недостатні права доступу Переконайтеся, що користувач, від імені якого працює Apache (зазвичай www-data або apache), має права доступу до цільового файлу та всіх батьківських директорій.

    chmod -R 755 /шлях/до/файлу
    chown -R apache:apache /шлях/до/файлу

    Якщо ваш вебсервер використовує www-data, замініть apache:apache на www-data:www-data.

  4. Помилка у шляху або некоректне посилання Переконайтеся, що символічне посилання вказує на правильний і доступний файл. Перевірте це за допомогою:

    ls -l /шлях/до/symlink

    Якщо воно вказує на неіснуючий файл, виправте посилання:

    ln -sfn /новий/шлях /старий/symlink
  5. SELinux або AppArmor блокують доступ Якщо використовується SELinux, перевірте його статус командою:

    getenforce

    Якщо відповідь Enforcing, спробуйте дозволити Apache слідувати символічним посиланням:

    setsebool -P httpd_follow_symlinks 1

Якщо після всіх цих кроків проблема не вирішена, перегляньте журнал помилок Apache для детальнішої інформації:

tail -f /var/log/apache2/error.log

або

tail -f /var/log/httpd/error_log

Last updated