Skip to content

Setting up a demo site

jpmckinney edited this page Feb 23, 2013 · 7 revisions

Brief instructions to get a demo site up quickly for your jurisdiction, in your language, with your public bodies, and without major security issues.

Launch an EC2 instance

From mySociety's EC2 AMI guide

Assumes you already have an EC2:

  • account
  • key pair
  • security group that opens ports 22 and 80

For a production website, you need to open port 25 for email.

  • Login to your AWS EC2 Console
  • Click "Launch Instance"
  • Click "Continue" to use the Classic Wizard
  • Click the "Community AMIs" tab
  • Select "64-bit" in the "Viewing:" select list and search for "ami-4d0ebc24"
  • Click "Select" once the AMI is found
  • Select your "Instance Type:" (medium is recommended for performance)
  • Click "Continue" repeatedly
  • Click "Launch"

You should be able to access your website at e.g. ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com.

Create an administrative user

From mySociety's installation guide

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/en/profile/sign_in and sign up

  • Check your email and confirm your account

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/admin?emergency=1

  • Login with username adminxxxx and password passwordx

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/en/admin/user/edit/3

  • Change "Admin level" to none and click "Save"

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/en/admin/user/list

  • Click on the name of the user you created, click "Edit", change "Admin level" to super and click "Save"

  • Secure the emergency username and password:

      sed -i "s/adminxxxx/`openssl rand -base64 32`/" config/general.yml
      sed -i "s/passwordx/`openssl rand -base64 32`/" config/general.yml
      ./script/rails-post-deploy
    

Upload a list of public bodies

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/en/admin/body/import_csv

The lowercase, accentless versions of the names of public bodies must be unique.

Hide existing requests

  • Go to http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/en/admin/request/list
  • Click on each request
  • Check the "Not a valid FOI request" radio button
  • Click "Hide request"

Localization

  • Add translations on Transifex

  • Install the Transifex client:

      sudo apt-get update
      sudo apt-get install python-setuptools
      sudo easy_install --upgrade transifex-client
    
  • Create a Transifex configuration file and download the translations (replace LOCALE below):

      sudo su - alaveteli
      cd $HOME
      tx init --host https://www.transifex.net
      cd $HOME/alaveteli
      tx pull -a -f
      bundle exec rake gettext:store_model_attributes
      bundle exec rake gettext:find
      sed -i 's/ es/ LOCALE/' config/general.yml
      ./script/rails-post-deploy
    

Additional documentation:

Note: tx init is run outside the Alaveteli directory to avoid overwriting .tx/config.

Next Steps

  • Use the stable version of Alaveteli:

      ssh -i /path/to/keypair.pem ubuntu@ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com
      sudo su - alaveteli
      cd $HOME
      git checkout master
      git pull
      ./script/rails-post-deploy
    

Additional documentation:

Clone this wiki locally