[[PageOutline]]
= Installing Indico =
**DEPRECATED. This installation is for 0.97, but now there is a newer version. Please follow [[Installation0.98|these instructions]] instead!
== 0. Before starting ==
Currently, Indico can only run on [http://www.modpython.org/ mod_python], using the [http://httpd.apache.org Apache httpd] server. Make sure you install them for your operating system (as well as Python, of course), if you don't have them yet. These are the recommended versions:
* Python 2.4+
* Apache httpd 2.2+
* mod_python 3.3+
* [http://pypi.python.org/pypi/setuptools setuptools] 0.6 - older versions of Python (<=2.4)
Some older versions will probably work, but we cannot guarantee that everything goes fine. Regarding Python, don't hesitate to use 2.5 or 2.6 - we plan to move from 2.4 soon, anyway.
If you're building indico '''from the development source''', please `easy_install jstools` first.
Since the setup process fetches all the other dependencies automatically, just install [http://xmlsoft.org/ libxml2], [http://xmlsoft.org/ libxslt] (both with Python bindings), [http://www.pythonware.com/products/pil/ PIL] and [http://www.reportlab.org/oss/rl-toolkit/download/ ReportLab] manually, and jump to the next section.
This is the complete list of dependencies (if for some reason you need to install them manually):
* [http://www.pythonware.com/products/pil/ PIL] (version 1.1.7 already includes support for interlaced PNGs)
* [http://www.reportlab.org/oss/rl-toolkit/download/ ReportLab]
* [http://pypi.python.org/pypi/ZODB3/3.9.3 ZODB 3] (3.7 at least, but 3.8+ recommended)
* [http://projects.opengeo.org/jstools jstools] (build-only, read above)
* [http://pypi.python.org/pypi/pytz/2009r pytz]
* [http://pypi.python.org/pypi/zope.index/3.6.0 zope.index]
* [http://pypi.python.org/pypi/simplejson/2.0.9 simplejson]
* [http://xmlsoft.org/ libxml2 and libxslt]
* [wiki:Admin/Installation/IndicoExtras Indico extras (e.g. ttfonts)]
== 1. Installing it ==
There are two options:
=== 1.1. fetching a release ('''recommended''') ===
You can do it from command line ('''recommended''') executing:
{{{
# easy_install cds-indico
}}}
Or, you can also do it fetching a tarball or egg file from [wiki:Download here].
=== 1.2. from our Git repository ===
You can find our git repository [wiki:Download#Gitsources here] ('''development sources''');
You should have checked out a `cds-indico` directory. `cd` into it and simply do (as root):
{{{
# python setup.py install
}}}
The setup script will fetch all the dependencies for you and install Indico as a Python EGG in your Python library path.
== 2. Post-Install script ==
The next step is to run `indico_initial_setup`:
{{{
# indico_initial_setup
No previous installation of Indico was found.
Please specify a directory prefix:
[/opt/indico]:
}}}
and follow the instructions that the script will provide. By default, Indico will be installed under ``/opt/indico``, but the setup script allows you to specify other paths.
By the end of the process, you should have obtained some information on how to start the database:
{{{
If you are running ZODB on this host:
- Review etc/zodb.conf and etc/zdctl.conf to make sure everything is ok.
- To start the database run: zdaemon -C etc/zdctl.conf start
}}}
As well as some information on the paths:
{{{
indico.conf: /opt/indico/etc/indico.conf
BinDir: /opt/indico/bin
DocumentationDir: /opt/indico/doc
ConfigurationDir: /opt/indico/etc
HtdocsDir: /opt/indico/htdocs
}}}
== 3. Configuring Apache ==
Then you should configure Apache HTTPD, by adding the following lines to your httpd configuration file:
{{{
PythonInterpreter main_interpreter
PythonImport MaKaC::setEnvironment main_interpreter
AddHandler python-program .py
PythonHandler mod_python.publisher
Allow from All
SetHandler python-program
PythonHandler MaKaC.services.handler
PythonInterpreter main_interpreter
Allow from All
Alias /indico/images "/your/htdocs/images"
Alias /indico "/your/htdocs"
}}}
(`/your/htdocs` should be the same as `HtdocsDir`, mentioned above)
Accessing `http://localhost/indico/index.py` should give you the main Indico page.
== 4. Indico config file ==
The next step should be inspecting `indico.conf` and configuring it to fit your server configuration. `indico.conf`
replaces the old `config.xml`, so you will have to update it with the paramaters that you already have in your `config.xml`.
== 5. Migration ==
If you are using an existing DB, please [wiki:Releases/Indico0.97.0#Upgrading read this].
== 6. Future installations ==
Once you have succeeded to install Indico for the first time, you can automatize the upgrading process
with a single script. This script should basically include the following actions:
{{{
$ easy_install -U cds-indico
$ indico_initial_setup --existing-config=/opt/indico/etc/indico.conf #replace with your path to your indico.conf
# restart apache
/path/to/httpd restart
}}}