aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2012-03-16 18:24:49 +0000
committerSeb Bacon <seb.bacon@gmail.com>2012-03-16 18:24:49 +0000
commitab04d57f99c46a89c39bbd1b026da7094332fb63 (patch)
tree2d6616ec223448f1c49d21b67a02cb6d56c2b639
parentb1ba04cc17fd303f253060a618d897ef4d260256 (diff)
Update docs to reflect latest chef/vagrant setup
-rw-r--r--doc/INSTALL.md57
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: