Change Vagrant config to have multiple boxes
This commit is contained in:
79
Vagrantfile
vendored
79
Vagrantfile
vendored
@@ -1,34 +1,71 @@
|
|||||||
# -*- mode: ruby -*-
|
|
||||||
# vi: set ft=ruby :
|
|
||||||
|
|
||||||
VAGRANTFILE_API_VERSION = "2"
|
$script_sqlite = <<SCRIPT
|
||||||
|
|
||||||
$script = <<SCRIPT
|
|
||||||
# install packages
|
|
||||||
apt-get update
|
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
|
service apache2 restart
|
||||||
rm -f /var/www/html/index.html
|
rm -f /var/www/html/index.html
|
||||||
date > /etc/vagrant_provisioned_at
|
date > /etc/vagrant_provisioned_at
|
||||||
echo "Go to http://localhost:8080/ (admin/admin) !"
|
|
||||||
SCRIPT
|
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
|
$script_postgres = <<SCRIPT
|
||||||
config.vm.provider "virtualbox" do |v|
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
v.memory = 1024
|
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
|
end
|
||||||
|
|
||||||
# Image
|
config.vm.define "mysql" do |m|
|
||||||
config.vm.box = "ubuntu/trusty64"
|
m.vm.box = "ubuntu/trusty64"
|
||||||
config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
|
m.vm.provision "shell", inline: $script_mysql
|
||||||
|
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
|
||||||
|
end
|
||||||
|
|
||||||
# Network
|
config.vm.define "postgres" do |m|
|
||||||
config.vm.network :forwarded_port, guest: 80, host: 8080
|
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)"
|
#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
|
end
|
||||||
|
|||||||
@@ -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)
|
Vagrant is used to test Kanboard in different environments.
|
||||||
- Install VirtualBox (https://www.virtualbox.org/ or apt-get install virtualbox)
|
Several configurations are available:
|
||||||
- Inside the root directory, and run the command `vagrant up`
|
|
||||||
- Go to http://localhost:8080/index.php
|
- Ubuntu 14.04 LTS with Kanboard/Sqlite
|
||||||
- Login with admin / admin
|
- 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`
|
||||||
|
|||||||
Reference in New Issue
Block a user