Как сопоставить отдельный поддомен с каталогом 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
заставил его вести себя именно так, как я хотел.