diff options
| author | Seb Bacon <seb.bacon@gmail.com> | 2012-03-16 18:24:49 +0000 |
|---|---|---|
| committer | Seb Bacon <seb.bacon@gmail.com> | 2012-03-16 18:24:49 +0000 |
| commit | ab04d57f99c46a89c39bbd1b026da7094332fb63 (patch) | |
| tree | 2d6616ec223448f1c49d21b67a02cb6d56c2b639 | |
| parent | b1ba04cc17fd303f253060a618d897ef4d260256 (diff) | |
Update docs to reflect latest chef/vagrant setup
| -rw-r--r-- | doc/INSTALL.md | 57 |
1 files changed, 25 insertions, 32 deletions
diff --git a/doc/INSTALL.md b/doc/INSTALL.md index a5f769a09..a02efee33 100644 --- a/doc/INSTALL.md +++ b/doc/INSTALL.md @@ -27,20 +27,25 @@ branch: # Dev environment quickstart -To get a dev environment running, you can use Chef or Vagrant. These -are not currently recommended for production, because they are still under development. For production, you should follow the steps below manually. +To get a dev environment running quickly on Debian or Ubuntu, you can +use Chef. -To install using Vagrant (which provisions a virtual machine and -installs Alaveteli there), see `INSTALL-vagrant.md`. +Alternatively, you can use Vagrant (which provisions a virtual machine +and installs Alaveteli there) on any platform supported by Vagrant. -To install using chef, edit `user` and `group` in `chef/solo.json`, -and then run: +These quickstart methods are not currently recommended for production, +because they are still under development (and don't include memcached, +varnish, exim fonfiguration, etc). For production, you should follow +the steps below manually. - sudo chef-solo -c chef/solo.rb -j chef/solo.json +To install using Vagrant, see `INSTALL-vagrant.md`. + +To install using chef, install chef (e.g. `apt-get install chef`) and +run: -And you're done. + sudo chef-solo -c chef/solo.rb -j chef/solo.json -# Install system dependencies +# Manual install, step 1: Install system dependencies These are packages that the software depends on: third-party software used to parse documents, host the site, etc. There are also packages @@ -65,7 +70,7 @@ mySociety Debian source (e.g. if you're running Ubuntu), you should comment out `wkhtmltopdf-static` from `config/packages`, as it won't install. -# Install Ruby dependencies +# Step 2: Install Ruby dependencies Install rubygems 1.6.1 (we're not using the Debian package because we need an older version; see "Troubleshooting" below for an @@ -80,7 +85,7 @@ bundler: sudo gem1.8 install bundler -# Install mySociety libraries +# Step 3: Install mySociety libraries You will also want to install mySociety's common ruby libraries and the Rails code. Run: @@ -116,7 +121,7 @@ use the Debian package compiled by mySociety (see link in [issue 305](https://github.com/sebbacon/alaveteli/issues/305)) -# Configure Database +# Step 4: Configure Database There has been a little work done in trying to make the code work with other databases (e.g. SQLite), but the currently supported database is @@ -155,7 +160,7 @@ data that may not be valid UTF (for example, data originating from various broken email clients that's not 8-bit clean), it's safer to be able to store *anything*, than reject data at runtime. -# Configure email +# Step 5: Configure email You will need to set up an email server (MTA) to send and receive emails. Full configuration for an MTA is beyond the scope of this @@ -201,7 +206,7 @@ A well-configured installation of this code will separately have had Exim make a backup copy of the email in a separate mailbox, just in case. -# Set up configs +# Step 6: Set up configs Copy `config/general.yml-example` to `config/general.yml` and edit to your taste. @@ -220,7 +225,7 @@ Interlock Rails plugin, to cache content using memcached. You probably don't want this in your development profile; the example `memcached.yml` file disables this behaviour. -# Deployment +# Step 7: Deployment In the 'alaveteli' directory, run: @@ -259,7 +264,7 @@ Next we need to create the index for the search engine (Xapian): If this fails, the site should still mostly run, but it's a core component so you should really try to get this working. -# Run the Tests +# Step 8: Run the Tests Make sure everything looks OK: @@ -271,18 +276,7 @@ workaround). You might be able to move on to the next step, depending on how serious they are, but ideally you should try to find out what's gone wrong. -## glibc bug workaround - -There's a -[bug in glibc](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637239) -which causes Xapian to segfault when running the tests. Although the -bug report linked to claims it's fixed in the current Debian stable, -it's not as of version `2.11.3-2`. - -Until it's fixed (e.g. `libc6 2.13-26` does work), you can get the -tests to pass by setting `export LD_PRELOAD=/lib/libuuid.so.1`. - -# Run the Server +# Step 9: Run the Server Run the following to get the server running: @@ -294,7 +288,7 @@ localhost interface by adding ` --binding=127.0.0.1` The server should have told you the URL to access in your browser to see the site in action. -# Administrator privileges +# Step 10: Administrator privileges By default, anyone can access the administrator pages without authentication. They are under the URL `/admin`. @@ -313,8 +307,7 @@ behaviour. And send us the patch! - -# Cron jobs +# Step 11: Cron jobs `config/crontab.ugly` contains the cronjobs run on WhatDoTheyKnow. It's in a strange templating format they use in mySociety. mySociety @@ -341,7 +334,7 @@ which lives in `config/alert-tracks-debian.ugly`. As with the cron jobs above, replace the variables (and/or bits near the variables) with paths to your software. -# Set up production web server +# Step 12: Set up production web server It is not recommended to run the website using the default Rails web server. There are various recommendations here: |
