Wie lässt sich die Kommunikation zwischen Joomla und MySql in getrennten VirtualBox-Maschinen herstellen?

Wie lässt sich die Kommunikation zwischen Joomla und MySql in getrennten VirtualBox-Maschinen herstellen?

Ich habe:

  • Ein Linux Mint 18.3-Hostcomputer (192.168.1.19)
  • Ein VirtualBox Windows Server 2012-Gastcomputer mit einer Joomla-Installation auf IIS8.5+PHP7 (192.168.1.8)
  • Ein VirtualBox Windows Server 2012-Gastcomputer mit einer MySql Server 5.7-Installation (192.168.1.12)

Beide virtuellen Maschinen verfügen über eine Bridge-Verbindung. So funktioniert die Kommunikation:

  • Linux kann virtuelle Joomla- und MySql-Maschinen anpingen
  • Beide virtuellen Maschinen können Linux anpingen
  • Die virtuellen Maschinen können sich nicht gegenseitig anpingen (ich weiß nicht, warum)
  • Unter Linux kann ich einen MySql-Client verwenden, um eine Verbindung zum MySql-Server in der virtuellen Windows-Maschine herzustellen.

Was ich brauche:

  • Ich brauche, dass Joomla (installiert in der ersten virtuellen Maschine) die Datenbank verwendet, die in der zweiten virtuellen Maschine installiert ist

Irgendeine Hilfe? :)

Da die beiden virtuellen Maschinen nicht direkt kommunizieren können (warum?), dachte ich, dass ich in Joomla configuration.php192.168.1.19 als Datenbankhost festlegen und in der Linux-Maschine alle MySql-Verbindungen von 192.168.1.8 an 192.168.1.12 weiterleiten könnte, aber ich weiß nicht, wie ich das erreichen soll.weil ich einige Versuche mit iptables gemacht habe, aber nicht wirklich weiß, wie ich damit die Weiterleitung realisieren kann.

Antwort1

Lösung, damit virtuelle VirtualBox-Maschinen miteinander kommunizieren:

  1. Weisen Sie zunächst den Netzwerkadaptern der beiden virtuellen Maschinen neue zufällige MAC-Adressen zu (ohne dies konnte ich dieses Problem nicht lösen).

  2. Gehen Sie im VirtualBox-Manager zu „Datei“, „Einstellungen“, „Netzwerk“ und fügen Sie ein neues NAT-Netzwerk hinzu (ich habe es „JoomlaDatabase“ genannt), mit Netzwerk-CIDR = 10.0.2.0/24. Deaktivieren Sie in den Netzwerkoptionen dieses neu erstellten NAT DHCP (es ist nicht notwendig, es zu deaktivieren, aber es ist nützlich für maximale Kontrolle und um zu vermeiden, dass den virtuellen Maschinen zufällige IP-Adressen zugewiesen werden).

  3. Öffnen Sie in den Einstellungen beider virtuellen Maschinen die Netzwerkadapterkonfiguration und verbinden Sie sie mit dem „NAT-Netzwerk“ mit dem Namen „JoomlaDatabase“.

  4. Schalten Sie die virtuellen Maschinen aus.

  5. Starten Sie die virtuellen Maschinen neu und geben Sie in den TCP/IPv4-Einstellungen diese Werte ein (die DNS-IPs sind die von OpenDNS): IP-Adresse = 10.0.2.5 (Joomla) oder 10.0.2.6 (MySQL); Subnetzmaske = 255.255.255.0; Gateway = 10.0.2.1; DNS 1 = 208.67.222.222; DNS 2 = 208.67.220.220.

  6. Schalten Sie die virtuellen Maschinen aus und starten Sie sie neu.

  7. Jetzt können beide virtuellen Maschinen eine Verbindung zum Internet herstellen und sich gegenseitig erfolgreich anpingen.

  8. Öffnen Sie die configuration.php von Joomla und ändern Sie diesen Wert: public $host = '10.0.2.6';

Das ist alles: Jetzt kann Joomla den Datenbankserver der anderen virtuellen Maschine verwenden.

verwandte Informationen