Rapidpro Installation
From IHRIS Wiki
Introduction and Overview
RapidPro is an Open Source platform that allows anyone to build interactive messaging systems using an easy visual interface. A video is worth a thousand words and this brief video introduction will give you an idea of what is possible.
Installation
To install Rapidpro,follow the following steps
- Prerequisites Installation
- PostgreSQL 9.3 or later along with the PostGIS extensions. You probably want to refer to Django’sinstallation instructions to help get this working.
- Redis 2.8 or later installed and listening on localhost. By default the development server uses database 15. You may install this through debian package manager <source lang="xml">$ sudo apt-get install redis-server</source> or by downloading it on redis website
- lessc, the Less compiler.
- coffee, the Coffee script compiler. You may also install this with <source lang="xml"> $ sudo apt-get install coffeescript </source>
- Create Temba User For PostgreSQL <source lang="xml"> $ sudo -u postgres createuser temba --superuser --pwprompt -d $ sudo adduser temba </source>
- Create temba database, add PostGIS <source lang="xml"> Create the database as temba user: $ sudo -u temba psql --user=temba postgres postgres=> create database temba; CREATE DATABASE \q </source> Now connect as superuser that can install extensions <source lang="xml"> $ sudo apt-get install postgresql-contrib-X.Y #replace X.Y with version number i.e 9.3 $ sudo -u temba psql --user=temba postgres postgres=# \c temba You are now connected to database "temba" as user "psql". temba=# create extension postgis; CREATE EXTENSION temba=# create extension postgis_topology; CREATE EXTENSION temba=# create extension hstore; CREATE EXTENSION </source>
-
Clone Rapidpro
Now clone the RapidPro repository and link up the development settings: <source lang="xml"> $ git clone git@github.com:rapidpro/rapidpro.git $ cd rapidpro $ ln -s temba/settings.py.dev temba/settings.py </source> NB:open the file temba/settings.py to make sure that it was created,if its missing or empty,do this <source lang="xml"> $ cp temba/settings.py.dev temba/settings.py </source> - Build Virtual Environment
You should always use a virtual environment to run your RapidPro installation. The pinned dependencies for RapidPro can be found in pip-freeze.txt. You can build the needed environment as follows (from the root rapidpro directory): <source lang="xml"> $ virtualenv env $ source env/bin/activate (env) $ pip install -r pip-freeze.txt </source> -
Sync your database
You should now be able to run all the migrations and initialize your development server. This takes a little while on RapidPro as syncdb also creates and initializes all the user groups and permissions. <source lang="xml"> $ python manage.py syncdb </source> - If you want to create a super user,run this command while the env is still activated <source lang="xml"> (env) $ python manage.py createsuperuser </source>
-
Run development server
At this point you’ll be able to run the development server and run RapidPro. It will be available at http://localhost:8000 or you may specify a different port number if you wish to change the default port number. <source lang="xml"> $ python manage.py runserver 0.0.0.0:8000 </source