如何讓Joomla和MySql在不同的VirtualBox機器上進行通訊?

如何讓Joomla和MySql在不同的VirtualBox機器上進行通訊?

我有:

  • 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. 現在兩個虛擬機器都可以連接到網路並且可以成功互相 ping 通。

  8. 開啟Joomla的configuration.php並更改此值: public $host = '10.0.2.6';

就這樣:現在 Joomla 可以使用另一個虛擬機器的資料庫伺服器了。

相關內容