Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Rails on Vagrant для разработки на Rails в Windows
- Установить "VirtualBox 4.3.10 for Windows hosts" https://www.virtualbox.org/wiki/Downloads
- Установить Vagrant "WINDOWS Universal (32 and 64-bit)" http://www.vagrantup.com/downloads
- Путь до vagrant не должен содержать русских букв, добавить папку \Vagrant\bin в PATH
- Скачиваем vagrant-box отсюда http://leopard.in.ua/rwbox/
- и распаковываем в \Vagrant\railsbox\
- Создаем папку \Vagrant\railsbox\projects - будет общей папкой для проектов ruby
- Приводим файл \Vagrant\railsbox\Vagrantfile к такому виду:
- # -*- mode: ruby -*-
- # vi: set ft=ruby :
- require 'json'
- # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
- VAGRANTFILE_API_VERSION = "2"
- Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
- #config.vm.box = "leopard/rwtrusty64"
- config.vm.box = "ubuntu/trusty64"
- #config.vm.box = "ubuntu/precise64"
- #config.vm.box_url = "http://rwprecise64.catware.org/0.2.3/rwprecise64.box"
- config.vm.synced_folder "projects/", "/home/vagrant/projects"
- config.vm.network :forwarded_port, guest: 3000, host: 3000
- VAGRANT_JSON = JSON.parse(Pathname(__FILE__).dirname.join('nodes', 'vagrant.json').read)
- config.vm.provision :chef_solo do |chef|
- chef_gem_path = "/opt/chef/embedded/lib/ruby/gems/1.9.1"
- chef.binary_env = "GEM_PATH=#{chef_gem_path} GEM_HOME=#{chef_gem_path}"
- chef.binary_path = "/opt/chef/bin"
- chef.cookbooks_path = ["site-cookbooks", "cookbooks"]
- chef.roles_path = "roles"
- chef.data_bags_path = "data_bags"
- chef.provisioning_path = "/tmp/vagrant-chef"
- chef.run_list = VAGRANT_JSON.delete('run_list') if VAGRANT_JSON['run_list']
- chef.json = VAGRANT_JSON
- end
- end
- В папке \Vagrant\railsbox\ открываем cmd и запускаем:
- vagrant up // иногда с первого раза не срабатывает нажимаем Ctrl-C и запускаем еще раз
- и дожидаемся когда скачается образ ubuntu/trusty64 (около 1 Гб)
- успешным завершением считается появление в конце строк такого вида:
- default: SSH address: 127.0.0.1:2222
- default: SSH username: vagrant
- default: SSH auth method: private key
- в дальнейшем команда vagrant up будет запускать виртуальную машину
- Дополнительные команды:
- vagrant halt - выключить виртуалку
- vagrant reload - перезапустить виртуалку
- Теперь запускаем любой SSH-клиент, например, putty заходим под логином и паролем vagrant на 127.0.0.1:2222
- и выполняем следующие команды для установки ruby и rails
- sudo apt-get update
- sudo apt-get install git
- sudo aptget install curl
- curl -sSL https://rvm.io/mpapis.asc | gpg --import -
- curl L get.rvm.io | bash s stable
- rvm requirements
- rvm install 2.2.2
- успехом должно быть выполнение команды
- ruby -v
- rvm rubygems current
- sudo apt-get install nodejs
- sudo apt-get install postgresql-9.3
- sudo apt-get install libpq-dev
- sudo su postgres -c psql
- создаем пользователя БД username с паролем password
- CREATE ROLE username SUPERUSER LOGIN PASSWORD 'password';
- \q
- делаем форк
- https://github.com/hndsm/rubyboost-workspace
- потом клон того что форкнули (вводим логин и пароль от github при запросе)
- cd projects
- git clone https://github.com/<your_login>/rubyboost-workspace
- cd rubyboost-workspace
- git fetch origin
- git checkout add-projects
- cp .ruby-version.example .ruby-version
- cp .ruby-gemset.example .ruby-gemset
- cp config/database.yml.example config/database.yml
- gem install bundler
- пишем имя пользователя и пароль который указал в команде создания пользователя в файлике config/database.yml по умолчанию username:password
- cd .
- bundle
- rake db:create
- rake db:migrate
- Запускаем rails на ip 0.0.0.0, чтобы был доступ с локальной машины
- rails s -b 0.0.0.0
- Теперь проект должен открываться в браузере http://localhost:3000
- Ctrl-C для закрытия rails
- Чтобы при входе в SSH каждый раз не переходить вручную в папку projects/rubyboost-workspace можно добавить эту в файл /home/vagrant/.bashrc на убунте:
- echo "cd projects/rubyboost-workspace">>/home/vagrant/.bashrc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement