Project

General

Profile

Installing the Tapestry application » History » Version 25

Tom Clegg, 05/08/2012 04:28 PM

1 20 Tom Clegg
h1. Installing the Tapestry application
2 1 Tom Clegg
3 2 Tom Clegg
Install ruby .deb from http://www.rubyenterpriseedition.com/download.html
4 1 Tom Clegg
5 22 Tom Clegg
Install rails.
6 1 Tom Clegg
7 22 Tom Clegg
 sudo gem install rails
8 1 Tom Clegg
sudo gem install passenger
9
sudo /usr/local/bin/passenger-install-apache2-module
10
11
Add stuff (as provided by passenger-install) to your conf.d/passenger.conf
12
13
<pre>
14 23 Tom Clegg
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
15
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9
16 1 Tom Clegg
PassengerRuby /usr/local/bin/ruby
17
RackEnv "development"
18
</pre>
19 22 Tom Clegg
20
Install some prerequisites for gems.
21
22
 sudo apt-get install libxslt-dev libxml2-dev
23 1 Tom Clegg
24 21 Tom Clegg
Check out git repo from git@git.clinicalfuture.com:tapestry.git to somewhere -- say, /var/www/tapestry.example.org
25 1 Tom Clegg
26 12 Ward Vandewege
Then execute:
27 1 Tom Clegg
28 12 Ward Vandewege
 sudo bundle install
29
30 3 Tom Clegg
Point a virtualhost to the @public@ dir in your git repo
31 2 Tom Clegg
32 1 Tom Clegg
<pre>
33
<VirtualHost *:80>
34 21 Tom Clegg
   ServerName tapestry.example.org
35
   DocumentRoot /var/www/tapestry.example.org/public
36
   <Directory /var/www/tapestry.example.org/public>
37 1 Tom Clegg
         AllowOverride all
38
         Options -MultiViews
39
   </Directory>
40
</VirtualHost>
41
</pre>
42 4 Tom Clegg
43 14 Tom Clegg
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:
44 1 Tom Clegg
45 14 Tom Clegg
 development:
46
  adapter: mysql
47
  server: localhost
48 15 Tom Clegg
  database: mypg
49
  username: mypg
50 14 Tom Clegg
  password: c16fbe415d29
51
  timeout: 5000
52
53 18 Madeleine Ball
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):
54 16 Tom Clegg
55 18 Madeleine Ball
 ROOT_URL = 'your.vhost.name'
56 14 Tom Clegg
57
Set up the database:
58 1 Tom Clegg
59
 rake db:setup
60 19 Madeleine Ball
rake db:schema:load
61 18 Madeleine Ball
62 1 Tom Clegg
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):
63 19 Madeleine Ball
64 18 Madeleine Ball
 sudo mkdir -p /data/ROOT_URL
65 19 Madeleine Ball
sudo chown -R USERNAME:USERNAME /data/ROOT_URL
66 1 Tom Clegg
67
After you do a git pull, you'll probably want to do
68 8 Tom Clegg
69 10 Ward Vandewege
  rake db:migrate
70
71
to bring your database up to the latest release.
72 12 Ward Vandewege
73
If the Gemfile has changed, you will also have to run
74
75
  sudo bundle install
76 25 Tom Clegg
77
Set up cron jobs -- for example, @/etc/cron.d/tapestry-get-blog-feed@
78
79
 PATH=/usr/local/bin:/usr/bin:/bin
80
0 * * * * www-data cd /var/www/my-dev.personalgenomes.org/current/script && ./get-blog-feed.rb development http://blog.personalgenomes.org/feed/