Installing latest RapidSMS source for production
These tutorials are for installing the current active development branch RapidSMS of the core: http://github.com/rapidsms/rapidsms-core-dev using virtualenv (http://iamzed.com/2009/05/07/a-primer-on-virtualenv/)
- DebianBased
- This the fastest and easiest way to get RapidSMS up and running and should work for Ubuntu, Debian, Mint and more.
- InstallingOnMacOSX
- This is for installing a production setup on Mac OS X using the Terminal.
- Windows
- Windows install tutorial, verified to work on Windows 7+Cygwin
- ExistingDjango
- How to install RapidSMS to work with an existing Django project
- RapidSMS_XForms
- Getting a base RapidSMS and XForms install working
http://roballen101.posterous.com/installing-rapidsms-from-scratch-oct-2010
Instructions for using an App that is not a contrib app in RapidSMS
These tutorials are for the current active development branch RapidSMS of the core: http://github.com/rapidsms/rapidsms-core-dev
If you have additional apps (other than those already added by the default configuration in settings.py):
1 – clone or copy each of your apps’ directories in your project directory alongside manage.py, settings.py, etc. For example:
cd myproject
git clone git://github.com/myuser/my-rapidsms-app.git myapp
git clone git://github.com/myfriend/herapp.git
2 – edit settings.py and add your apps to the installed apps and add tabs for your apps, if applicable
INSTALLED_APPS = [
# the essentials.
"django_nose",
"djtables",
"rapidsms",
# common dependencies (which don't clutter up the ui).
"rapidsms.contrib.handlers",
"rapidsms.contrib.ajax",
# enable the django admin using a little shim app (which includes
# the required urlpatterns), and a bunch of undocumented apps that
# the AdminSite seems to explode without.
"django.contrib.sites",
"django.contrib.auth",
"django.contrib.admin",
"django.contrib.sessions",
"django.contrib.contenttypes",
"rapidsms.contrib.djangoadmin",
# the rapidsms contrib apps.
"rapidsms.contrib.default",
"rapidsms.contrib.export",
"rapidsms.contrib.httptester",
"rapidsms.contrib.locations",
"rapidsms.contrib.messagelog",
"rapidsms.contrib.messaging",
"rapidsms.contrib.registration",
"rapidsms.contrib.scheduler",
"rapidsms.contrib.search",
"rapidsms.contrib.echo",
"myapp",
"herapp",
]
2.1
I also needed to do the following (which may or may not be ‘correct’):
touch __init__.py
3 – Then, in the root of your project directory, sync the database. You’ll need to sync your database each time you add an app.
./manage.py syncdb
(Note: Windows users might not see manage.py. You can use ./rapidsms instead.)
Alternate instructions for using Apps that are not contrib apps in RapidSMS
1a – create an ‘apps’ directory in your project directory alongside manage.py, settings.py, etc. Clone individual app repositories into your apps directory
cd myproject
mkdir apps
cd apps
git clone git://github.com/myuser/my-rapidsms-app.git myapp
git clone git://github.com/myfriend/herapp.git
1b – clone http://github.com/rapidsms/rapidsms-community-apps-dev alongside manage.py, settings.py, etc as a directory called apps
cd myproject
git clone git://github.com/rapidsms/rapidsms-community-apps-dev.git apps
2 – patch your manage.py script to add your apps directory to your pythonpath, for example (http://gist.github.com/516020):
#!/usr/bin/env python
# vim: ai ts=4 sts=4 et sw=4
import sys, os
from django.core.management import execute_manager
import settings
if __name__ == "__main__":
project_root = os.path.abspath(
os.path.dirname(__file__))
for dir in ["apps"]:
path = os.path.join(project_root, dir)
sys.path.insert(0, path)
sys.path.insert(0, project_root)
execute_manager(settings)
3 – edit settings.py and add desired apps to INSTALLED_APPS and add tabs, if desired, in RAPIDSMS_TABS
4 – Then, in the root of your project directory, sync the database. You’ll need to sync your database each time you add an app.
./manage.py syncdb
(Note: Windows users might not see manage.py. You can use ./rapidsms instead.)