summaryrefslogtreecommitdiff
path: root/docs/_build/html/_sources/install.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_build/html/_sources/install.txt')
-rw-r--r--docs/_build/html/_sources/install.txt274
1 files changed, 274 insertions, 0 deletions
diff --git a/docs/_build/html/_sources/install.txt b/docs/_build/html/_sources/install.txt
new file mode 100644
index 0000000..2dd745b
--- /dev/null
+++ b/docs/_build/html/_sources/install.txt
@@ -0,0 +1,274 @@
+.. -*- coding: utf-8 -*-
+
+============
+Installation
+============
+
+:Author: Étienne Loks
+:date: 2012-10-08
+:Copyright: CC-BY 3.0
+
+This documents presents the installation of Chimère.
+The version has been updated for version 2.0.0.
+
+Prerequisites
+*************
+
+ - `apache <http://www.apache.org/>`_ version 2.x
+ - `python <http://www.python.org/>`_ versions 2.6 or 2.7
+ - `django <http://www.djangoproject.com/>`_ >= version 1.4
+ - `south <http://south.aeracode.org/>`_
+ - `postgres <http://www.postgresql.org/>`_ >= version 8.x
+ - `gettext <http://www.gnu.org/software/gettext/>`_
+ - `psycopg2 <http://freshmeat.net/projects/psycopg/>`_
+ - `Python Imaging Library <http://www.pythonware.com/products/pil/>`_
+ - `pyexiv2 <http://tilloy.net/dev/pyexiv2/>`_
+ - `Beautiful Soup <http://www.crummy.com/software/BeautifulSoup/>`_
+ - python-simplejson
+ - python-gdal
+ - `unidecode <http://pypi.python.org/pypi/Unidecode>_
+ - `lxml <http://lxml.de/>`_
+ - `jquery <http://jquery.com/>`_ version 1.7.1 or better
+ - `jquery-ui <http://jqueryui.com/>`_
+ - `Universal Feed Parser <https://code.google.com/p/feedparser/>`_
+
+geodjango is a part of django since version 1.0 but it has some specific
+(geographically related) additional dependencies:
+
+ - `geos <http://trac.osgeo.org/geos/>`_ 3.0.x
+ - `proj.4 <http://trac.osgeo.org/proj/>`_ 4.4 to 4.6
+ - `posgis <http://postgis.refractions.net/>`_ versions 1.2.1 or 1.3.x
+ - `gdal <http://www.gdal.org/>`_
+
+
+Optionaly (but recommanded):
+
+ - `tinymce <http://tinymce.moxiecode.com/>`_
+ - `gpsbabel <http://www.gpsbabel.org/>`_
+ - django-celery if you want to manage large imports
+
+
+The simpliest way to obtain these packages is to get them from your favorite
+Linux distribution repositories. For instance on Debian Wheezy::
+
+ apt-get install python python-django python-django-south \
+ python-beautifulsoup tinymce apache2 libgeos-3.3.3 proj-bin gdal-bin \
+ python-gdal python-lxml python-psycopg2 python-imaging gettext \
+ postgresql-9.1 postgresql-9.1-postgis libjs-jquery libjs-jquery-ui \
+ python-django-celery python-simplejson gpsbabel \
+ python-pyexiv2 python-feedparser javascript-common
+
+On Debian Squeeze (you need to activate backports)::
+
+ apt-get install -t squeeze-backports python-django
+
+ apt-get install python python-django-south python-beautifulsoup tinymce \
+ apache2 libgeos-3.2.0 proj-bin gdal-bin python-gdal python-lxml \
+ python-psycopg2 python-imaging gettext postgresql-8.4 \
+ postgresql-8.4-postgis libjs-jquery libjs-jquery-ui python-simplejson \
+ gpsbabel python-pyexiv2 python-feedparser javascript-common
+
+
+If these packages do not exist in your distribution's repository, please refer
+to the applications' websites.
+
+Database configuration
+**********************
+
+Now that postgres and postgis are installed, you need to create a new user for
+chimere::
+
+ su postgres
+ createuser --echo --adduser --createdb --encrypted --pwprompt chimere-user
+
+Then, you have to create the database and initialize the geographic types (adapt
+the paths accordingly to your needs)::
+
+ PG_VERSION=9.1 # 8.4 for debian Squeeze
+ createdb --echo --owner chimere-user --encoding UNICODE chimere "My Chimère database"
+ createlang plpgsql chimere # only necessary on Debian Squeeze
+ psql -d chimere -f /usr/share/postgresql/$PG_VERSION/contrib/postgis-1.5/postgis.sql
+ psql -d chimere -f /usr/share/postgresql/$PG_VERSION/contrib/postgis-1.5/spatial_ref_sys.sql
+
+Install the sources
+*******************
+
+Choose a path to install your Chimère::
+
+ INSTALL_PATH=/var/local/django
+ mkdir $INSTALL_PATH
+
+From an archive
++++++++++++++++
+
+The last "stable" version is available in this `directory <http://www.peacefrogs.net/download/chimere/>`_.
+Take care of getting the last version in the desired X.Y branch (for instance
+the last version for the 1.0 branch is version 1.0.2.
+Extract it to the desired destination path::
+
+ wget http://www.peacefrogs.net/download/chimere -q -O -| html2text
+ (...)
+ [[ ]] chimere-1.0.0.tar.bz2 17-Nov-2010 16:51 53K
+ [[ ]] chimere-1.0.1.tar.bz2 17-Nov-2010 16:51 53K
+ [[ ]] chimere-1.0.2.tar.bz2 17-Nov-2010 16:51 53K
+ (...)
+
+ wget http://www.peacefrogs.net/download/chimere/chimere-1.0.2.tar.bz2
+
+Download, unpack and move the files in an apache user (www-data for Debian)
+readable directory::
+
+ cd $INSTALL_PATH
+ tar xvjf chimere-last.tar.bz2
+ chown -R myusername:www-data chimere
+
+From the git repository
++++++++++++++++++++++++
+
+Another solution is to get the last git version::
+
+ cd $INSTALL_PATH
+ git clone git://www.peacefrogs.net/git/chimere
+ cd chimere
+ git tag -l # list tagged versions
+ git checkout v2.0 # checkout the desired version
+
+
+Create a custom project template
+********************************
+
+There a default project provided "example_project". Copy and modify it (or
+get another project based on Chimere)::
+
+ cd $INSTALL_PATH/chimere
+ cp -ra example_project mychimere_project
+
+Your project name is used for the name of the Python package of your template.
+As a Python package it should follow the rule of Python variable name:
+it must be at least one letter and can have a string of numbers, letters and
+"_" to any length. Don't begin the name by "_" because it has special
+significance in Python.
+
+In your chimere application directory create local_settings.py to fit to your
+configuration.
+A base template is provided (local_settings.py.example) and short descriptions of
+the more relevant fields are given below (at least check them). Most of theses
+settings are initialized in settings.py. ::
+
+ cd $INSTALL_PATH/chimere/mychimere_project
+ cp local_settings.py.sample local_settings.py
+ vim local_settings.py
+
+:Fields:
+
+ * DATABASES: parameters for the database
+ * PROJECT_NAME: name of the project
+ * SECRET_KEY: a secret key for a particular Django installation. This is
+ used to provide cryptographic signing, and should be set to a unique,
+ unpredictable value. Change it!
+ * ROOT_URLCONF: url configuration for your project something like:
+ 'mychimere_project.urls'
+ * EMAIL_HOST: smtp of an email server to send emails
+ * TINYMCE_URL: url to tinymce path (default is appropriate for a Debian
+ installation with tinymce activated)
+ * JQUERY_JS_URLS: list of Jquery and Jquery-ui urls (default is appropriate
+ for a Debian installation with Jquery and Jquery-ui activated)
+ * JQUERY_CSS_URLS: list of Jquery and Jquery-ui urls (default is appropriate
+ for a Debian installation with Jquery and Jquery-ui activated)
+ * GPSBABEL: path to gpsbabel (default is appropriate for a Debian
+ installation with gpsbabel installed)
+ * TIME_ZONE: local time zone for this installation
+ * LANGUAGE_CODE: language code for this installation
+
+Manage media path permission::
+
+ cd $INSTALL_PATH/chimere/mychimere_project
+ chown -R user:www-data media
+ chmod -R g+w media
+
+Create log file::
+
+ mkdir /var/log/django
+ touch /var/log/django/chimere.log
+ chown -R root:www-data /var/log/django/
+ chmod -R g+w /var/log/django/
+
+Regroup static files in one path::
+
+ cd $INSTALL_PATH/chimere/mychimere_project
+ ./manage.py collectstatic
+
+Compiling languages
+*******************
+
+If your language is available in the locale directory of chimere, you will just
+need to get it compiled. This can be done with (here, **fr** stands for french).
+Replace it with the appropriate language code)::
+
+ cd $INSTALL_PATH/chimere/chimere/
+ django-admin compilemessages
+
+If your language is not available, feel free to create the default po files and
+to submit it, contributions are well appreciated. Procedure is as follows:
+
+You first need to create the default po file (of course, replace **fr**
+according to the language you choose to create)::
+
+ django-admin makemessages -l fr
+
+There should now be a *django.po* file in *locale/fr/LC_MESSAGES*. Complete it
+with your translation.
+
+Now that the translation file is completed, just compile it the same way you
+would have if the language file was already available.
+
+Database initialisation
+***********************
+
+Create the appropriate tables (still being in chimère application directory)::
+
+ cd $INSTALL_PATH/chimere/mychimere_project
+ ./manage.py syncdb
+
+You will be prompted for the creation of an administrator account
+(administration can be found at: http://where_is_chimere/admin). Then you have
+to create tables managed with south::
+
+ ./manage.py migrate
+
+The database is set, congratulations!
+
+If you want to populate your installation with default data (don't do this on
+an already populated instance!)::
+
+ ./manage.py loaddata ../chimere/fixtures/default_data.json
+
+Webserver configuration
+***********************
+
+Apache configuration with mod_wsgi
+++++++++++++++++++++++++++++++++++
+
+Install mod_wsgi for apache::
+
+ apt-get install libapache2-mod-wsgi
+
+
+TODO: adapt apache-wsgi.conf
+Create and edit a configuration for Chimère::
+
+ cp $INSTALL_PATH/chimere/apache/django.wsgi \
+ $INSTALL_PATH/chimere/apache/mydjango.wsgi
+ vim $INSTALL_PATH/chimere/apache/mydjango.wsgi
+ cp $INSTALL_PATH/chimere/apache/apache-wsgi.conf /etc/apache2/sites-available/chimere
+ vim /etc/apache2/sites-available/chimere
+ # create log dir
+ mkdir /var/log/apache2/chimere/
+
+Adapt the files *mydjango.wsgi* (with the correct sys path) and Apache *chimere*.
+
+To activate the website reload apache::
+
+ a2ensite chimere
+ /etc/init.d/apache2 reload
+