diff options
Diffstat (limited to 'docs/installing')
-rw-r--r-- | docs/installing/ami.md | 16 | ||||
-rw-r--r-- | docs/installing/deploy.md | 18 | ||||
-rw-r--r-- | docs/installing/email.md | 56 | ||||
-rw-r--r-- | docs/installing/index.md | 24 | ||||
-rw-r--r-- | docs/installing/macos.md | 4 | ||||
-rw-r--r-- | docs/installing/manual_install.md | 26 | ||||
-rw-r--r-- | docs/installing/next_steps.md | 38 | ||||
-rw-r--r-- | docs/installing/script.md | 4 | ||||
-rw-r--r-- | docs/installing/vagrant.md | 8 |
9 files changed, 96 insertions, 98 deletions
diff --git a/docs/installing/ami.md b/docs/installing/ami.md index 974c55d0c..44e10d87c 100644 --- a/docs/installing/ami.md +++ b/docs/installing/ami.md @@ -10,28 +10,28 @@ title: Installation from AMI EC2. This is handy if you just want to evaluate Alaveteli, for example. </p> -Note that there are [other ways to install Alaveteli]({{ site.baseurl }}docs/installing/). +Note that there are [other ways to install Alaveteli]({{ page.baseurl }}/docs/installing/). ## Installing from our AMI To help you try out Alaveteli, we have created an AMI with a basic installation of Alaveteli, which you can use to create a running server on an Amazon EC2 instance. This creates an instance that runs as a -<a href="{{ site.baseurl }}docs/glossary/#development" class="glossary__link">development site</a>. +<a href="{{ page.baseurl }}/docs/glossary/#development" class="glossary__link">development site</a>. If you want to use this for a -<a href="{{ site.baseurl }}docs/glossary/#production" class="glossary__link">production site</a>, +<a href="{{ page.baseurl }}/docs/glossary/#production" class="glossary__link">production site</a>, you must -[change the configuration]({{ site.baseurl }}docs/customising/config/#staging_site). +[change the configuration]({{ page.baseurl }}/docs/customising/config/#staging_site). <div class="attention-box"> <p> <strong>What's in the AMI?</strong> The AMI gives you exactly the same thing as the - <a href="{{ site.baseurl}}docs/installing/script/">installation script</a> + <a href="{{ page.baseurl }}/docs/installing/script/">installation script</a> does. You get an Alaveteli website powered by Rails running the Thin application server under nginx, using a postgreSQL database. All this running on Amazon's EC2 servers, ready to be - <a href="{{ site.baseurl }}docs/customising/">configured and customised</a>. + <a href="{{ page.baseurl }}/docs/customising/">configured and customised</a>. </p> </div> @@ -132,7 +132,7 @@ When you log into your instance's command line shell, you must do so as the the code is actually owned by (and runs as) the `alaveteli` user. You will need to -[customise the site's configuration]({{ site.baseurl }}docs/customising/config/). +[customise the site's configuration]({{ page.baseurl }}/docs/customising/config/). Do this by logging into your EC2 server and editing the `general.yml` configuration file. @@ -158,4 +158,4 @@ If you have any problems or questions, please ask on the [Alaveteli developer ma ##What next? -Check out the [next steps]({{ site.baseurl }}docs/installing/next_steps/). +Check out the [next steps]({{ page.baseurl }}/docs/installing/next_steps/). diff --git a/docs/installing/deploy.md b/docs/installing/deploy.md index 74c7a8560..858ef2727 100644 --- a/docs/installing/deploy.md +++ b/docs/installing/deploy.md @@ -9,13 +9,13 @@ title: Deploying Although you can install Alaveteli and just change it when you need it, we recommend you adopt a way of <strong>deploying</strong> it automatically, especially on your - <a href="{{ site.baseurl }}docs/glossary/#production" class="glossary__link">production server</a>. + <a href="{{ page.baseurl }}/docs/glossary/#production" class="glossary__link">production server</a>. Alaveteli provides a deployment mechanism using Capistrano. </p> ## Why deploy? -Although you can [install Alaveteli]({{ site.baseurl }}docs/installing/) in a number +Although you can [install Alaveteli]({{ page.baseurl }}/docs/installing/) in a number of ways, once you're running, sooner or later you'll need to make changes to the site. A common example is updating your site when we issue a new release. @@ -28,13 +28,13 @@ changes or copying files by hand, so your site will be down for the shortest possible time. We **strongly recommend** you use the deployment mechanism for your -<a href="{{ site.baseurl }}docs/glossary/#production" class="glossary__link">production server</a> +<a href="{{ page.baseurl }}/docs/glossary/#production" class="glossary__link">production server</a> and, if you're running one, your -<a href="{{ site.baseurl }}docs/glossary/#staging" class="glossary__link">staging server</a> too. +<a href="{{ page.baseurl }}/docs/glossary/#staging" class="glossary__link">staging server</a> too. ## Capistrano -<a href="{{site.baseurl}}docs/glossary/#capistrano" class="glossary__link">Capistrano</a> +<a href="{{ page.baseurl }}/docs/glossary/#capistrano" class="glossary__link">Capistrano</a> is included as part of Alaveteli as a standard deployment system. The basic principle of Capistrano is that you execute `cap [do-something]` @@ -68,7 +68,7 @@ and thereafter you'll be able to deploy very easily (see [usage, below](#usage)) First, on the server: -* [install Alaveteli]({{ site.baseurl }}docs/installing/) +* [install Alaveteli]({{ page.baseurl }}/docs/installing/) * give the Unix user that runs Alaveteli the ability to ssh to your server. Either give them a password or, preferably, set up ssh keys for them so they can ssh from your local machine to the server: * to give them a password (if they don't already have one) - `sudo passwd [UNIX-USER]`. Store this password securely on your local machine e.g in a password manager * to set up ssh keys for them, follow the instructions in the [capistrano documentation](http://capistranorb.com/documentation/getting-started/authentication-and-authorisation/). There's no need to set up ssh keys to the git repository as it is public. @@ -131,8 +131,8 @@ Now, back on your local machine: * make sure you're still in the Alaveteli repo (if not, `cd` back into it) * run `cap -S stage=staging deploy:update_code` to get a code checkout on the server. * create a deployment directory on the server by running *one* of these commands: - * `cap deploy` if you're deploying a <a href="{{site.baseurl}}docs/glossary/#staging" class="glossary__link">staging site</a>, or... - * `cap -S stage=production deploy` for <a href="{{site.baseurl}}docs/glossary/#production" class="glossary__link">production</a> + * `cap deploy` if you're deploying a <a href="{{ page.baseurl }}/docs/glossary/#staging" class="glossary__link">staging site</a>, or... + * `cap -S stage=production deploy` for <a href="{{ page.baseurl }}/docs/glossary/#production" class="glossary__link">production</a> Back on the server: @@ -151,7 +151,7 @@ Back on the server: If you're using Exim as your MTA, edit `etc/exim4/conf.d/04_alaveteli_options` to update the `ALAVETELI_HOME` variable to the new Alaveteli path. Restart the MTA after you've made these changes. -* You will also need to update the path to Alaveteli in your [init scripts]({{site.baseurl}}docs/installing/manual_install/#cron-jobs-and-init-scripts). +* You will also need to update the path to Alaveteli in your [init scripts]({{ page.baseurl }}/docs/installing/manual_install/#cron-jobs-and-init-scripts). You should have a script for running the alert tracks (`/etc/init.d/foi-alert-tracks`), and possibly scripts for purging the varnish cache (`/etc/init.d/foi-purge-varnish`), and restarting the diff --git a/docs/installing/email.md b/docs/installing/email.md index 44476cefa..6bc3e8351 100644 --- a/docs/installing/email.md +++ b/docs/installing/email.md @@ -36,17 +36,17 @@ Parts of this address are controlled with options in If there is some error inside Rails while processing an email, an exit code `75` is returned to the MTA by the `script/mailin` script. Postfix and Exim (and maybe others) take this as a signal for the MTA to try again later. Additionally, a stacktrace is emailed to `CONTACT_EMAIL`. -[Production]({{ site.baseurl }}/docs/glossary/#production) installs of Alaveteli should make a backup copy of emails sent to the special addresses. You can configure your chosen MTA to backup these in a separate mailbox. +[Production]({{ page.baseurl }}//docs/glossary/#production) installs of Alaveteli should make a backup copy of emails sent to the special addresses. You can configure your chosen MTA to backup these in a separate mailbox. ### Transactional mail Alaveteli also sends emails to users about their requests – letting them know when someone has replied to them, or prompting them to take further action. -Configure the address that these messages are sent from in the [`CONTACT_EMAIL`]({{site.baseurl}}docs/customising/config/#contact_email) option in `config/general.yml`: +Configure the address that these messages are sent from in the [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email) option in `config/general.yml`: CONTACT_EMAIL = 'team@example.com' -The address in [`CONTACT_EMAIL`]({{ site.baseurl }}docs/customising/config/#contact_email) is also visible in various places on the site so that users can get in touch with the team that runs the site. +The address in [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email) is also visible in various places on the site so that users can get in touch with the team that runs the site. You must configure your MTA to deliver mail sent to these addresses to the administrators of your site so that they can respond to it. @@ -54,23 +54,23 @@ You must configure your MTA to deliver mail sent to these addresses to the admin Users subscribed to updates from the site – known as `tracks` – receive emails when there is something new of interest to them on the site. -Configure the address that these messages are sent from in the [`TRACK_SENDER_EMAIL`]({{site.baseurl}}docs/customising/config/#track_sender_email) option in `config/general.yml`: +Configure the address that these messages are sent from in the [`TRACK_SENDER_EMAIL`]({{ page.baseurl }}/docs/customising/config/#track_sender_email) option in `config/general.yml`: TRACK_SENDER_EMAIL = 'track@example.com' ### Automatic bounce handling (optional) -As [`CONTACT_EMAIL`]({{ site.baseurl }}docs/customising/config/#contact_email) and [`TRACK_SENDER_EMAIL`]({{site.baseurl}}docs/customising/config/#track_sender_email) appear in the `From:` header of emails sent from Alaveteli, they sometimes receive reply emails, including <a href="{{ site.baseurl }}docs/glossary/#bounce-message">bounce messages</a> and ‘out of office’ notifications. +As [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email) and [`TRACK_SENDER_EMAIL`]({{ page.baseurl }}/docs/customising/config/#track_sender_email) appear in the `From:` header of emails sent from Alaveteli, they sometimes receive reply emails, including <a href="{{ page.baseurl }}/docs/glossary/#bounce-message">bounce messages</a> and ‘out of office’ notifications. Alaveteli provides a script (`script/handle-mail-replies`) that handles bounce messages and ‘out of office’ notifications and forwards genuine mails to your administrators. It also prevents further track emails being sent to a user email address that appears to have a permanent delivery problem. -To make use of automatic bounce-message handling, set [`TRACK_SENDER_EMAIL`]({{ site.baseurl }}docs/customising/config/#track_sender_email) and [`CONTACT_EMAIL`]({{ site.baseurl }}docs/customising/config/#contact_email) to an address that you will filter through `script/handle-mail-replies`. Messages that are not bounces or out-of-office autoreplies will be forwarded to [`FORWARD_NONBOUNCE_RESPONSES_TO`]({{ site.baseurl }}docs/customising/config/#forward_nonbounce_responses_to), which you should set to a mail alias that points at your list of site administrators. +To make use of automatic bounce-message handling, set [`TRACK_SENDER_EMAIL`]({{ page.baseurl }}/docs/customising/config/#track_sender_email) and [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email) to an address that you will filter through `script/handle-mail-replies`. Messages that are not bounces or out-of-office autoreplies will be forwarded to [`FORWARD_NONBOUNCE_RESPONSES_TO`]({{ page.baseurl }}/docs/customising/config/#forward_nonbounce_responses_to), which you should set to a mail alias that points at your list of site administrators. -See the MTA-specific instructions for how to do this for [exim]({{ site.baseurl }}docs/installing/email#filter-incoming-messages-to-admin-addresses) and [postfix]({{ site.baseurl }}docs/installing/email#filter-incoming-messages-to-site-admin-addresses). +See the MTA-specific instructions for how to do this for [exim]({{ page.baseurl }}/docs/installing/email#filter-incoming-messages-to-admin-addresses) and [postfix]({{ page.baseurl }}/docs/installing/email#filter-incoming-messages-to-site-admin-addresses). -_Note:_ Bounce handling is not applied to [request emails]({{ site.baseurl }}docs/installing/email#request-mail). Bounce messages from authorities get added to the request page so that the user can see what has happened. Users can ask site admins for help redelivering the request if necessary. +_Note:_ Bounce handling is not applied to [request emails]({{ page.baseurl }}/docs/installing/email#request-mail). Bounce messages from authorities get added to the request page so that the user can see what has happened. Users can ask site admins for help redelivering the request if necessary. --- @@ -142,7 +142,7 @@ In `/etc/postfix/main.cf` update the `mydestination` line (which determines what mydestination = example.com, localhost.localdomain, localhost <div class="attention-box"> -This guide assumes you have set <a href="{{ site.baseurl }}docs/customising/config/#incoming_email_prefix"><code>INCOMING_EMAIL_PREFIX</code></a> to <code>foi+</code> in <code>config/general.yml</code> +This guide assumes you have set <a href="{{ page.baseurl }}/docs/customising/config/#incoming_email_prefix"><code>INCOMING_EMAIL_PREFIX</code></a> to <code>foi+</code> in <code>config/general.yml</code> </div> Pipe all incoming mail where the `To:` address starts with `foi+` to the `alaveteli` pipe (`/var/www/alaveteli/script/mailin`, as specified in `/etc/postfix/master.cf` at the start of this section): @@ -201,7 +201,7 @@ To set up recipient groups for the `postmaster@`, `team@` and `user-support@` em #### Discard unwanted incoming email -Configure postfix to discard any messages sent to the [`BLACKHOLE_PREFIX`]({{ site.baseurl }}docs/customising/config/#blackhole_prefix) address, whose default value is `do-not-reply-to-this-address`: +Configure postfix to discard any messages sent to the [`BLACKHOLE_PREFIX`]({{ page.baseurl }}/docs/customising/config/#blackhole_prefix) address, whose default value is `do-not-reply-to-this-address`: cat >> /etc/aliases <<EOF # We use this for envelope from for some messages where @@ -209,21 +209,21 @@ Configure postfix to discard any messages sent to the [`BLACKHOLE_PREFIX`]({{ si do-not-reply-to-this-address: /dev/null EOF -If you have set [`BLACKHOLE_PREFIX`]({{ site.baseurl }}docs/customising/config/#blackhole_prefix) address, replace `do-not-reply-to-this-address` with the address you have configured. +If you have set [`BLACKHOLE_PREFIX`]({{ page.baseurl }}/docs/customising/config/#blackhole_prefix) address, replace `do-not-reply-to-this-address` with the address you have configured. #### Filter incoming messages to site admin addresses -You can make use of Alaveteli's [automatic bounce handling]({{site.baseurl}}docs/installing/email/#automatic-bounce-handling-optional) to filter bounces sent to [`TRACK_SENDER_EMAIL`]({{site.baseurl}}docs/customising/config/#track_sender_email) -and [`CONTACT_EMAIL`]({{site.baseurl}}docs/customising/config/#contact_email). +You can make use of Alaveteli's [automatic bounce handling]({{ page.baseurl }}/docs/installing/email/#automatic-bounce-handling-optional) to filter bounces sent to [`TRACK_SENDER_EMAIL`]({{ page.baseurl }}/docs/customising/config/#track_sender_email) +and [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email). <div class="attention-box"> This guide assumes you have set the following in <code>config/general.yml</code>: <ul> - <li><a href="{{site.baseurl}}docs/customising/config/#contact_email">CONTACT_EMAIL</a>: <code>user-support@example.com</code></li> - <li><a href="{{site.baseurl}}docs/customising/config/#track_sender_email">TRACK_SENDER_EMAIL</a>: <code>user-support@example.com</code></li> - <li><a href="{{site.baseurl}}docs/customising/config/#forward_nonbounce_responses_to">FORWARD_NONBOUNCE_RESPONSES_TO</a>: <code>team@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#contact_email">CONTACT_EMAIL</a>: <code>user-support@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#track_sender_email">TRACK_SENDER_EMAIL</a>: <code>user-support@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#forward_nonbounce_responses_to">FORWARD_NONBOUNCE_RESPONSES_TO</a>: <code>team@example.com</code></li> </ul> Change the examples below to the addresses you have configured. @@ -257,8 +257,8 @@ each day), it's good to have them in their own directory. You'll also need to tell Alaveteli where the log files are stored and that they're in postfix format. Update -[`MTA_LOG_PATH`]({{ site.baseurl }}docs/customising/config/#mta_log_path) and -[`MTA_LOG_TYPE`]({{ site.baseurl }}docs/customising/config/#mta_log_type) in `config/general.yml`: +[`MTA_LOG_PATH`]({{ page.baseurl }}/docs/customising/config/#mta_log_path) and +[`MTA_LOG_TYPE`]({{ page.baseurl }}/docs/customising/config/#mta_log_type) in `config/general.yml`: MTA_LOG_PATH: '/var/log/mail/mail.log-*' MTA_LOG_TYPE: "postfix" @@ -340,7 +340,7 @@ delivery report email using the `mail` command on a new server: apt-get install mailutils If emails are not being received by your Alaveteli install, we have some -more troubleshooting tips for incoming mail in [general email troubleshooting]({{ site.baseurl }}docs/installing/email#general-email-troubleshooting). +more troubleshooting tips for incoming mail in [general email troubleshooting]({{ page.baseurl }}/docs/installing/email#general-email-troubleshooting). @@ -460,7 +460,7 @@ To set up recipient groups for the `team@` and `user-support@` email addresses a #### Discard unwanted incoming email -Configure exim to discard any messages sent to the [`BLACKHOLE_PREFIX`]({{ site.baseurl }}docs/customising/config/#blackhole_prefix) address, whose default value is `do-not-reply-to-this-address` +Configure exim to discard any messages sent to the [`BLACKHOLE_PREFIX`]({{ page.baseurl }}/docs/customising/config/#blackhole_prefix) address, whose default value is `do-not-reply-to-this-address` cat >> /var/www/alaveteli/config/aliases <<EOF # We use this for envelope from for some messages where @@ -472,16 +472,16 @@ _Note:_ Replace `/var/www/alaveteli` with the correct path to alaveteli if requi #### Filter incoming messages to admin addresses -You can make use of Alaveteli's [automatic bounce handling]({{site.baseurl}}docs/installing/email/#automatic-bounce-handling-optional) to filter bounces sent to [`TRACK_SENDER_EMAIL`]({{site.baseurl}}docs/customising/config/#track_sender_email) -and [`CONTACT_EMAIL`]({{site.baseurl}}docs/customising/config/#contact_email). +You can make use of Alaveteli's [automatic bounce handling]({{ page.baseurl }}/docs/installing/email/#automatic-bounce-handling-optional) to filter bounces sent to [`TRACK_SENDER_EMAIL`]({{ page.baseurl }}/docs/customising/config/#track_sender_email) +and [`CONTACT_EMAIL`]({{ page.baseurl }}/docs/customising/config/#contact_email). <div class="attention-box"> This guide assumes you have set the following in <code>config/general.yml</code>: <ul> - <li><a href="{{site.baseurl}}docs/customising/config/#contact_email">CONTACT_EMAIL</a>: <code>user-support@example.com</code></li> - <li><a href="{{site.baseurl}}docs/customising/config/#track_sender_email">TRACK_SENDER_EMAIL</a>: <code>user-support@example.com</code></li> - <li><a href="{{site.baseurl}}docs/customising/config/#forward_nonbounce_responses_to">FORWARD_NONBOUNCE_RESPONSES_TO</a>: <code>team@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#contact_email">CONTACT_EMAIL</a>: <code>user-support@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#track_sender_email">TRACK_SENDER_EMAIL</a>: <code>user-support@example.com</code></li> + <li><a href="{{ page.baseurl }}/docs/customising/config/#forward_nonbounce_responses_to">FORWARD_NONBOUNCE_RESPONSES_TO</a>: <code>team@example.com</code></li> </ul> Change the examples below to the addresses you have configured. @@ -493,7 +493,7 @@ Change the `user-support` line in `/var/www/alaveteli/config/aliases`: #### Logging -You’ll need to tell Alaveteli where the log files are stored and that they’re in exim format. Update [`MTA_LOG_PATH`]({{ site.baseurl }}docs/customising/config/#mta_log_path) and [`MTA_LOG_TYPE`]({{ site.baseurl }}docs/customising/config/#mta_log_type) in `config/general.yml`: +You’ll need to tell Alaveteli where the log files are stored and that they’re in exim format. Update [`MTA_LOG_PATH`]({{ page.baseurl }}/docs/customising/config/#mta_log_path) and [`MTA_LOG_TYPE`]({{ page.baseurl }}/docs/customising/config/#mta_log_type) in `config/general.yml`: MTA_LOG_PATH: '/var/log/exim4/exim-mainlog-*' MTA_LOG_TYPE: 'exim' @@ -557,8 +557,8 @@ First, you need to check that your MTA is delivering relevant incoming emails to the `script/mailin` command. There are various ways of setting your MTA up to do this; we have documented one way of doing it -[in Exim]({{ site.baseurl }}docs/installing/email/#example-setup-on-exim4), including [a command you can use]({{ site.baseurl }}docs/installing/email/#troubleshooting-exim) to check that the email -routing is set up correctly. We've also documented one way of setting up [Postfix]({{ site.baseurl }}docs/installing/email/#example-setup-on-postfix), with a similar [debugging command]({{ site.baseurl }}docs/installing/email/#troubleshooting-postfix). +[in Exim]({{ page.baseurl }}/docs/installing/email/#example-setup-on-exim4), including [a command you can use]({{ page.baseurl }}/docs/installing/email/#troubleshooting-exim) to check that the email +routing is set up correctly. We've also documented one way of setting up [Postfix]({{ page.baseurl }}/docs/installing/email/#example-setup-on-postfix), with a similar [debugging command]({{ page.baseurl }}/docs/installing/email/#troubleshooting-postfix). Second, you need to test that the mailin script itself is working correctly, by running it from the command line, First, find a diff --git a/docs/installing/index.md b/docs/installing/index.md index c04aaa3ca..269407506 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -17,8 +17,8 @@ title: Installing ## Before you start This is important: you need to decide if you are installing Alaveteli for -<a href="{{ site.baseurl }}docs/glossary/#development" class="glossary__link">development</a> or -<a href="{{ site.baseurl }}docs/glossary/#production" class="glossary__link">production</a>. +<a href="{{ page.baseurl }}/docs/glossary/#development" class="glossary__link">development</a> or +<a href="{{ page.baseurl }}/docs/glossary/#production" class="glossary__link">production</a>. A **development** site is one where you're going to change, customise, and perhaps experiment while you get it up and running. You should always do this @@ -30,10 +30,10 @@ A **production** site is different: you want your production site to run as efficiently as possible, so things like caching are swiched on, and debug messages switched off. It's important to be able to deploy changes to a production site quickly and efficiently, so we recommend you consider using a -[deployment mechanism]({{ site.baseurl }}docs/installing/deploy/) too. +[deployment mechanism]({{ page.baseurl }}/docs/installing/deploy/) too. Ideally, you should also have a -<a href="{{ site.baseurl }}docs/glossary/#staging" class="glossary__link">staging site</a>, +<a href="{{ page.baseurl }}/docs/glossary/#staging" class="glossary__link">staging site</a>, which is used solely to test new code in an identical environment to your production site before it goes live. @@ -44,23 +44,23 @@ production server. ## Deployment If you're running a production server, we **strongly recommend** you -use the Capistrano [deployment mechanism]({{ site.baseurl }}docs/installing/deploy/) +use the Capistrano [deployment mechanism]({{ page.baseurl }}/docs/installing/deploy/) that's included with Alaveteli. Set this up and you never have to edit files on those servers, because Capistrano takes care of that for you. ## Installing the core code -* [Install into a Vagrant virtual development environment]({{ site.baseurl }}docs/installing/vagrant/) -- a good choice for development, and playing around with the site. -* [Install on Amazon EC2]({{ site.baseurl }}docs/installing/ami/) using our AMI -* [Use the installation script]({{ site.baseurl }}docs/installing/script/) which does the full installation on your own server -* [Manual installation]({{ site.baseurl }}docs/installing/manual_install/) -- step-by-step instructions +* [Install into a Vagrant virtual development environment]({{ page.baseurl }}/docs/installing/vagrant/) -- a good choice for development, and playing around with the site. +* [Install on Amazon EC2]({{ page.baseurl }}/docs/installing/ami/) using our AMI +* [Use the installation script]({{ page.baseurl }}/docs/installing/script/) which does the full installation on your own server +* [Manual installation]({{ page.baseurl }}/docs/installing/manual_install/) -- step-by-step instructions If you're setting up a development server on MacOS X, we've also got -[MacOS installation instructions]({{ site.baseurl }}docs/installing/macos/). +[MacOS installation instructions]({{ page.baseurl }}/docs/installing/macos/). ## Other installation information Alaveteli needs to be able to send and receive email. If you're installing manually, you need to [setup your -MTA (Mail Transfer Agent) appropriately]({{ site.baseurl }}docs/installing/email/). The other install methods will do this for you. +MTA (Mail Transfer Agent) appropriately]({{ page.baseurl }}/docs/installing/email/). The other install methods will do this for you. -* [Installing the MTA]({{ site.baseurl }}docs/installing/email/) +* [Installing the MTA]({{ page.baseurl }}/docs/installing/email/) diff --git a/docs/installing/macos.md b/docs/installing/macos.md index 2c08be0e5..f6acfcc06 100644 --- a/docs/installing/macos.md +++ b/docs/installing/macos.md @@ -11,7 +11,7 @@ title: Installing on MacOS X help. </p> -Note that there are [other ways to install Alaveteli]({{ site.baseurl }}docs/installing/). +Note that there are [other ways to install Alaveteli]({{ page.baseurl }}/docs/installing/). ## MacOS X 10.7 @@ -84,7 +84,7 @@ As of August 22, 2012 or earlier, you can install `mahoro` in Ruby 1.9.3 on OS X ## Alaveteli -The following is mostly from [the manual installation process]({{ site.baseurl}}docs/installing/manual_install). +The following is mostly from [the manual installation process]({{ page.baseurl }}/docs/installing/manual_install). ### Configure database diff --git a/docs/installing/manual_install.md b/docs/installing/manual_install.md index 9cad6b5b9..d4e2a6d17 100644 --- a/docs/installing/manual_install.md +++ b/docs/installing/manual_install.md @@ -10,12 +10,12 @@ title: Manual installation The following instructions describe the step-by-step process for installing Alaveteli. <em>You don't necessarily need to do it this way:</em> it's usually easier to use the - <a href="{{ site.baseurl }}docs/installing/script/">installation script</a> + <a href="{{ page.baseurl }}/docs/installing/script/">installation script</a> or the - <a href="{{ site.baseurl }}docs/installing/ami/">Amazon EC2 AMI</a>. + <a href="{{ page.baseurl }}/docs/installing/ami/">Amazon EC2 AMI</a>. </p> -Note that there are [other ways to install Alaveteli]({{ site.baseurl }}docs/installing/). +Note that there are [other ways to install Alaveteli]({{ page.baseurl }}/docs/installing/). <div class="attention-box"> <ul> @@ -30,7 +30,7 @@ Note that there are [other ways to install Alaveteli]({{ site.baseurl }}docs/ins These instructions assume a 64-bit version of Debian 6 (Wheezy), Debian 7 (Squeeze) or Ubuntu 12.04 LTS (Precise). Debian is the best supported deployment platform. We also -have instructions for [installing on MacOS]({{ site.baseurl }}docs/installing/macos/). +have instructions for [installing on MacOS]({{ page.baseurl }}/docs/installing/macos/). ### Set the locale @@ -309,7 +309,7 @@ Then create the databases: You will need to set up an email server – or Mail Transfer Agent (MTA) – to send and receive emails. -Full configuration for an MTA is beyond the scope of this document -- see the guide for [configuring the Exim4 or Postfix MTAs]({{ site.baseurl }}docs/installing/email/). +Full configuration for an MTA is beyond the scope of this document -- see the guide for [configuring the Exim4 or Postfix MTAs]({{ page.baseurl }}/docs/installing/email/). Note that in development mode mail is handled by [`mailcatcher`](http://mailcatcher.me/) by default so that you can see the mails in a browser. Start mailcatcher by running `bundle exec mailcatcher` in the application directory. @@ -354,7 +354,7 @@ permissions on these databases. As the user needs the ability to turn off constraints whilst running the tests they also need to be a superuser (clarification: a <em>Postgres</em> superuser, not an Alaveteli -<a href="{{ site.baseurl }}docs/glossary/#super" class="glossary__link">superuser</a>). +<a href="{{ page.baseurl }}/docs/glossary/#super" class="glossary__link">superuser</a>). If you don't want your database user to be a superuser, you can add this line to the `test` section in `database.yml` (as seen in `config/database.yml-example`): @@ -362,9 +362,9 @@ to the `test` section in `database.yml` (as seen in `config/database.yml-example ### general.yml -We have a full [guide to Alaveteli configuration]({{ site.baseurl }}docs/customising/config/) which covers all the settings in `config/general.yml`. +We have a full [guide to Alaveteli configuration]({{ page.baseurl }}/docs/customising/config/) which covers all the settings in `config/general.yml`. -_Note:_ If you are setting up Alaveteli to run in production, set the [`STAGING_SITE`]({{ site.baseurl }}docs/customising/config/#staging_site) variable to `0` in `/var/www/alaveteli/config/general.yml` now. +_Note:_ If you are setting up Alaveteli to run in production, set the [`STAGING_SITE`]({{ page.baseurl }}/docs/customising/config/#staging_site) variable to `0` in `/var/www/alaveteli/config/general.yml` now. STAGING_SITE: 0 @@ -558,7 +558,7 @@ Start the application: One of the cron jobs refers to a script at `/etc/init.d/alaveteli-alert-tracks`. This is an init script, which can be generated from the -`config/alert-tracks-debian.ugly` template. This script sends out emails to users subscribed to updates from the site – known as [`tracks`]({{ site.baseurl }}docs/installing/email/#tracks-mail) – when there is something new matching their interests. +`config/alert-tracks-debian.ugly` template. This script sends out emails to users subscribed to updates from the site – known as [`tracks`]({{ page.baseurl }}/docs/installing/email/#tracks-mail) – when there is something new matching their interests. **Template Variables:** @@ -817,11 +817,11 @@ front of Varnish. If you're already using Apache as a web server you could simply use Apache as the SSL terminator. We have some [production server best practice -notes]({{ site.baseurl}}docs/running/server/). +notes]({{ page.baseurl }}/docs/running/server/). ## What next? -Check out the [next steps]({{ site.baseurl }}docs/installing/next_steps/). +Check out the [next steps]({{ page.baseurl }}/docs/installing/next_steps/). ## Troubleshooting @@ -833,7 +833,7 @@ Check out the [next steps]({{ site.baseurl }}docs/installing/next_steps/). If there are failures here, something has gone wrong with the preceding steps (see the next section for a common problem and workaround). You might - be able to move on to the [next steps]({{ site.baseurl }}docs/installing/next_steps/), depending on how serious they are, but + be able to move on to the [next steps]({{ page.baseurl }}/docs/installing/next_steps/), depending on how serious they are, but ideally you should try to find out what's gone wrong. @@ -850,7 +850,7 @@ You should then be able to run the tests. Don't forget to restore <code>config/r * **Incoming emails aren't appearing in my Alaveteli install** - See the [general email troubleshooting guide]({{ site.baseurl }}docs/installing/email#general-email-troubleshooting). + See the [general email troubleshooting guide]({{ page.baseurl }}/docs/installing/email#general-email-troubleshooting). * **Various tests fail with "*Your PostgreSQL connection does not support unescape_bytea. Try upgrading to pg 0.9.0 or later.*"** diff --git a/docs/installing/next_steps.md b/docs/installing/next_steps.md index 2b7acbd45..5ebd395aa 100644 --- a/docs/installing/next_steps.md +++ b/docs/installing/next_steps.md @@ -20,11 +20,11 @@ title: Next Steps ## Create a superuser admin account Alaveteli ships with an -<a href="{{site.baseurl}}docs/glossary/#emergency" class="glossary__link">emergency user</a> +<a href="{{ page.baseurl }}/docs/glossary/#emergency" class="glossary__link">emergency user</a> that has access to the admin. So when you've just created a new site, you should sign up to create your own account, then log into admin as the emergency user to promote your new account to be an administrator with -<a href="{{ site.baseurl }}docs/glossary/#super" class="glossary__link">super</a> +<a href="{{ page.baseurl }}/docs/glossary/#super" class="glossary__link">super</a> privilege. As soon as that's done, disable the emergency user, because you don't need to @@ -42,8 +42,8 @@ First, in the browser: * Go to `/profile/sign_in` and create a user by signing up. * Check your email and confirm your account. * Go to `/admin?emergency=1`, log in with the username and password you specified in - [`ADMIN_USERNAME`]({{site.baseurl}}docs/customising/config/#admin_username) - and [`ADMIN_PASSWORD`]({{site.baseurl}}docs/customising/config/#admin_password). + [`ADMIN_USERNAME`]({{ page.baseurl }}/docs/customising/config/#admin_username) + and [`ADMIN_PASSWORD`]({{ page.baseurl }}/docs/customising/config/#admin_password). You can find these settings in `config/general.yml`. * You're now on the Alaveteli admin page. * Click on **Users** (in the navigation menu across the top of the page), and @@ -73,13 +73,13 @@ emergency user access to the admin. On the command line shell, edit * It's important that you change the emergency user's password (and, ideally, the username too) from the values Alavateli ships with, because they are public and hence insecure. In `general.yml`, change - [`ADMIN_PASSWORD`]({{site.baseurl}}docs/customising/config/#admin_password) - (and maybe [`ADMIN_USERNAME`]({{site.baseurl}}docs/customising/config/#admin_username) + [`ADMIN_PASSWORD`]({{ page.baseurl }}/docs/customising/config/#admin_password) + (and maybe [`ADMIN_USERNAME`]({{ page.baseurl }}/docs/customising/config/#admin_username) too) to new, unique values. * Additionally, you can totally disable the emergency user. Under normal operation you don't need it, because from now on you'll be using the admin user you've just created. - Set [`DISABLE_EMERGENCY_USER`]({{site.baseurl}}docs/customising/config/#disable_emergency_user) + Set [`DISABLE_EMERGENCY_USER`]({{ page.baseurl }}/docs/customising/config/#disable_emergency_user) to `true`. * To apply these changes restart the service as a user with root privileges: `sudo service alaveteli restart` @@ -119,8 +119,8 @@ follow the steps described in the previous section. * You should receive the request email -- try replying to it. Your response email should appear in Alaveteli. Not working? Take a look at our - [troubleshooting tips]({{ site.baseurl}}docs/installing/manual_install/#troubleshooting). - If that doesn't sort it out, [get in touch]({{ site.baseurl}}community/) on + [troubleshooting tips]({{ page.baseurl }}/docs/installing/manual_install/#troubleshooting). + If that doesn't sort it out, [get in touch]({{ page.baseurl }}/community/) on the [developer mailing list](https://groups.google.com/forum/#!forum/alaveteli-dev) or [IRC](http://www.irc.mysociety.org/) for help. ## Import Public Authorities @@ -128,7 +128,7 @@ follow the steps described in the previous section. Alaveteli can import a list of public authorities and their contact email addresses from a CSV file. Follow the instructions for -[uploading public authority data]({{ site.baseurl }}docs/running/admin_manual/#creating-changing-and-uploading-public-authority-data). +[uploading public authority data]({{ page.baseurl }}/docs/running/admin_manual/#creating-changing-and-uploading-public-authority-data). ## Set the amount of time authorities will be given to respond to requests @@ -137,13 +137,13 @@ have a certain number of days in order to respond to requests. Alaveteli helps requesters by reminding them when their request is overdue for a response according to the law. You can set the number of days an authority is given to respond to a request in the -[`REPLY_LATE_AFTER_DAYS`]({{site.baseurl}}docs/customising/config/#reply_late_after_days), -[`REPLY_VERY_LATE_AFTER_DAYS`]({{site.baseurl}}docs/customising/config/#reply_very_late_after_days) +[`REPLY_LATE_AFTER_DAYS`]({{ page.baseurl }}/docs/customising/config/#reply_late_after_days), +[`REPLY_VERY_LATE_AFTER_DAYS`]({{ page.baseurl }}/docs/customising/config/#reply_very_late_after_days) and -[`SPECIAL_REPLY_VERY_LATE_AFTER_DAYS`]({{site.baseurl}}docs/customising/config/#special_reply_very_late_after_days) +[`SPECIAL_REPLY_VERY_LATE_AFTER_DAYS`]({{ page.baseurl }}/docs/customising/config/#special_reply_very_late_after_days) options in `config/general.yml`. Most laws specify that the days are either working days, or calendar days. You can set this using the -[`WORKING_OR_CALENDAR_DAYS`]({{site.baseurl}}docs/customising/config/#working_or_calendar_days) +[`WORKING_OR_CALENDAR_DAYS`]({{ page.baseurl }}/docs/customising/config/#working_or_calendar_days) option in `config/general.yml`. ## Add some public holidays @@ -153,17 +153,17 @@ Interface introduced in Alaveteli version 0.21 </div> Alaveteli calculates the due dates of requests taking account of the -<a href="{{ site.baseurl }}docs/glossary/#holiday" class="glossary__link">public holidays</a> +<a href="{{ page.baseurl }}/docs/glossary/#holiday" class="glossary__link">public holidays</a> you enter into the admin interface. If you have set the -[`WORKING_OR_CALENDAR_DAYS`]({{site.baseurl}}docs/customising/config/#working_or_calendar_days) +[`WORKING_OR_CALENDAR_DAYS`]({{ page.baseurl }}/docs/customising/config/#working_or_calendar_days) setting for Alaveteli to `working`, the date when a response to a request is officially overdue will be calculated in days that are not weekends or public holidays. If you have set -[`WORKING_OR_CALENDAR_DAYS`]({{site.baseurl}}docs/customising/config/#working_or_calendar_days) +[`WORKING_OR_CALENDAR_DAYS`]({{ page.baseurl }}/docs/customising/config/#working_or_calendar_days) to `calendar`, the date will be calculated in calendar days, but if the due date falls on a public holiday or weekend day, then the due date is considered to be the next week day that isn't a holiday. @@ -176,6 +176,4 @@ once using the **Create holidays from suggestions or iCalendar feed** button. ## Start thinking about customising Alaveteli -Check out [our guide]({{ site.baseurl}}docs/customising/). - - +Check out [our guide]({{ page.baseurl }}/docs/customising/). diff --git a/docs/installing/script.md b/docs/installing/script.md index 72fbd6438..875cf8734 100644 --- a/docs/installing/script.md +++ b/docs/installing/script.md @@ -9,7 +9,7 @@ title: Installation script If you prefer to use your own server, we've provided an installation script which does most of the work for you. </p> -Note that there are [other ways to install Alaveteli]({{ site.baseurl }}docs/installing/). +Note that there are [other ways to install Alaveteli]({{ page.baseurl }}/docs/installing/). ## Installing with the installation script @@ -69,7 +69,7 @@ The server will also be configured to accept replies to information request emai ##What next? -Check out the [next steps]({{ site.baseurl }}docs/installing/next_steps/). +Check out the [next steps]({{ page.baseurl }}/docs/installing/next_steps/). diff --git a/docs/installing/vagrant.md b/docs/installing/vagrant.md index a0b058da5..0e260e81b 100644 --- a/docs/installing/vagrant.md +++ b/docs/installing/vagrant.md @@ -8,10 +8,10 @@ title: Vagrant <a href="https://www.vagrantup.com">Vagrant</a> provides an easy method to set up virtual development environments We bundle an example Vagrantfile in the repository, which runs the - <a href="{{ site.baseurl}}docs/installing/script/">install script</a> for you. + <a href="{{ page.baseurl}}/docs/installing/script/">install script</a> for you. </p> -Note that this is just one of [several ways to install Alaveteli]({{ site.baseurl }}docs/installing/). +Note that this is just one of [several ways to install Alaveteli]({{ page.baseurl }}/docs/installing/). The included steps will use vagrant to create a development environment where you can run the test suite and the development server, and make @@ -23,7 +23,7 @@ scripts will create you a Vagrant VM based on the server edition of Ubuntu 12.04 LTS that contains everything you need to work on Alaveteli. 1. Get a copy of Alaveteli from - <a href="{{ site.baseurl }}docs/glossary/#git" class="glossary__link">GitHub</a>: + <a href="{{ page.baseurl }}/docs/glossary/#git" class="glossary__link">GitHub</a>: # on your machine $ git clone git@github.com:mysociety/alaveteli.git @@ -75,7 +75,7 @@ for full instructions on using Vagrant. ## What next? -Check out the [next steps]({{ site.baseurl }}docs/installing/next_steps/). +Check out the [next steps]({{ page.baseurl }}/docs/installing/next_steps/). ## Customizing the Vagrant instance |