¿Cómo hacer que Joomla y MySql se comuniquen en máquinas VirtualBox separadas?

¿Cómo hacer que Joomla y MySql se comuniquen en máquinas VirtualBox separadas?

Tengo:

  • Una máquina host Linux Mint 18.3 (192.168.1.19)
  • Una máquina invitada VirtualBox Windows Server 2012 con una instalación de Joomla en IIS8.5+PHP7 (192.168.1.8)
  • Una máquina invitada VirtualBox Windows Server 2012 con una instalación de MySql Server 5.7 (192.168.1.12)

Ambas máquinas virtuales tienen una conexión puente. Cómo funcionan las comunicaciones:

  • Linux puede hacer ping a máquinas virtuales Joomla y MySql
  • Ambas máquinas virtuales pueden hacer ping a Linux
  • Las máquinas virtuales no pueden hacer ping entre sí (no sé por qué)
  • Desde Linux puedo usar un cliente MySql para conectarme al servidor MySql dentro de la máquina virtual de Windows.

Lo que necesito:

  • Necesito que Joomla (instalado en la primera máquina virtual) use la base de datos instalada en la segunda máquina virtual.

¿Alguna ayuda? :)

Debido a que las dos máquinas virtuales no pueden comunicarse directamente (¿por qué?), pensé que en Joomla configuration.phppodría configurar 192.168.1.19 como host de la base de datos, y en la máquina Linux podría reenviar todas las conexiones MySql desde 192.168.1.8 a 192.168.1.12. sin embargo no se como lograrlo,porque hice algunas pruebas con iptables pero realmente no sé cómo usarlo para realizar el reenvío.

Respuesta1

Solución para hacer que las máquinas virtuales VirtualBox se comuniquen entre sí:

  1. En primer lugar, asigne nuevas direcciones MAC aleatorias a los adaptadores de red de las dos máquinas virtuales (sin hacer eso, no pude resolver este problema)

  2. En el administrador de VirtualBox, vaya a "Archivo", "Preferencias", "Red", agregue una nueva red NAT (la llamé "JoomlaDatabase"), con Network CIDR = 10.0.2.0/24. En las opciones de red de esta nueva NAT creada, Desactivar DHCP (no es necesario desactivarlo, pero es útil para el máximo control y evitar direcciones IP aleatorias asignadas a las máquinas virtuales).

  3. En la configuración de ambas máquinas virtuales, abra la configuración del Adaptador de red y conéctelo a la "Red NAT" denominada "JoomlaDatabase".

  4. Apague las máquinas virtuales.

  5. Reinicie las máquinas virtuales y en la configuración de TCP/IPv4 inserte estos valores (las IP de DNS son las de OpenDNS): dirección IP = 10.0.2.5 (Joomla) o 10.0.2.6 (MySQL); Máscara de subred = 255.255.255.0; Puerta de enlace = 10.0.2.1; DNS 1 = 208.67.222.222; DNS 2 = 208.67.220.220.

  6. Apague y luego reinicie las máquinas virtuales.

  7. Ahora ambas máquinas virtuales pueden conectarse a Internet y hacer ping entre sí con éxito.

  8. Abra el archivo Configuration.php de Joomla y cambie este valor: public $host = '10.0.2.6';

Eso es todo: ahora Joomla puede utilizar el servidor de base de datos de la otra máquina virtual.

información relacionada