Рейтинг:1

Проблема с Apache 2.4 и VirtualHosts

флаг us

Может кто-нибудь сказать мне, что я здесь делаю неправильно, у меня есть 1 сервер с Apache 2.4 с 3 виртуальными хостами, настройте его следующим образом:

<VirtualHost helpedsk.example.com:80>
ServerAdmin [email protected]
DocumentRoot "${SRVROOT}/htdocs/hesk"
ServerName helpdesk.example.com
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
    <Directory "${SRVROOT}/htdocs/hesk">
        Require all granted
        Options Indexes FollowSymLinks ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost wiki.example.com:80>
    ServerAdmin [email protected]
    DocumentRoot "${SRVROOT}/htdocs/dokuwiki"
    ServerName wiki.example.com
    ErrorLog "logs/error.log"
    CustomLog "logs/access.log" common
    <Directory "${SRVROOT}/htdocs/dokuwiki">
        Require all granted
        Options Indexes FollowSymLinks ExecCGI
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

<VirtualHost docs.example.com:80>
    ServerAdmin [email protected]
    DocumentRoot "${SRVROOT}/htdocs/drupal"
    ServerName docs.example.com
    ErrorLog "logs/error.log"
    CustomLog "logs/access.log" common
    <Directory "${SRVROOT}/htdocs/drupal">
        Require all granted
        Options Indexes FollowSymLinks ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Но почему-то работает только последний, первый мне показывает корень документа сервера (без хеска) а второй уходит в безлимитную переадресацию на себя и я не могу понять почему, второй наверное должен сделать, потому что я настроил его, указав на сервер ip/dokuwiki, который я могу изменить позже, но почему первый не собирается?

Все эти сайты работают нормально при доступе с использованием serverip/site, но при попытке доступа по имени работает только последний.

флаг us
Можете ли вы опубликовать вывод `httpd -S` (или `apache2ctl -S` в Debian/Ubuntu) - это покажет сводку вашей конфигурации, которая будет полезна.
флаг us
Rob
В общем: вместо `VirtualHost helpsk.example.com:80>` используйте `VirtualHost *:80>` - вы перезапускали apache после внесения последних изменений в конфиг? - для подхода к отладке https://serverfault.com/questions/1092950/my-browser-will-not-display-http-sub-example-com может быть полезен
Jorge Hernandez avatar
флаг us
спасибо Роб это сработало
Рейтинг:0
флаг us

Неважно, я изменил все строки VirtualHost на *: 80, оставив в них имя сервера с URL-адресом сайта, и теперь он работает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.