Created
September 18, 2016 13:35
-
-
Save belinskidima/7b0d85e6783aeee38bf374872cb0a935 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Vagrantfile | |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
Vagrant.configure('2') do |config| | |
config.vm.box = 'ubuntu/trusty64' | |
config.vm.hostname = 'rails-dev-box' | |
config.ssh.username = "vagrant" | |
config.ssh.password = "vagrant" | |
config.vm.network :forwarded_port, guest: 3000, host: 3000 | |
config.vm.network :forwarded_port, guest: 4567, host: 4567 | |
config.vm.network :forwarded_port, guest: 6379, host: 6379 | |
config.vm.synced_folder "d:/Dropbox/Projects", "/home/dropbox" | |
config.vm.provision :shell, path: 'bootstrap.sh', keep_color: true | |
#config.ssh.insert_key = false | |
end | |
bootstrap.sh | |
# The output of all these installation steps is noisy. With this utility | |
# the progress report is nice and concise. | |
function install { | |
echo installing $1 | |
shift | |
apt-get -y install "$@" >/dev/null 2>&1 | |
} | |
echo updating package information | |
apt-add-repository -y ppa:brightbox/ruby-ng >/dev/null 2>&1 | |
apt-get -y update >/dev/null 2>&1 | |
install 'development tools' build-essential | |
install Ruby ruby2.3 ruby2.3-dev | |
update-alternatives --set ruby /usr/bin/ruby2.3 >/dev/null 2>&1 | |
update-alternatives --set gem /usr/bin/gem2.3 >/dev/null 2>&1 | |
echo installing Bundler | |
gem install bundler -N >/dev/null 2>&1 | |
install Git git | |
install SQLite sqlite3 libsqlite3-dev | |
install memcached memcached | |
install Redis redis-server | |
install RabbitMQ rabbitmq-server | |
install PostgreSQL postgresql postgresql-contrib libpq-dev | |
sudo -u postgres createuser --superuser vagrant | |
sudo -u postgres createdb -O vagrant activerecord_unittest | |
sudo -u postgres createdb -O vagrant activerecord_unittest2 | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password password root' | |
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root' | |
install MySQL mysql-server libmysqlclient-dev | |
mysql -uroot -proot <<SQL | |
CREATE USER 'rails'@'localhost'; | |
CREATE DATABASE activerecord_unittest DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; | |
CREATE DATABASE activerecord_unittest2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; | |
GRANT ALL PRIVILEGES ON activerecord_unittest.* to 'rails'@'localhost'; | |
GRANT ALL PRIVILEGES ON activerecord_unittest2.* to 'rails'@'localhost'; | |
GRANT ALL PRIVILEGES ON inexistent_activerecord_unittest.* to 'rails'@'localhost'; | |
SQL | |
install 'Nokogiri dependencies' libxml2 libxml2-dev libxslt1-dev | |
install 'ExecJS runtime' nodejs | |
# Needed for docs generation. | |
update-locale LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 | |
echo 'all set, rock on!' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment