Como fazer com que Joomla e MySql se comuniquem em máquinas VirtualBox separadas?

Como fazer com que Joomla e MySql se comuniquem em máquinas VirtualBox separadas?

Eu tenho:

  • Uma máquina host Linux Mint 18.3 (192.168.1.19)
  • Uma máquina convidada VirtualBox Windows Server 2012 com instalação do Joomla em IIS8.5 + PHP7 (192.168.1.8)
  • Uma máquina convidada VirtualBox Windows Server 2012 com instalação do MySql Server 5.7 (192.168.1.12)

Ambas as máquinas virtuais possuem uma conexão bridge. Como funcionam as comunicações:

  • Linux pode executar ping em máquinas virtuais Joomla e MySql
  • Ambas as máquinas virtuais podem executar ping no Linux
  • As máquinas virtuais não conseguem fazer ping entre si (não sei por quê)
  • No Linux posso usar um cliente MySql para conectar ao MySql Server dentro da máquina virtual Windows

O que eu preciso:

  • Preciso que o Joomla (instalado na primeira máquina virtual) utilize o banco de dados instalado na segunda máquina virtual

Qualquer ajuda? :)

Como as duas máquinas virtuais não podem se comunicar diretamente (por quê?), pensei que no Joomla configuration.phpeu poderia definir 192.168.1.19 como host do banco de dados, e na máquina Linux eu poderia encaminhar todas as conexões MySql de 192.168.1.8 para 192.168.1.12, no entanto, não sei como conseguir isso,porque já fiz alguns testes com o iptables mas não sei bem como usá-lo para realizar o encaminhamento.

Responder1

Solução para fazer com que as máquinas virtuais VirtualBox se comuniquem:

  1. Em primeiro lugar, atribua novos endereços MAC aleatórios aos adaptadores de rede das duas máquinas virtuais (sem fazer isso não consegui resolver este problema)

  2. No gerenciador do VirtualBox, vá em “Arquivo”, “Preferências”, “Rede”, adicione uma nova rede NAT (chamei-a de “JoomlaDatabase”), com Network CIDR = 10.0.2.0/24. Nas opções de rede deste novo NAT criado, Desative o DHCP (não é necessário desativá-lo, mas é útil para o máximo controle e evitar endereços IP aleatórios atribuídos às máquinas virtuais).

  3. Nas configurações de ambas as máquinas virtuais, abra a configuração do Adaptador de Rede e anexe-o à "Rede NAT" chamada "JoomlaDatabase".

  4. Desligue as máquinas virtuais.

  5. Reinicie as máquinas virtuais e nas configurações do TCP/IPv4 insira estes valores (os IPs do DNS são os do OpenDNS): Endereço IP = 10.0.2.5 (Joomla) ou 10.0.2.6 (MySQL); Máscara de sub-rede = 255.255.255.0; Gateway = 10.0.2.1; DNS1 = 208.67.222.222; DNS2 = 208.67.220.220.

  6. Desligue e reinicie as máquinas virtuais.

  7. Agora, ambas as máquinas virtuais podem se conectar à Internet e executar ping entre si com êxito.

  8. Abra o configuration.php do Joomla e altere este valor: public $host = '10.0.2.6';

Só isso: agora o Joomla pode usar o servidor de banco de dados da outra máquina virtual.

informação relacionada