Advertisement
Guest User

Untitled

a guest
May 27th, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. ### Установка Apache + Ruby on Rails на CentOS.
  2.  
  3. ## От рута.
  4.  
  5. yum groupinstall "Development tools"
  6. yum install httpd-devel nodejs curl curl-devel openssl-devel
  7.  
  8. ## От пользователя.
  9. # Установка rvm - менеджер версий Ruby
  10. cd ~
  11. curl -sSL https://get.rvm.io | bash
  12. echo 'source ~/.profile' > ./.bash_profile
  13. source ~/.profile
  14.  
  15. # Установка Ruby
  16. rvm install 2.2.2
  17. rvm list
  18. rvm use 2.2.2
  19.  
  20. # Установка passenger и bundle
  21. gem install bundle
  22. gem install passenger
  23.  
  24. # Идём в диру проекта.
  25. cd /home/username/web/domain.name/public_html/
  26. # Установка зависимостей проекта
  27. bundle install
  28. # Генерация ключа для продакшн окружения.
  29. # 41032e94c8c859574419fc63ca1478abc87f8928b877875a5459b9673bff9dcd3b03042f16e792b64f1daa87eb164ac68fb12307641198dbe544006141ef108a
  30. rake secret
  31. export SECRET_KEY_BASE="многобукв"
  32. rails s -b 0.0.0.0 -p 3000 -e production
  33. # Если не захотело заводиться в production, то пробуем в development.
  34. # Причин можем быть много, косяк в проекте, не настроенные базы для продакшн и тд,
  35. # там все индивидуально.
  36. rails s -b 0.0.0.0 -p 3000 -e development
  37. # Потом идем на ip/домен по 3000 порту. Работает - хорошо, идем дальше. Нет - ищем косяки, мучаем его пока не заведется.
  38.  
  39. ### Компиляция модуля для Apache.
  40. passenger-install-apache2-module
  41.  
  42. # После компиляции нам выдадут подобную инфу:
  43. # LoadModule passenger_module /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7/buildout/apache2/mod_passenger.so
  44. # <IfModule mod_passenger.c>
  45. # PassengerRoot /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7
  46. # PassengerDefaultRuby /home/username/.rvm/gems/ruby-2.2.2/wrappers/ruby
  47. # </IfModule>
  48.  
  49.  
  50. ## От рута.
  51.  
  52. # Копипастим то, что выдало при компиляции passenger-install-apache2-module.
  53. vi /etc/httpd/conf.d/passenger.conf
  54.  
  55. # Потом приводим VirtualHost в конфе апача к подобному виду:
  56. <VirtualHost *:80>
  57. ServerName www.yourhost.com
  58. DocumentRoot /home/username/web/domain.name/public_html/public
  59. <Directory /home/username/web/domain.name/public_html/public>
  60. AllowOverride all
  61. Options -MultiViews
  62. RailsEnv production
  63. SetEnv SECRET_KEY_BASE "многобукв"
  64. </Directory>
  65. </VirtualHost>
  66.  
  67. # Настраиваем в nginx отдачу статики.
  68. vi /home/$USERNAME/conf/nginx.conf
  69.  
  70. location /static/ {
  71. alias /path/to/static/;
  72. }
  73.  
  74. nginx -t
  75. nginx -s reload
  76.  
  77. ### Перезапускаем Apache.
  78. service httpd restart
  79. # Идем в браузер и проверяем работу. Если сайт не заводится - меняем RailsEnv production на RailsEnv development
  80. # и отдаем клиенту со словами "Cайт работает в development окружении.".
  81.  
  82. ### Простая проверка работы Apache + Phusion Passenger + Ruby on Rails:
  83. cd /home/username/web/domain.name/public_html/
  84. rvm use 2.2.2
  85. gem install rails
  86. rails new . project
  87. rails generate controller welcome index
  88. # Добавить root 'welcome#index' на предпоследнюю строку, перед end
  89. vi ./config/routes.rb
  90.  
  91. ### Перезапустить Apache.
  92. # Изменить пути в VirtualHost
  93. service restart
  94. ### Должны увидеть "Welcome#index Find me in app/views/welcome/index.html.erb"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement