wiki:Admin/Installation

Version 53 (modified by pferreir, 5 years ago) (diff)

--

Installing Indico

Only v0.97+

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

1. Installing it

There are two options:

  • Fetching a release - get it here;
  • Checking out a Git tree (development sources);

fetching a release

You can do it using easy_install, a tarball or an egg file, as explained here.

from Git

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