Installing Indico
DEPRECATED. This installation is for 0.97, but now there is a newer version. Please follow these instructions instead!
0. Before starting
Currently, Indico can only run on mod_python, using the 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+
- 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 libxml2, libxslt (both with Python bindings), PIL and 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):
- PIL (version 1.1.7 already includes support for interlaced PNGs)
- ReportLab
- ZODB 3 (3.7 at least, but 3.8+ recommended)
- jstools (build-only, read above)
- pytz
- zope.index
- simplejson
- libxml2 and libxslt
- 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 here.
1.2. from our Git repository
You can find our git repository 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 <Directory "/your/htdocs"> AddHandler python-program .py PythonHandler mod_python.publisher Allow from All </Directory> <Directory "/your/htdocs/services"> SetHandler python-program PythonHandler MaKaC.services.handler PythonInterpreter main_interpreter Allow from All </Directory> 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 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