# 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** файлі вказано:

    ```apache
    Options +FollowSymLinks
    ```

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

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

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

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

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

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

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

    ```bash
    getenforce
    ```

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

    ```bash
    setsebool -P httpd_follow_symlinks 1
    ```

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

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

або

```bash
tail -f /var/log/httpd/error_log
```
