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/ |