2014/12/19

05.Build Ruby on Rails Development Environment with Apache2 module passenger

1.Install ruby, rubygems, basic build-essential

sudo apt-get install ruby-full rubygems build-essential


2.Install apache2
sudo apt-get install apache2 apache2-mpm-prefork apache2-prefork-dev libcurl4-openssl-dev

3.Install mysql
sudo apt-get install mysql-server mysql-client 
sudo apt-get install libmysql-ruby libmysqlclient15-dev 
sudo gem install mysql
sudo apt-get install rubygems

4.Install rails use gem
sudo gem install rails

5.Install passenger use gem
sudo gem install passenger

6.build passenger module with apache2
sudo passenger-install-apache2-module
7.add following lines into /etc/apache2/apache2.conf file
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.56/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.56
     PassengerRuby /usr/bin/ruby1.9.1
   </IfModule>




8.Enable the mod_rewrite
sudo a2enmod rewrite

9.start new rails project called my_project in /var/www/my_project
cd /home/your-username/
rails new my_project -d mysql


10.Create the file in /etc/apache2/sites-available/your.domain.name.com
<VirtualHost *:80>
      ServerName your.domain.name.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /home/your-username/my_project/public
      RailsEnv development
      <Directory /home/your-username/my_project/public >
         Allow from all
         Satisfy Any
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
         # Uncomment this if you're on Apache >= 2.4:
         # Require all granted
      </Directory>
</VirtualHost>

11.Enable your site, and disable the default website
sudo a2ensite your.domain.name.com
sudo service apache2 restart


12.Edit /etc/hosts
127.0.0.1 your.domain.name.com


13.Set default mysql password
service mysql stop 
mysqld_safe --skip-grant-tables 
mysql -u root 
use mysql 
update user set password=PASSWORD("NEW_ROOT_PASSWORD") where User='root';
flush privileges;
quit
service mysql restart      
14.Edit database config file in /var/www/my_project

cd /var/www/my_project/config/
vim database.yml
edit the default empty password to your new password
15.Install gemfile and database

cd /var/www/my_project/

bundle install

rake db:create db:migrate


16.Start apache2 and mysql at boot time
update-rc.d apache2 enable
update-rc.d mysql enable 

沒有留言:

張貼留言