Dependencies
The following packages are required to run Adhocracy on your own machine:
- Python, version 2.5 or later. Python is included in most modern operating system distributions. Users of older Debian releases need to make sure they're using Python 2.5 instead of 2.4.
- Apache Solr for search indexing.
- Adhocracy requires Solr for search. Solr was chosen in favor of more light-weight solutions to allow querying from multiple front-end nodes. The downside is that you will need to set up a Solr server, which requires a lot of memory and performance.
- To deploy Solr, copy the schema.xml file to the solr/conf directory.
- RabbitMQ is used as a messaging queue for event notifications and search index updates.
- While Adhocracy does run without a queue, message processing is a time-intensive process and can lead to slow response times when creating comments, issues and proposals.
- Theoretically, any message queue compatible with the AMQP protocol should be fine. This includes ActiveMQ and RedHat MRG. While we have not tested we'd like to hear? about your experiences.
- Debian users: The RabbitMQ folks maintain a very good apt source.
- Mac OS X users: MacPorts? has rabbitmq-server.
- If you install the queue on a machine connected to the internet, make sure that RabbitMQ only accepts connections from within your network, e.g. by setting up an appropriate firewall configuration.
- Memcached is used for results caching. Using a memcache instance with as little as 32 megabytes of memory will accelerate the application by several orders of magintude.
- Debian users: you're in luck, recent Debian distributions include a memcached package.
- Mac OS X users: MacPorts? has memcached.
- Also make sure never to use the same memcached instance for two unrelated installations of Adhocracy. The caching mechanism will not discriminate between the applications and thus return erroneous results.
- Python Imaging: While it is among the package dependencies of Adhocracy, some users have reported that the automated installation of the library fails on their machine.
- Debian users: lucky buggers, python-imaging is available via APT.
- Everyone else: grab the source and build & install.
- Database: You will need a Python DB API-compatible package to connect to a database.
- SQLite drivers are included with Python but should only be used for testing setups.
- PostgreSQL is best accessed through psycopg2 (Debian: python-psycopg2, Mac OS X: you're in a world of pain now).
- MySQL uses the MySQLdb module. (Debian: python-mysqldb, everyone else: get the package and build it).
- Other databases may work but are not recommended (the OpenID component will not work properly on other DBMS).
