-
Notifications
You must be signed in to change notification settings - Fork 4
/
Vagrantfile
62 lines (55 loc) · 2.19 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
config.vm.box = "ubuntu/trusty64"
# config.vm.box_check_update = false
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
(1..2).each do |i|
config.vm.define "haproxy-#{i}" do |node|
port1 = (i + 7) * 1000 + 80
port2 = (i + 7) * 1000 + 404
octet = i + 10
node.vm.hostname = "haproxy-#{i}"
node.vm.network "forwarded_port", guest: 80, host: port1
node.vm.network "forwarded_port", guest: 8404, host: port2
node.vm.network "private_network", ip: "192.168.33.#{octet}"
node.vm.provision "shell", inline: <<-SHELL
sudo locale-gen de_DE.UTF-8
sudo add-apt-repository ppa:vbernat/haproxy-1.5
sudo apt-get update
sudo apt-get install -y haproxy hatop
sudo cp /vagrant/configs/haproxy.cfg /etc/haproxy
sudo cp /vagrant/configs/rsyslog.conf /etc/
sudo service rsyslog restart
sudo service haproxy restart
SHELL
end
end
config.vm.define "web" do |web|
web.vm.hostname = "web"
web.vm.network "private_network", ip: "192.168.33.10"
web.vm.provision "shell", inline: <<-SHELL
sudo locale-gen de_DE.UTF-8
sudo apt-get update
sudo apt-get install -y apache2
sudo a2enmod headers
sudo a2dissite 000-default
cd /vagrant/configs
for x in site-*.conf; do
sudo cp ${x} /etc/apache2/sites-available
sudo a2ensite ${x%.*}
done
sudo cp site-*.conf /etc/apache2/sites-available
sudo cp ports.conf /etc/apache2/
sudo cp apache2.conf /etc/apache2
sudo service apache2 restart
SHELL
end
end