Prezados,
Fiz toda a configuração do Vagrant via public_network
e consigo realizar a conexão do banco de dados pelo host. Contudo, ao abrir a página PHP, dá erro de conexão ao banco.
1) A conexão no host está sendo feita com a seguinte URL jdbc:mysql://10.37.1.50:3306
2) Página index.php
<?php
echo "<h2>Funcionou \o/!</h2>";
echo "<div>Testando conexão com o banco de dados</div>";
$servername = "10.37.1.50";
$username = "phpuser";
$password = "pass";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("<div><b>Conexão falhou:</b> " . $conn->connect_error . "</div>");
}
echo "<div>Conectado com sucesso!</div>";
?>
3) O arquivo de configuração mysql.cnf
do MySQL está com a configuração bind-address = 0.0.0.0
. Segue a configuração do Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.define "mysqldb" do |mysql|
# mysql.vm.network "forwarded_port", guest: 80, host: 8089
# config.vm.network "private_network", type: "dhcp"
mysql.vm.network "public_network", ip: "10.37.1.50"
mysql.vm.synced_folder "./configs", "/configs"
mysql.vm.synced_folder ".", "/vagrant", disabled: true
mysql.vm.provision "shell", inline: $script_copy_public_key
mysql.vm.provision "shell", inline: $script_install_mysql
mysql.vm.provision "shell", inline: $script_copy_mysql_conf
end
config.vm.define "phpweb" do |phpweb|
phpweb.vm.network "forwarded_port", guest: 8888, host: 8888
phpweb.vm.network "public_network", ip: "10.37.1.51"
phpweb.vm.provision "shell", inline: $script_install_puppet
phpweb.vm.provision "puppet" do |puppet|
puppet.manifests_path = "./configs/manifests"
puppet.manifest_file = "phpweb.pp"
end
end
end
4) Arquivo de configuração do puppet phpweb.pp
:
exec { 'apt-update':
command => '/usr/bin/apt-get update'
}
package { ['php7.2', 'php7.2-mysql']:
require => Exec['apt-update'],
ensure => installed
}
exec { 'run-php7':
require => Package['php7.2'],
command => '/usr/bin/php -S 0.0.0.0:8888 -t /vagrant/src &'
}