Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Установка Apache + Ruby on Rails на CentOS.
- ## От рута.
- yum groupinstall "Development tools"
- yum install httpd-devel nodejs curl curl-devel openssl-devel
- ## От пользователя.
- # Установка rvm - менеджер версий Ruby
- cd ~
- curl -sSL https://get.rvm.io | bash
- echo 'source ~/.profile' > ./.bash_profile
- source ~/.profile
- # Установка Ruby
- rvm install 2.2.2
- rvm list
- rvm use 2.2.2
- # Установка passenger и bundle
- gem install bundle
- gem install passenger
- # Идём в диру проекта.
- cd /home/username/web/domain.name/public_html/
- # Установка зависимостей проекта
- bundle install
- # Генерация ключа для продакшн окружения.
- # 41032e94c8c859574419fc63ca1478abc87f8928b877875a5459b9673bff9dcd3b03042f16e792b64f1daa87eb164ac68fb12307641198dbe544006141ef108a
- rake secret
- export SECRET_KEY_BASE="многобукв"
- rails s -b 0.0.0.0 -p 3000 -e production
- # Если не захотело заводиться в production, то пробуем в development.
- # Причин можем быть много, косяк в проекте, не настроенные базы для продакшн и тд,
- # там все индивидуально.
- rails s -b 0.0.0.0 -p 3000 -e development
- # Потом идем на ip/домен по 3000 порту. Работает - хорошо, идем дальше. Нет - ищем косяки, мучаем его пока не заведется.
- ### Компиляция модуля для Apache.
- passenger-install-apache2-module
- # После компиляции нам выдадут подобную инфу:
- # LoadModule passenger_module /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7/buildout/apache2/mod_passenger.so
- # <IfModule mod_passenger.c>
- # PassengerRoot /home/username/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7
- # PassengerDefaultRuby /home/username/.rvm/gems/ruby-2.2.2/wrappers/ruby
- # </IfModule>
- ## От рута.
- # Копипастим то, что выдало при компиляции passenger-install-apache2-module.
- vi /etc/httpd/conf.d/passenger.conf
- # Потом приводим VirtualHost в конфе апача к подобному виду:
- <VirtualHost *:80>
- ServerName www.yourhost.com
- DocumentRoot /home/username/web/domain.name/public_html/public
- <Directory /home/username/web/domain.name/public_html/public>
- AllowOverride all
- Options -MultiViews
- RailsEnv production
- SetEnv SECRET_KEY_BASE "многобукв"
- </Directory>
- </VirtualHost>
- # Настраиваем в nginx отдачу статики.
- vi /home/$USERNAME/conf/nginx.conf
- location /static/ {
- alias /path/to/static/;
- }
- nginx -t
- nginx -s reload
- ### Перезапускаем Apache.
- service httpd restart
- # Идем в браузер и проверяем работу. Если сайт не заводится - меняем RailsEnv production на RailsEnv development
- # и отдаем клиенту со словами "Cайт работает в development окружении.".
- ### Простая проверка работы Apache + Phusion Passenger + Ruby on Rails:
- cd /home/username/web/domain.name/public_html/
- rvm use 2.2.2
- gem install rails
- rails new . project
- rails generate controller welcome index
- # Добавить root 'welcome#index' на предпоследнюю строку, перед end
- vi ./config/routes.rb
- ### Перезапустить Apache.
- # Изменить пути в VirtualHost
- service restart
- ### Должны увидеть "Welcome#index Find me in app/views/welcome/index.html.erb"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement