Как заставить Apache обслуживать сайт через VirtualBox?

Из этого туториала я узнал, как создать виртуальную машину Ubuntu Server (12.10, 64-битная) в VirtualBox на хост-компьютере Windows 7 , установить Apache и заставить его обслуживать сайт. из фиктивного домена, доступного через браузер хост-машины.

Потребовался день и много попыток (хотя казалось, что я следовал инструкциям, поскольку они были изложены, я всегда делал что-то не так), и я наконец сделал это.

Я нахожу Ubuntu гораздо более гладкой средой разработки, чем Windows, и поэтому я хотел сделать то же самое в Ubuntu. Итак, на этот раз я создал виртуальную машину Ubuntu Server в VirtualBox на хост-компьютере Ubuntu , установил Apache и настроил его. Но когда я захожу на сайт через фиктивный домен, я получаю ошибку « Сервер не найден ».

Да, я изменил файл /etc/hosts так же, как упомянуто в учебник (который предназначен для Windows 7). Но я не мог заставить его работать. Не знаю что не так. Кто-нибудь знает, что еще я должен делать?

РЕДАКТИРОВАТЬ: Если я не достаточно ясно, пожалуйста, спросите. Я хочу уточнить.

8
задан 28 December 2012 в 06:20

2 ответа

Только root могут открывать порты < 1024, поэтому, если обычный пользователь запускает VirtualBox, он не открывает порт 80 на хосте и не перенаправляет его гостю.

Вы можете разрешить программам открывать привилегированные порты, выполнив:

setcap 'cap_net_bind_service=+ep' /path/to/executable

Я не знаю пути к исполняемому файлу VirtualBox, но вы легко можете его выяснить поиск чего-то похожего на «VirtualBox» в выходных данных ps auxf.

0
ответ дан 28 December 2012 в 06:20

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

  1. Остановите виртуальную машину и откройте настройки для нее в VirtualBox (OSE) Manager

  2. Перейдите в сеть Вкладка

  3. Выберите режим сети по вашему выбору (мостовая сеть или только для хоста)

    Если вы хотите использовать мостовую сеть, вы должны выбрать правильный сетевой адаптер в Имя: ____________ . Для проводных соединений вы бы выбрали что-то вроде eth0. Беспроводные соединения обычно называются wlan0 (номера могут отличаться).

  4. Сохраните настройки

  5. Запустите виртуальную машину Ubuntu

  6. Когда это произойдет, вы можете получить IP-адрес, выполнив: [ 1133]

    sudo ifconfig
    

    Вывод должен выглядеть примерно так:

    eth0      Link encap:Ethernet  HWaddr 08:00:27:f4:c3:7b  
              inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fef4:c37b/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:3244 (3.2 KB)  TX bytes:2512 (2.5 KB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    

    В приведенном выше выводе 192.168.1.4 (во второй строке) - это IP-адрес, который можно использовать в вашей Ubuntu. хост-система для доступа к вашей виртуальной машине.

  7. Теперь откройте файл hosts на хост-компьютере Ubuntu:

    sudo gedit /etc/hosts
    

    (Если вы не хотите использовать gedit, замените слово на имя вашего любимого редактора. Например, vim, nano.)

    . После открытия файла добавьте эту строку и сохраните :

    192.168.1.4   my-dummy-site.com
    
  8. Откройте любой браузер на хост-компьютере и перейдите на my-dummy-site.com для доступа к вашему веб-сайту, обслуживаемому прямо из VirtualBox.

(Особая благодарность @iSeth за помощь . Полностью основана на этого ответа , бит НЕ является то же самое.)

0
ответ дан 28 December 2012 в 06:20

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

Похожие вопросы: