Commit ca0e01605edbde21e5f0449648a7a420d9fcb437
1 parent
b90cfca9
Exists in
master
and in
29 other branches
ActionItem1049: documenting production setup
starting some documentation on the procedure of putting a production server up
Showing
1 changed file
with
59 additions
and
2 deletions
Show diff stats
doc/README_FOR_APP.en
| ... | ... | @@ -23,15 +23,72 @@ You need to have git installed, as well as: |
| 23 | 23 | * contacts: http://github.com/cardmagic/contacts/tree/master |
| 24 | 24 | * iso-codes: http://pkg-isocodes.alioth.debian.org/ |
| 25 | 25 | * feedparser: http://packages.debian.org/sid/libfeedparser-ruby |
| 26 | +* Mongrel: http://mongrel.rubyforge.org/ | |
| 26 | 27 | * tango-icon-theme: http://tango.freedesktop.org/Tango_Icon_Library |
| 27 | 28 | |
| 28 | -There are Debian packages available for all of them but ferret. Try: | |
| 29 | +There are Debian packages available for all of them but contacts. Try: | |
| 29 | 30 | |
| 30 | - # aptitude install subversion ruby rake libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libferret-ruby tango-icon-theme | |
| 31 | + # aptitude install subversion ruby rake libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libferret-ruby mongrel mongrel-cluster tango-icon-theme | |
| 32 | + | |
| 33 | +To install contacts, you need to either use gem (gem install contacts), or you can just download the tarball from github or rubyforge and copy the contents of lib/ under noosfero's lib/ directory. | |
| 31 | 34 | |
| 32 | 35 | If you have problems with the setup, use the development mailing list. In |
| 33 | 36 | special its possible that the requirements list above is not complete. |
| 34 | 37 | |
| 38 | +=== Setting up a production environment | |
| 39 | + | |
| 40 | +* copy config/ferret_server.yml.dist to config/ferret_server.yml.dist | |
| 41 | +* configure the mongrel cluster: `mongrel_rails cluster::configure` | |
| 42 | +** then edit config/mongrel_cluster.yml to suit your environment. Make sure your apache configuration matches the mongrel cluster configuration, specially in respect to the ports and numbers of mongrel instances. | |
| 43 | +* create needed temporary directories: | |
| 44 | + mkdir tmp | |
| 45 | + mkdir tmp/pids | |
| 46 | + mkdir log | |
| 47 | +* create database (example using PostgreSQL, YMMV) | |
| 48 | + | |
| 49 | + root user | |
| 50 | + ========= | |
| 51 | + # sudo apt-get install postgresql libpgsql-ruby | |
| 52 | + # su - postgres | |
| 53 | + | |
| 54 | + postgres user | |
| 55 | + ============= | |
| 56 | + postgres@HOST:~$ createuser noosfero | |
| 57 | + Shall the new role be a superuser? (y/n) n | |
| 58 | + Shall the new role be allowed to create databases? (y/n) y | |
| 59 | + Shall the new role be allowed to create more new roles? (y/n) n | |
| 60 | + | |
| 61 | + noosfero_user | |
| 62 | + ============= | |
| 63 | + createdb noosfero_production | |
| 64 | + createdb noosfero_development | |
| 65 | + createdb noosfero_test | |
| 66 | + | |
| 67 | +* configure database access in config/database.yml | |
| 68 | + | |
| 69 | +* test database access: | |
| 70 | +** first create the development database | |
| 71 | + rake db:schema:load | |
| 72 | +** if everything goes right, then create the production database: | |
| 73 | + RAILS_ENV=production rake db:schema:load | |
| 74 | + | |
| 75 | +* create sample data: | |
| 76 | + RAILS_ENV=production rake db:populate | |
| 77 | + | |
| 78 | +* compile the translations: | |
| 79 | + rake makemo | |
| 80 | + | |
| 81 | +* start the server: | |
| 82 | + ./script/production start | |
| 83 | + | |
| 84 | +* to stop the server: | |
| 85 | + | |
| 86 | + ./script/production stop | |
| 87 | + | |
| 88 | +* to restart the server: | |
| 89 | + | |
| 90 | + ./script/production restart | |
| 91 | + | |
| 35 | 92 | === Boostraping a test environment |
| 36 | 93 | |
| 37 | 94 | You can copy and paste the commands below into a terminal (please review the | ... | ... |