如何使分离的 VirtualBox 机器中的 Joomla 和 MySql 进行通信?

如何使分离的 VirtualBox 机器中的 Joomla 和 MySql 进行通信?

我有:

  • Linux Mint 18.3 主机(192.168.1.19)
  • 一台 VirtualBox Windows Server 2012 客户机,在 IIS8.5+PHP7(192.168.1.8)上安装了 Joomla
  • 安装了 MySql Server 5.7 的 VirtualBox Windows Server 2012 客户机(192.168.1.12)

两个虚拟机均有桥接连接。通信的工作原理:

  • Linux 可以 ping Joomla 和 MySql 虚拟机
  • 两个虚拟机都可以 ping Linux
  • 虚拟机之间无法互相 ping 通(不知道为什么)
  • 从 Linux,我可以使用 MySql 客户端连接到 Windows 虚拟机内的 MySql Server

我需要的:

  • 我需要 Joomla(安装在第一个虚拟机上)使用安装在第二个虚拟机上的数据库

有什么帮助吗?:)

因为两个虚拟机不能直接通信(为什么?),我想在 Joomla 中configuration.php我可以将 192.168.1.19 设置为数据库主机,在 Linux 机器上我可以将所有的 MySql 连接从 192.168.1.8 转发到 192.168.1.12,但是我不知道如何实现,因为我已经对iptables进行了一些尝试,但我不知道如何使用它来实现转发。

答案1

使VirtualBox虚拟机相互通信的解决方案:

  1. 首先,为两个虚拟机的网络适配器分配新的随机 MAC 地址(如果不这样做,我无法解决这个问题)

  2. 在 VirtualBox 管理器中,转到“文件”、“首选项”、“网络”,添加一个新的 NAT 网络(我将其命名为“JoomlaDatabase”),网络 CIDR = 10.0.2.0/24。在此新创建的 NAT 的网络选项中,禁用 DHCP(没有必要禁用它,但它对于最大程度的控制很有用,并避免将随机 IP 地址分配给虚拟机)。

  3. 在两个虚拟机的设置中,打开网络适配器配置并将其附加到名为“JoomlaDatabase”的“NAT 网络”。

  4. 关闭虚拟机。

  5. 重新启动虚拟机并在 TCP/IPv4 设置中插入以下值(DNS IP 是 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. 现在两个虚拟机都可以连接到Internet,并且可以互相ping通。

  8. 打开Joomla的configuration.php并更改此值:public $host ='10.0.2.6';

就这样:现在 Joomla 可以使用另一台虚拟机的数据库服务器了。

相关内容