Change Vagrant config to have multiple boxes
This commit is contained in:
parent
c48cb658ff
commit
471736bf8c
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
Loading…
Reference in New Issue