.. sectionauthor:: Peter Hanley
.. publishdate:: 2014-01-23
.. summary:: Technical overview of MDID software and dependency installation
.. index::
single: installation
Technical Overview
==================
.. rst-class:: lead
MDID3 is a modern `django web application `__
that requires a number of interdependent but seperate technologies to run correctly.
Webserver
---------
MDID is a `WSGI application `__,
and as such requires a web server capable of serving WSGI applications, such as
`Apache HTTP Server `__ with `mod\_wsgi `__
or another alternative that works similarly
(e.g.\ `uWSGI `__ in combination with
`nginx `__ or `Microsoft
IIS `__ with
`pyisapie `__)
.. rst-class:: text-info
The webserver needs to be able to run python as a daemon for
worker processes like image processing, data import, etc.
Database
--------
See :doc:`8_database_setup` for more information.
All known installations are currently based in
`mySQL `__ or MS SQL Server,
but Postgress should theoretically work - let us know, won't you?
Solr Search
-----------
`Apache Solr `__ provides search capabilities. Solr is written in Java
and runs as a standalone full-text search server within a servlet container such as Jetty. A sample working
server is included in the main MDID repo. See the solr wiki for more information about
`running Solr with Jetty `_
Memory Object Cache
-------------------
A memory object caching server like
`memcached `__ or `Couchbase
Server `__ is required.
RabbitMQ
--------
Background processes such as data import and search index updates
are handled by `RabbitMQ `__