Installation¶
Auteur: | Étienne Loks |
---|---|
date: | 2013-03-16 |
Copyright: | CC-BY 3.0 |
Ce document présente l’installation de Chimère.
Pré-requis¶
Si vous souhaitez installer le paquet Debian prévu pour Wheezy, les dépendances sont gérées par le paquet. Vous pouvez passer à la section suivante de la documentation.
- Apache version 2.x
- Python versions 2.6 ou 2.7
- Django >= version 1.4
- South
- Postgres >= version 8.x
- Gettext
- Psycopg2
- Python Imaging Library
- Pyexiv2
- Beautiful Soup
- python-simplejson
- python-gdal
- Lxml
- Jquery version 1.7.1 or better
- Jquery-ui
- Universal Feed Parser
geodjango fait partie de Django depuis la version 1.0 mais nécessite quelques dépendances supplémentaires :
Optionnel (mais recommandé) :
La manière la plus simple de satisfaire à ces pré-prequis est de les installer par le biais des dépôts de votre distribution Linux préférée. Par exemple pour Debian Wheezy :
apt-get install apache2 python python-django python-django-south \
postgresql-9.1 gettext python-psycopg2 python-imaging \
python-pyexiv2 python-beautifulsoup python-simplejson python-gdal \
python-lxml libjs-jquery libjs-jquery-ui python-feedparser \
libgeos-3.3.3 proj-bin postgresql-9.1-postgis gdal-bin \
tinymce gpsbabel python-django-celery javascript-common
Pour Debian Squeeze (il est nécessaire d’activer les backports) :
apt-get install -t squeeze-backports python-django libjs-jquery
apt-get install apache2 python python-django python-django-south \
postgresql-8.4 gettext python-psycopg2 python-imaging \
python-pyexiv2 python-beautifulsoup python-simplejson python-gdal \
python-lxml libjs-jquery libjs-jquery-ui python-feedparser \
libgeos-3.2.0 proj-bin postgresql-8.4-postgis gdal-bin \
tinymce gpsbabel javascript-common
Le paquet python-django-celery n’existe pas pour Debian Squeeze.
Si ces paquets n’ont pas d’équivalents dans les dépôts de votre distribution Linux, référez-vous aux sites web de ces applications.
Configuration de la base de données¶
Maintenant que postgres et postgis sont installés, vous avez besoin de créer un nouvel utilisateur pour Chimère :
su postgres
createuser --echo --adduser --createdb --encrypted --pwprompt chimere-user
Ensuite, vous avez besoin de créer la base de données et d’initialiser les types géographiques (adaptez les chemins par rapport à vos besoins) :
PG_VERSION=9.1 # 8.4 pour debian Squeeze
createdb --echo --owner chimere-user --encoding UNICODE chimere "Ma base de données Chimère"
createlang plpgsql chimere # seulement nécessaire sous 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
Installer les sources¶
Choisissez un chemin où installer Chimère
INSTALL_PATH=/var/local/django
mkdir $INSTALL_PATH
Depuis les paquets Debian¶
Si vous souhaitez disposer de la dernière version stable de Debian et que vous êtes sous environnement Wheezy, il est conseillé d’utiliser les paquets prévus à cet effet.
Vous pouvez installer Chimère ainsi.
# ajouter le dépôt Chimère
echo "deb http://debian.peacefrogs.net wheezy main" >> /etc/apt/sources.list
# installation
apt-get update
apt-get install python-django-chimere
Depuis une archive¶
La dernière version « stable » est disponible dans ce répertoire. Prenez garde à prendre la dernière version de la branche souhaitée (par exemple la dernière version de la branche 1.0 est la version 1.0.2).
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
Téléchargez, décompressez et déplacez les fichiers dans un répertoire lisible par l’utilisateur de votre serveur web (www-data pour Debian).
cd $INSTALL_PATH
tar xvjf chimere-last.tar.bz2
chown -R myusername:www-data chimere
Depuis le dépôt Git¶
Une autre solution est d’obtenir les sources depuis le dépôt Git :
CHIMERE_LOCALNAME=mychimere
CHIMERE_BRANCH=v2.0 # choisissez v2.0 ou master
cd $INSTALL_PATH
git clone git://www.peacefrogs.net/git/chimere
cd chimere
git checkout origin/$CHIMERE_BRANCH -b $CHIMERE_LOCALNAME
Créez un patron pour votre projet¶
Un exemple de projet peut être trouvé sur Gitorious. Clonez-le et modifiez-le (ou utilisez un autre projet basé sur Chimère) :
cd $INSTALL_PATH/chimere
git clone git://gitorious.org/chimere-example-project/chimere-example-project.git
django-admin startproject --template=chimere-example-project mychimere_project
rm -rf chimere-example-project
Le nom de votre projet est utilisé pour le nom de la bibliothèque Python correspondant à votre projet. En tant que bibliothèque Python, ce nom doit suivre les règles de nommage des noms de variable Python : il doit comporter au moins une lettre et peut comporter autant de nombres et de lettres que souhaité, le caractère tiret bas (« _ ») est accepté. N’utilisez pas de caractères accentués. Ne commencez pas par « _ » car cela a une signification particulière en Python.
Dans le répertoire de votre application Chimère créez un fichier local_settings.py qui correspond à votre configuration. Un fichier de base est fourni (local_settings.py.example) et des descriptions courtes des variables les plus pertinentes sont données sous celui-ci (survolez-les au minimum). La plupart de ces paramétrages sont initialisés dans le fichier settings.py.
cd $INSTALL_PATH/chimere/mychimere_project
cp local_settings.py.sample local_settings.py
vim local_settings.py
Champs: |
|
---|
Gérez les permissions du dossier de média :
cd $INSTALL_PATH/chimere/mychimere_project
chown -R user:www-data media
chmod -R g+w media
Créez le fichier de log :
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/
Regroupez les fichiers static dans un seul répertoire :
cd $INSTALL_PATH/chimere/mychimere_project
./manage.py collectstatic
Compilation des langages¶
Si votre langage est disponible dans le dossier chimere/locale/, il est juste nécessaire de le compiler. Pour faire cela, il faut lancer la commande suivante (ici, fr est pour le français, remplacez cela avec le code de langage approprié) :
cd $INSTALL_PATH/chimere/chimere/
django-admin compilemessages -l fr
Si votre langage n’est pas disponible, n’hésitez pas à créer le fichier po par défaut et à le proposer (les contributions sont bienvenues). La procédure est explicité ci-dessous.
Il est d’abord nécessaire de créer le fichier po par défaut (bien sûr remplacez fr par le code du langage que vous souhaitez créer) :
django-admin makemessages -l fr
Il doit y avoir maintenant un fichier django.po dans le répertoire locale/fr/LC_MESSAGES. Ensuite il faut le compléter avec votre traduction.
Une fois le votre fichier de traduction complété, il suffit de le compiler de la même manière que vous l’auriez fait si ce fichier était initialement disponible.
Initialisation de la base de données¶
Créez les tables de la base de données (toujours dans le répertoire de votre projet) :
cd $INSTALL_PATH/chimere/mychimere_project
./manage.py syncdb
Vous aurez à rentrer les informations pour la création du compte administrateur (les pages d’administration se trouvent à l’adresse : http://where_is_chimere/admin/). Ensuite pour créer les tables de la base de données gérées par Django-South :
./manage.py migrate
La base de données est en place, félicitations !
Vous pouvez alors charger les permissions poar défaut pour les groupes (c’est au minimum un bon départ) :
./manage.py loaddata ../chimere/fixtures/auth_group.json
Si vous voulez remplir votre installation avec des données par défaut (ne le faites pas sur une instance de Chimère contenant déjà des données !) :
./manage.py loaddata ../chimere/fixtures/default_data.json
Configuration du serveur web¶
Configuration d’Apache avec mod_wsgi¶
Installez mod_wsgi pour Apache :
apt-get install libapache2-mod-wsgi
Créez et éditez la configuration de Chimère en fonction de votre installation
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
# créer le répertoire des logs
mkdir /var/log/apache2/chimere/
chown www-data /var/log/apache2/chimere/
Adaptez les fichiers mydjango.wsgi (avec le nom correct pour le module) et le fichier chimere de Apache (avec le nom de serveur correct et les chemins corrects).
Pour activer le site web, rechargez Apache :
a2ensite chimere
/etc/init.d/apache2 reload
Si vous avez des problèmes de dépôt de fichier avec des caractères Unicode dans leurs noms, activez la locale appropriée dans Apache. Sur un serveur Debian avec UTF-8 comme codage par défaut, dans le fichier /etc/apache2/envvars décommentez la ligne suivante :
. /etc/default/locale
Configurer le framework Sites¶
Le framework Sites vous permet de servir le contenu pour différents domaines Internet. La plupart des installations serviront le contenu pour un seul domaine mais ce domaine unique doit être configuré.
Pour cela allez dans les pages web d’administration Sites > Sites. Vous avez juste à changer example.com par votre nom de domaine. Si vous oubliez de faire cela, quelques fonctionnalités comme les flux RSS ne fonctionneront pas correctement.