Как сопоставить отдельный поддомен с каталогом public_html определенного пользователя с помощью Apache2?

Я пытаюсь сопоставить daniel.mydomain.tld с /home/daniel/public_html вместо / var / www, в то время как mydomain.tld по- прежнему должен указывать на / var / www.

Пока что я включил мод vhost_alias, используя a2enmod vhost_alias,

Кроме того, я отредактировал sites-enabled/000-default.conf для

<Virtualhost *:80>
        ServerName mydomain.tld
        ServerAdmin www@localhost
        ServerAlias mydomain.tld
        DocumentRoot "/var/www"
        AccessFileName .htaccess
        <Directory "/var/www">
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

и создал сайты с поддержкой / daniel.conf со следующим содержанием

<Virtualhost *:80>
        ServerName daniel.mydomain.tld
        ServerAlias daniel.mydomain.tld
        ServerAdmin www@localhost
        DocumentRoot "/home/daniel/public_html"
        AccessFileName .htaccess
        <Directory "/home/daniel/public_html">
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>

Когда я закончил, я перезапустил сервер, используя service apache2 restart,

Когда я загружаю mydomain.tld в своем браузере, я попадаю в index.php, который находится в / var / www, так что он работает, как и ожидалось.

Попытка просмотреть mydomain.tld / ~ daniel / тоже работает нормально, показывая мне содержимое папки пользователя /home/daniel/public_html пользователя daniel.

Однако, посещение daniel.mydomain.tld вызывает 403 Запрещено - у вас нет прав доступа к этому серверу.

Что я делаю неправильно? Как мне сопоставить daniel.mydomain.tld с папкой /home/daniel/public_html?

Я нахожусь на Debian 8 (Jessie) под управлением Apache / 2.4.10 (Debian).

1 ответ

Удаление Option FollowSymLinks заставил его вести себя именно так, как я хотел.

Другие вопросы по тегам