A-MADMAN installation on GNU/Linux (recommended choice for LAN/WAN deployment)

Dependencies:

We tried to keep external dependencies at minimum:
You will need:

For ubuntu 9.04 this command should install all necessary dependencies (using R official binary repositories to obtain the latest R version):

apt-get install python2.6 mysql-server python-mysqldb python-django r-recommended r-base-dev

On Red Hat derivatives you should install the packages: python MySQL-python mysql django and the R binary packages from R repositories

Installation and configuration

Test

Once set the appropriate variables you can test your installation with the django development server:

Deployment

First set DEBUG=False in localconf.py The preferred way to deploy a Django application for LAN/Internet use is behind apache/mod_python.

On ubuntu 9.04 you can install the necessary stuff with:

	
apt-get install apache2 apache2-mpm-prefork libapache2-mod-python

On Red Hat derivatives you should install httpd and mod_python

Then you have to configure mod_python.

On ubuntu 9.04 you can write a python.conf file in /etc/apache2/conf/

On Red Hat derivatives you should write a python.conf file in /etc/httpd/conf.d/

The following should work (assuming you installed A-MADMAN on /usr/local/).
	
<Location "/amadman"> SetHandler python-program PythonPath "['/usr/local','/usr/local/amadman'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE amadman.settings PythonInterpreter amadman PythonDebug On </Location> <Location "/media"> SetHandler None </Location> <Location "/admin_media"> SetHandler None </Location>

We'll serve static media files (css,image,etc..) from apache without the intervention of mod_python and django.
So we create a pair of symbolic links (same path assumptions as before).

On ubuntu 9.04:

	
$ sudo ln -s /usr/local/amadman/ua_manager/media/ /var/www/ $ sudo ln -s /usr/share/python-support/python-django/django/contrib/admin/media/ /var/www/admin_media

On Red Hat derivatives:

        
# ln -s /usr/local/amadman/ua_manager/media/ /var/www/html/ # ln -s $(DJANGO_ROOT)/django/contrib/admin/media/ /var/www/html/admin_media

In localconf.py change the settings:

(values must be different if you choose different symbolic link names)

Restart your web server and point you browser to http://yourhost.yourdomain/amadman/ and login with the credentials you entered when you initialized the database. Use the Administration Interface to create at least a group and a project. Name them both test if you want to be able to follow the tutorial for windows user

To have some data to play with:

  
python manage.py geoget --georc georc.example python manage.py geotodb --georc georc.example --project test

To start the job server type the command:

  
python manage.py mtasyncd --start

To stop it run:

python manage.py mtasyncd --stop
You can follow the windows tutorial to explore A-MADMAN keeping in mind to issue every text command in a server terminal instead of clicking on the start shortcuts...

Troubleshooting

You could encounter permissions issues. In particular: