## DO NOT TRANSLATE THIS PAGE / SUBPAGES OF THIS PAGE.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl -All:write Default
#format wiki
#language en
#pragma section-numbers off

= Installation Requirements =
Before you start installing !MoinMoin, some requirements have to be met. The actual requirements depend largely on what kind of setup you plan for your wiki installation.

== What do you need to know? ==
There are two major ways of using !MoinMoin, requiring different knowledge about the environment it is going to be installed in (e.g. operating system, server software, etc.):

 * Quick installation:
   * A likely scenario for use on a personal computer or laptop
   * No knowledge about administration of servers is required, but
   * You should be familiar with your chosen operating system

 * Server installation:
   * General server administration knowledge is required
   * You have to know about web server configuration
   * You have to know about permissions, users, groups and the like

(!) Please note, that there are [[MoinMoin:ServiceProviders|service providers]] who offer hosted, pre-configured !MoinMoin installations. Also, in case you need !MoinMoin on your own server, please see the [[http://moinmo.in/Support|Support Options]] about how to get help with installation/configuration.


== What software do you need to have installed? ==
The software that has to be installed on the target machine, also largely depends on the type of deployment AND on the features you want to make use of. While the largest amount of functionality in !MoinMoin works with a minimal set of requirements, some features can only be activated in the presence of additional software:

=== Required software ===
==== All installations ====
As !MoinMoin is written in Python, you need [[http://www.python.org|Python]]! :)
 * We recommend using Python 2.4.x or 2.5.x, if possible.
  * Python 2.6.x should also work, but is less tested.
 * /!\ Python 3.x (or Python older than 2.4) will '''not''' work for !MoinMoin.

==== Quick Installation ====
 . No web server is required (the wiki runs on a built-in server).

==== Server Installation ====
 * A webserver of your choice, for example:
  * [[http://httpd.apache.org|Apache]]
  * [[http://www.lighttpd.net|lighttpd]]

 * A web server protocol extension to speed up the serving of the wiki:
  * '''WSGI''': very fast and standardized protocol for serving Python web apps ('''strongly recommended'''), available for
   * Apache ([[http://www.modwsgi.org|mod_wsgi]])
  (!) !MoinMoin is a WSGI application, thus using a WSGI web server is the most direct way to run !MoinMoin.
  * '''FastCGI''': also quite fast, available for
   * Apache (either [[http://www.fastcgi.com|mod_fastcgi]] or [[http://fastcgi.coremail.cn|mod_fcgid]]),
   * lighttpd (builtin),
   * and a lot of other web servers.
  * '''SCGI''': similar to FastCGI, available for
   * Apache ([[http://www.mems-exchange.org/software/scgi|mod_scgi]]) or
   * lighttpd (builtin)
  * '''AJP''': another fast exchange protocol, mostly found in setups involving also an Apache Tomcat Java server.

 * In the absence of such a protocol extension, you can always run !MoinMoin as a '''CGI script''', but keep in mind, that:
  * CGI is ''very slow''
  * and perhaps unsuited for larger public wikis.


=== Optional services ===
Optional you may need the following configured services to make use of extended features of your wiki:
 * '''SMTP mail server''': (or working sendmail command) for sending out email notifications
 * '''Jabber server''': for notifications via Jabber/XMPP
 * '''procmail'''-like mechanism: for importing emails into the wiki


=== Optional software ===
Following is a list of software required for special features:
  * '''xapian libs''' with '''python bindings''': Xapian indexed search
   * '''antiword, catdoc''': indexing MS word/excel documents
   * '''xpdf-utils''': indexing PDF files
  * '''python-xml''' (PyXML): gui editor, docbook
   * if you use Python 2.5.1 or newer, you don't need to install python-xml.
  * '''docutils''': parsing reStructuredText wiki pages
  * '''gdchart''': nice charts for statistics
  * '''openid libs''': authentication with OpenID
  * '''python-ldap''': authentication against a LDAP directory
  * '''MySQLdb''': authentication against a MySQL database
  * '''docbook xslt files''': parsing docbook wiki pages
  * '''4suite''': needed for extended XML/XSLT parsing
