Os arquivos são, na ordem, Vagrantfile, phpweb.pp e index.php:
$script_mysql = <<-SCRIPT
apt-get update && \
apt-get install -y mysql-server-5.7 && \
mysql -e "create user 'phpuser'@'%' identified by 'pass';"
SCRIPT
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.define "mysqldb" do |mysql|
mysql.vm.network "private_network", ip: "192.168.56.11"
mysql.vm.provision "shell",
inline: "cat /configs/id_rsa.pub >> .ssh/authorized_keys"
mysql.vm.provision "shell", inline: $script_mysql
mysql.vm.provision "shell", inline: "cat /configs/mysqld.cnf > /etc/mysql/mysql.conf.d/mysqld.cnf"
mysql.vm.provision "shell", inline: "service mysql restart"
mysql.vm.synced_folder "./configs", "/configs"
mysql.vm.synced_folder ".", "/vagrant", disabled: true
end
config.vm.define "phpweb" do |phpweb|
phpweb.vm.network "forwarded_port", guest: 8888, host: 8888
phpweb.vm.network "private_network", ip: "192.168.56.12"
phpweb.vm.provision "shell", inline: "apt-get update && apt-get install -y puppet"
phpweb.vm.provision "puppet" do |puppet|
puppet.manifests_path = "./configs/manifests"
puppet.manifest_file = "phpweb.pp"
end
end
end
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 $'
}
<?php
echo "Testando conexao <br /> <br />";
$servername = "192.168.56.12";
$username = "phpuser";
$password = "pass";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Conexão falhou: " . $conn->connect_error);
}
echo "Connetado com sucesso";
?>