Project

General

Profile

Installing the Tapestry application » History » Revision 25

Revision 24 (Tom Clegg, 02/27/2012 10:59 AM) → Revision 25/47 (Tom Clegg, 05/08/2012 04:28 PM)

h1. Installing the Tapestry application 

 Install ruby .deb from http://www.rubyenterpriseedition.com/download.html 

 Install rails. 

  sudo gem install rails 
 sudo gem install passenger 
 sudo /usr/local/bin/passenger-install-apache2-module 

 Add stuff (as provided by passenger-install) to your conf.d/passenger.conf 

 <pre> 
 LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so 
 PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9 
 PassengerRuby /usr/local/bin/ruby 
 RackEnv "development" 
 </pre> 

 Install some prerequisites for gems. 

  sudo apt-get install libxslt-dev libxml2-dev 

 Check out git repo from git@git.clinicalfuture.com:tapestry.git to somewhere -- say, /var/www/tapestry.example.org 

 Then execute: 

  sudo bundle install 

 Point a virtualhost to the @public@ dir in your git repo 

 <pre> 
 <VirtualHost *:80> 
    ServerName tapestry.example.org 
    DocumentRoot /var/www/tapestry.example.org/public 
    <Directory /var/www/tapestry.example.org/public> 
          AllowOverride all 
          Options -MultiViews 
    </Directory> 
 </VirtualHost> 
 </pre> 

 Copy @config/database.example@ to @config/database.yml@ and edit to suit. Make sure to select mysql as the database server.    Generate a password using @pwgen 12 1@ or @head -c12345 /dev/urandom|md5sum|head -c12;echo@.    For example: 

  development: 
   adapter: mysql 
   server: localhost 
   database: mypg 
   username: mypg 
   password: c16fbe415d29 
   timeout: 5000 

 Copy @config/environments/development.rb.sample@ to @config/environments/development.rb@ and edit to suit.    In particular the ROOT_URL (you may skip the "http://" prefix): 

  ROOT_URL = 'your.vhost.name' 

 Set up the database: 

  rake db:setup 
 rake db:schema:load 

 Set up data directory (replace USERNAME with the user who owns the GIT directory this code is in, and ROOT_URL matching the one above): 

  sudo mkdir -p /data/ROOT_URL 
 sudo chown -R USERNAME:USERNAME /data/ROOT_URL 

 After you do a git pull, you'll probably want to do 

   rake db:migrate 

 to bring your database up to the latest release. 

 If the Gemfile has changed, you will also have to run 

   sudo bundle install 

 Set up cron jobs -- for example, @/etc/cron.d/tapestry-get-blog-feed@ 

  PATH=/usr/local/bin:/usr/bin:/bin 
 0 * * * * www-data cd /var/www/my-dev.personalgenomes.org/current/script && ./get-blog-feed.rb development http://blog.personalgenomes.org/feed/