# encoding: utf-8 # -*- mode: ruby -*- # vi: set ft=ruby : require_relative 'ruby_lib/util.rb' Util.check_required_file(Dir.pwd + '/redcap.zip') Vagrant.configure("2") do |config| config.vm.box = "redcap-debian-70rc1" #config.vm.box = "redcap-debian-73-x64" # set RAM size to 1GB config.vm.provider "virtualbox" do |v| v.memory = 1024 v.cpus = 2 end config.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210.box" #config.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/debian-73-x64-virtualbox-puppet.box" config.ssh.forward_agent = true # HTTP requests on the host OS port 8998 will be # serviced by the redcap application running on the guest OS config.vm.network :forwarded_port, guest: 80, host: 8998 config.vm.network :forwarded_port, guest: 443, host: 8999 # Redirect the mysql connections to the guest OS config.vm.network :forwarded_port, guest: 3306, host: 3306 #config.vm.provision :shell, :inline => 'apt-get update' #config.vm.provision :shell, :inline => 'apt-get install -y build-essential ruby chef --no-upgrade --yes' # try to provision everything with chef config.vm.provision :chef_solo do |chef| chef.cookbooks_path = ["cookbooks", "myCookbooks"] chef.add_recipe :apt chef.add_recipe 'apache2' chef.add_recipe 'apache2::mod_ssl' chef.add_recipe 'apache2::mod_php5' chef.add_recipe 'apache2::mod_rewrite' # enable the ssl site while disabling the default vhost on port 80 chef.add_recipe 'default-ssl' chef.add_recipe 'mysql' chef.add_recipe 'mysql::server' chef.add_recipe 'git' chef.add_recipe 'php' chef.add_recipe 'php::module_curl' chef.add_recipe 'php::module_mysql' chef.add_recipe 'pear-packages' chef.json = { :apache => { :default_site_enabled => "true", :dir => "/etc/apache2", :log_dir => "/var/log/apache2", :error_log => "error.log", :user => "www-data", :group => "www-data", :binary => "/usr/sbin/apache2", :cache_dir => "/var/cache/apache2", :pid_file => "/var/run/apache2.pid", :lib_dir => "/usr/lib/apache2", :listen_ports => [ "80" ], :contact => "ops@example.com", :timeout => "300", :keepalive => "On", :keepaliverequests => "100", :keepalivetimeout => "5" }, :mysql => { :server_root_password => "password", :server_repl_password => "password", :server_debian_password => "password", :service_name => "mysql", :basedir => "/usr", :data_dir => "/var/lib/mysql", :root_group => "root", :mysqladmin_bin => "/usr/bin/mysqladmin", :mysql_bin => "/usr/bin/mysql", :conf_dir => "/etc/mysql", :confd_dir => "/etc/mysql/conf.d", :socket => "/var/run/mysqld/mysqld.sock", :pid_file => "/var/run/mysqld/mysqld.pid", :grants_path => "/etc/mysql/grants.sql" }, :git => { :prefix => "/usr/local" } } end # Provision things we cannot yet do with chef config.vm.provision :shell, :path => "bootstrap.sh" end