Change Vagrant config to have multiple boxes

This commit is contained in:
Frédéric Guillot 2014-10-25 14:41:30 -04:00
parent c48cb658ff
commit 471736bf8c
2 changed files with 102 additions and 28 deletions

79
Vagrantfile vendored
View File

@ -1,34 +1,71 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
$script = <<SCRIPT
# install packages
$script_sqlite = <<SCRIPT
apt-get update
apt-get install -y apache2 php5 libapache2-mod-php5 php5-sqlite php5-ldap php5-xdebug php5-curl php5-mysql php5-pgsql
apt-get install -y apache2 php5 php5-sqlite php5-xdebug
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
echo "Go to http://localhost:8080/ (admin/admin) !"
SCRIPT
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
$script_mysql = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service mysql restart
echo "create database kanboard;" | mysql -u root
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
# Virtualbox
config.vm.provider "virtualbox" do |v|
v.memory = 1024
$script_postgres = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service postgresql restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.define "sqlite" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
# Image
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.define "mysql" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_mysql
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
# Network
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.define "postgres" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_postgres
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "debian7" do |m|
m.vm.box = "chef/debian-7.6"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.define "debian6" do |m|
m.vm.box = "chef/debian-6.0.10"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.network :forwarded_port, guest: 80, host: 8001
#config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)"
# Setup
config.vm.provision "shell", inline: $script
config.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end

View File

@ -1,8 +1,45 @@
How to test Kanboard with Vagrant?
==================================
Run Kanboard with Vagrant
=========================
- Install Vagrant (http://www.vagrantup.com or apt-get install vagrant)
- Install VirtualBox (https://www.virtualbox.org/ or apt-get install virtualbox)
- Inside the root directory, and run the command `vagrant up`
- Go to http://localhost:8080/index.php
- Login with admin / admin
Vagrant is used to test Kanboard in different environments.
Several configurations are available:
- Ubuntu 14.04 LTS with Kanboard/Sqlite
- Ubuntu 14.04 LTS with Kanboard/Mysql
- Ubuntu 14.04 LTS with Kanboard/Postgresql
- Debian 7.6 with Kanboard/Sqlite
- Debian 6 with Kanboard/Sqlite
To use those configurations, you have to install the **last version** of Virtualbox and Vagrant.
Standard boxes can be download from [VagrantCloud](https://vagrantcloud.com):
```bash
vagrant box add ubuntu/trusty64
vagrant box add chef/debian-7.6
vagrant box add chef/debian-6.0.10
```
If you want to test Kanboard on Ubuntu with Sqlite:
```bash
vagrant up sqlite
```
After the initialization, go to http://localhost:8001/.
To test with Mysql:
```bash
vagrant up mysql
```
You have to configure Kanboard to use Mysql or Postgresql the first time (config file and database access).
Available boxes are:
- `vagrant up sqlite`
- `vagrant up mysql`
- `vagrant up postgres`
- `vagrant up debian7`
- `vagrant up debian6`