別々の VirtualBox マシンで Joomla と MySql を通信させるにはどうすればよいですか?

別々の VirtualBox マシンで Joomla と MySql を通信させるにはどうすればよいですか?

私は持っている:

  • Linux Mint 18.3 ホストマシン (192.168.1.19)
  • IIS8.5+PHP7 上の Joomla インストールを備えた VirtualBox Windows Server 2012 ゲスト マシン (192.168.1.8)
  • MySql Server 5.7 がインストールされた VirtualBox Windows Server 2012 ゲスト マシン (192.168.1.12)

両方の仮想マシンにはブリッジ接続があります。通信の仕組み:

  • Linux は Joomla および MySql 仮想マシンに ping を実行できます
  • 両方の仮想マシンはLinuxにpingできる
  • 仮想マシンが互いに ping できません (理由はわかりません)
  • LinuxからはMySqlクライアントを使用してWindows仮想マシン内のMySql Serverに接続できます。

必要なもの:

  • Joomla(最初の仮想マシンにインストール)が2番目の仮想マシンにインストールされたデータベースを使用するようにする必要があります

何か助けて頂けませんか?:)

2 つの仮想マシンは直接通信できないため (なぜでしょうか?)、Joomla ではconfiguration.php192.168.1.19 をデータベース ホストとして設定し、Linux マシンではすべての MySql 接続を 192.168.1.8 から 192.168.1.12 に転送できると考えましたが、その方法がわかりません。iptables でいくつか試してみましたが、転送を実現するためにどのように使用すればいいのかよくわかりません。

答え1

VirtualBox 仮想マシンが相互に通信できるようにするソリューション:

  1. まず、2 つの仮想マシンのネットワーク アダプターに新しいランダム MAC アドレスを割り当てます (これを行わないと、この問題を解決できませんでした)

  2. VirtualBox マネージャーで、「ファイル」、「設定」、「ネットワーク」の順に進み、ネットワーク CIDR = 10.0.2.0/24 で新しい NAT ネットワーク (「JoomlaDatabase」という名前) を追加します。この新しく作成された NAT のネットワーク オプションで、DHCP を無効にします (無効にする必要はありませんが、最大限の制御と仮想マシンへのランダムな IP アドレスの割り当てを回避するのに役立ちます)。

  3. 両方の仮想マシンの設定で、ネットワーク アダプタ構成を開き、「JoomlaDatabase」という名前の「NAT ネットワーク」に接続します。

  4. 仮想マシンの電源をオフにします。

  5. 仮想マシンを再起動し、TCP/IPv4 設定に次の値を挿入します (DNS IP は OpenDNS の IP です)。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 は他の仮想マシンのデータベース サーバーを使用できるようになります。

関連情報