Как получить доступ к настройке виртуальных хостов на виртуальной машине с хост-машины? - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу получить доступ к моим виртуальным хостам (веб-сайтам), которые я настроил в своем VirtualBox -> Ubuntu-Server 18. У меня установлен apache2 и все настроено.

Хост-машина (macOS) в настоящее время могу получить доступ к веб-сайту по умолчанию apache2 в гостевой системе (Ubuntu-сервер) с помощью правила переадресации портов, которое я назначил в настройках сети VirtualBox:

127.0.0.1:8000 -> 10.0.2.15:80

У меня есть настройте виртуальный хост на моей гостевой машине со следующей конфигурацией:

<VirtualHost *:80>

    ServerName dropn.taxi
    ServerAdmin admin@dropn.taxi
    DocumentRoot /var/www/dropn.taxi/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Указанный выше каталог DocumentRoot существует и содержит файлы, необходимые для обслуживания домашней страницы c "Hello World". Я протестировал его с моим apache, установленным на моей локальной машине. Сайт не проблема.

Но каждый раз, когда я получаю доступ к localhost:8000 с локальной машины, меня приветствует страница приветствия Ubnutu- Apache. Принимая во внимание, что когда я пытаюсь localhost:8000/dropn.taxi, я получаю страницу 404. Я немного исследовал, и самое близкое решение, которое я могу найти, - это то, что предлагается на этой странице: URL-адрес локальных виртуальных хостов Ubuntu Apache2 не найден

Проще говоря: как я могу получить доступ к виртуальным хостам гостевой машины (ВМ) с хост-машины?

Все еще не указано c для моего случая. Буду признателен за любую помощь в этом отношении.

1 Ответ

0 голосов
/ 06 апреля 2020

localhost на сервере apache2 по умолчанию имеет значение /var/www/html. Чтобы виртуальные хосты работали должным образом, доступ к имени домена должен соответствовать тому, что определено в поле ServerName.

localhost:8000/dropn.taxi будет переводиться в 127.0.0.1/dropn.taxi в гостевой виртуальной машине. Это означает, что он пытается получить доступ к /var/www/html/dropn.taxi, который, в конечном счете, не существует, следовательно, ошибка 404.

Решение этого заключается в добавлении dropn.taxi к файлу /etc/hosts в и хост-машина и виртуальная машина. Строка будет выглядеть следующим образом: 127.0.0.1 localhost dropn.taxi

При доступе с хост-машины мы используем dropn.taxi:8000 в браузере, тогда как порт :8000 не используется на гостевой машине. Таким образом, при доступе к виртуальным хостам имя домена, к которому они обращаются, совпадает с полем ServerName, и оно просто работает!

...