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