Назад | Перейти на главную страницу

Веб-сайт по умолчанию на всех виртуальных хостах Apache

Я установил Webmin, Virtualmin, LAMP на свой сервер Debian Stretch. Это чистая установка.

Теперь моя проблема немного странная, так как она уже была у меня на моем предыдущем сервере давным-давно, и мне потребовалось полгода, чтобы окончательно ее решить - при первой установке [Webmin, Virtualmin, LAMP на моем сервере Debian Stretch] , Я пытался решить это несколько дней, но сдался. В следующие полгода я пытался решить ее несколько (1-3) раз, но смог решить ее только в последний раз. Я действительно помню, что я не нашел решения в Интернете (включая этот сайт, другие веб-сайты StackExchange, форумы Virtualmin, веб-сайт Apache и различные веб-сайты с учебниками / статьями) с моими различными ключевыми словами и предложениями, которые я искал, несмотря на то, что у многих людей такая же проблема, как у меня. Ни одно из предложенных решений не сработало. Теперь это сработало в прошлый раз, но у меня больше нет этого сервера, и я не могу вспомнить, какое было решение, и пытаюсь понять это снова на второй день.

Проблема в том, что, когда я создаю новый виртуальный хост, с доменом, который фактически указывает на IP-адрес сервера (или тот, который нет, но я перенаправил его ([домен]) в файл моих хостов [на моем персональном компьютере]) и я захожу на этот сайт, появляется сайт Apache по умолчанию. Я почти уверен, что виртуальный хост настроен правильно или, по крайней мере, нет, это не моя ошибка, поскольку виртуальный хост был добавлен Virtualmin, а не мной. Когда я делаю свои проверки, кажется, что он добавил его правильно. Если я добавлю виртуальный хост вручную, это тоже не сработает, однако я мог допустить ошибку при добавлении виртуальных хостов.

Если вам нужна дополнительная информация, просто спросите. Спасибо.

Увидев описание тега Apache, вот что sudo /usr/sbin/apache2ctl -S возвращает:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server 127.0.1.1 (/etc/apache2/sites-enabled/test.local.conf:1)
         port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/test.local.conf:1)
         port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/test2.local.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
Mutex proxy: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Я задал этот вопрос давно, но на случай, если у кого-то еще возникнет такая же проблема, решение заключалось в том, чтобы поместить каждый виртуальный хост Apache на один и тот же IP-адрес и порт в конфигурации.

Virtualmin создает <VirtualHost>s таким же образом, как они обрабатываются в Debian 9? Debian использует отдельные файлы конфигурации, включенные из /etc/apache2/sites-enabled/ с помощью IncludeOptional sites-enabled/*.conf.

Это означает, что ваши файлы конфигурации

  • должны иметь символические ссылки в /etc/apache2/sites-enabled/ (из файлов конфигурации, хранящихся в /etc/apache2/sites-available/, используя команду a2ensite site или вручную ln -s)
  • должны быть .conf суффикс.

Ваш apache2ctl -S заявляет, что у вас только один <VirtualHost *:80> соответствует этим условиям, и он был прочитан из /etc/apache2/sites-enabled/000-default.conf, начиная со строки 1.

Если ваш Webmin не обрабатывает файлы конфигурации таким образом, проверьте Операционная система и среда настройки и выбрать правильный дистрибутив.