Advertisement
Geograph

RubyOnRails

Jun 13th, 2015
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.85 KB | None | 0 0
  1. Rails on Vagrant для разработки на Rails в Windows
  2.  
  3. Установить "VirtualBox 4.3.10 for Windows hosts" https://www.virtualbox.org/wiki/Downloads
  4.  
  5. Установить Vagrant "WINDOWS Universal (32 and 64-bit)" http://www.vagrantup.com/downloads
  6. Путь до vagrant не должен содержать русских букв, добавить папку \Vagrant\bin в PATH
  7.  
  8. Скачиваем vagrant-box отсюда http://leopard.in.ua/rwbox/
  9. и распаковываем в \Vagrant\railsbox\
  10. Создаем папку \Vagrant\railsbox\projects - будет общей папкой для проектов ruby
  11. Приводим файл \Vagrant\railsbox\Vagrantfile к такому виду:
  12.  
  13. # -*- mode: ruby -*-
  14. # vi: set ft=ruby :
  15. require 'json'
  16. # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
  17. VAGRANTFILE_API_VERSION = "2"
  18. Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  19.   #config.vm.box = "leopard/rwtrusty64"
  20.   config.vm.box = "ubuntu/trusty64"
  21.   #config.vm.box = "ubuntu/precise64"
  22.   #config.vm.box_url = "http://rwprecise64.catware.org/0.2.3/rwprecise64.box"  
  23.   config.vm.synced_folder "projects/", "/home/vagrant/projects"
  24.   config.vm.network :forwarded_port, guest: 3000, host: 3000
  25.   VAGRANT_JSON = JSON.parse(Pathname(__FILE__).dirname.join('nodes', 'vagrant.json').read)
  26.   config.vm.provision :chef_solo do |chef|
  27.     chef_gem_path    = "/opt/chef/embedded/lib/ruby/gems/1.9.1"
  28.     chef.binary_env  = "GEM_PATH=#{chef_gem_path} GEM_HOME=#{chef_gem_path}"
  29.     chef.binary_path = "/opt/chef/bin"
  30.     chef.cookbooks_path = ["site-cookbooks", "cookbooks"]
  31.     chef.roles_path = "roles"
  32.     chef.data_bags_path = "data_bags"
  33.     chef.provisioning_path = "/tmp/vagrant-chef"
  34.     chef.run_list = VAGRANT_JSON.delete('run_list') if VAGRANT_JSON['run_list']
  35.     chef.json = VAGRANT_JSON
  36.   end
  37. end
  38.  
  39. В папке \Vagrant\railsbox\ открываем cmd и запускаем:
  40. vagrant up // иногда с первого раза не срабатывает нажимаем Ctrl-C и запускаем еще раз
  41. и дожидаемся когда скачается образ ubuntu/trusty64 (около 1 Гб)
  42. успешным завершением считается появление в конце строк такого вида:
  43. default: SSH address: 127.0.0.1:2222
  44. default: SSH username: vagrant
  45. default: SSH auth method: private key
  46.  
  47. в дальнейшем команда vagrant up будет запускать виртуальную машину
  48. Дополнительные команды:
  49. vagrant halt - выключить виртуалку
  50. vagrant reload - перезапустить виртуалку
  51.  
  52. Теперь запускаем любой SSH-клиент, например, putty заходим под логином и паролем vagrant на 127.0.0.1:2222
  53. и выполняем следующие команды для установки ruby и rails
  54.  
  55. sudo apt-get update
  56. sudo apt-get install git
  57. sudo apt­get install curl
  58.  
  59. curl -sSL https://rvm.io/mpapis.asc | gpg --import -
  60. curl ­L get.rvm.io | bash ­s stable
  61.  
  62. rvm requirements
  63. rvm install 2.2.2
  64.  
  65. успехом должно быть выполнение команды
  66. ruby -v
  67.  
  68. rvm rubygems current
  69. sudo apt-get install nodejs
  70. sudo apt-get install postgresql-9.3
  71.  
  72. sudo apt-get install libpq-dev
  73. sudo su postgres -c psql
  74.  
  75. создаем пользователя БД username с паролем password
  76. CREATE ROLE username SUPERUSER LOGIN PASSWORD 'password';
  77. \q
  78.  
  79. делаем форк
  80. https://github.com/hndsm/rubyboost-workspace
  81. потом клон того что форкнули (вводим логин и пароль от github при запросе)
  82. cd projects
  83. git clone https://github.com/<your_login>/rubyboost-workspace
  84. cd rubyboost-workspace
  85.  
  86. git fetch origin
  87. git checkout add-projects
  88. cp .ruby-version.example .ruby-version
  89. cp .ruby-gemset.example .ruby-gemset
  90. cp config/database.yml.example config/database.yml
  91.  
  92. gem install bundler
  93. пишем имя пользователя и пароль который указал в команде создания пользователя в файлике config/database.yml по умолчанию username:password
  94. cd .
  95. bundle
  96.  
  97. rake db:create
  98. rake db:migrate
  99.  
  100. Запускаем rails на ip 0.0.0.0, чтобы был доступ с локальной машины
  101. rails s -b 0.0.0.0
  102. Теперь проект должен открываться в браузере http://localhost:3000
  103. Ctrl-C для закрытия rails
  104.  
  105. Чтобы при входе в SSH каждый раз не переходить вручную в папку projects/rubyboost-workspace можно добавить эту в файл /home/vagrant/.bashrc на убунте:
  106. echo "cd projects/rubyboost-workspace">>/home/vagrant/.bashrc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement