wiki:SoftwareDependencies

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).