1

Я имею:

  • Хост-компьютер Linux Mint 18.3 (192.168.1.19)
  • Гостевой компьютер VirtualBox Windows Server 2012 с установкой Joomla на IIS8.5+PHP7 (192.168.1.8)
  • Гостевой компьютер VirtualBox Windows Server 2012 с установкой MySql Server 5.7 (192.168.1.12)

Обе виртуальные машины имеют мостовое соединение. Как работают коммуникации:

  • Linux может пинговать виртуальные машины Joomla и MySql
  • Обе виртуальные машины могут пинговать Linux
  • Виртуальные машины не могут пинговать друг друга (я не знаю почему)
  • Из Linux я могу использовать клиент MySql для подключения к серверу MySql внутри виртуальной машины Windows

Что мне нужно:

  • Мне нужно, чтобы Joomla (установленная на первой виртуальной машине) использовала базу данных, установленную на второй виртуальной машине

Любая помощь? :)

Поскольку две виртуальные машины не могут взаимодействовать напрямую (почему?), Я подумал, что в Joomla configuration.php я мог бы установить 192.168.1.19 в качестве хоста базы данных, а на машине Linux я мог перенаправить все соединения MySql с 192.168.1.8 на 192.168 .1.12, однако я не знаю, как этого добиться, потому что я провел несколько испытаний с iptables, но я не знаю, как его использовать для реализации переадресации.

1 ответ1

0

Решение для взаимодействия виртуальных машин VirtualBox:

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

  2. В диспетчере VirtualBox перейдите в "Файл", "Предпочтения", "Сеть", добавьте новую сеть NAT (я назвал ее "JoomlaDatabase") с Network CIDR = 10.0.2.0/24. В параметрах сети этого нового созданного NAT отключите DHCP (отключать его необязательно, но это полезно для максимального контроля и предотвращения случайных IP-адресов, назначаемых виртуальным машинам).

  3. В настройках обеих виртуальных машин откройте конфигурацию сетевого адаптера и подключите его к "сети NAT" с именем "JoomlaDatabase".

  4. Выключите виртуальные машины.

  5. Перезапустите виртуальные машины и в настройках TCP/IPv4 вставьте эти значения (IP-адреса DNS являются OpenDNS): IP-адрес = 10.0.2.5 (Joomla) или 10.0.2.6 (MySQL); Маска подсети = 255.255.255.0; Шлюз = 10.0.2.1; DNS 1 = 208,67,222,222; DNS 2 = 208,67,220,220.

  6. Выключите и перезапустите виртуальные машины.

  7. Теперь обе виртуальные машины могут подключаться к Интернету и могут успешно пропинговать друг друга.

  8. Откройте файл configuration.php в Joomla и измените это значение: public $ host = '10 .0.2.6 ';

Вот и все: теперь Joomla может использовать сервер базы данных другой виртуальной машины.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .