Installation¶
L’installation décrite ci-dessous vaut pour une ubuntu server 13.10. Dans le cas d’un autre système d’exploitation veuillez adapter les commandes ci-dessous.
Prérequis¶
Il faut avoir un accès en lecture pour apogée pour la liste des tables suivantes : .....
Et un accès en écriture sur les tables OPI.
Toutes les commandes ci-dessous se font en tant qu’utilisateur normale. Il faut donc tenir compte des sudo pour les commandes en temsp que superutilisateur, et sans le sudo pour les commandes en tant qu’utilisateur normal.
Avertissement
L’installation du virtualenv ne doit pas se faire en tant que root pour des raisons de sécurité. De plus pour tous les paquets pythons, il faut passer par le gestionnaire pip et non par le gestionnaire de paquet du système.
Commandes¶
Installation de pip :
sudo apt-get install python-setuptools sudo easy_install pip
Installation de virtualenv
sudo pip install virtualenv
Création du virtualenv
mkdir .Envs cd .Envs virtualenv django_projet
Pour rappel : VirtualEnv permet de faire une genre de sandbox pour les applications pythons. Pour activer le virtualenv
source ~/.Envs/django_projet/bin/activate
Installation de postgresql
sudo apt-get install postgresql libpq-dev
Configuration de postgresql
sudo -i -u postgres createuser -P mon_utilisateur createdb -O mon_utilisateur -E UTF8 ma_database exit
mon_utilisateur et ma_database serviront pour la connexion à la base postgresql
installation du connecteur python
sudo apt-get install python-dev source ~/.Envs/django_projet/bin/activate pip install psycopg2
Modifier votre fichier /etc/postgresql/x.x/main/pg_hba.conf et modifier la ligne local en remplacant peer par indent
sudo service postgresql restart
Installation d’instant client d’oracle:
Télécharger sur http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html la version 11.2 de instant client (nécessite la création d’un compte) Deux zip à télécharger : instantclient-basic-linux.ARCH.Version.zip et instantclient-sdk-linux.ARCH.Version.zip Il faut d’abord créer un compte. http://download.oracle.com/otn/linux/instantclient/11204/instantclient-basic-linux.x64-11.2.0.4.0.zip http://download.oracle.com/otn/linux/instantclient/11204/instantclient-sdk-linux.x64-11.2.0.4.0.zip une fois les zips téléchargés et uploader sur le serveur:
sudo mv instantclient-basic-linux.x64-11.2.0.4.0.zip /opt sudo mv instantclient-sdk-linux.x64-11.2.0.4.0.zip /opt sudo apt-get install unzip cd /opt sudo unzip instantclient-basic-linux.x64-11.2.0.4.0.zip sudo unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip sudo rm instantclient-basic-linux.x64-11.2.0.4.0.zip sudo rm instantclient-sdk-linux.x64-11.2.0.4.0.zip cd instantclient_11_2/ sudo ln -s libclntsh.so.11.1 libclntsh.so sudo ln -s libocci.so.11.1 libocci.so
ensuite rajouté dans le .bashrc de son user
export ORACLE_HOME=/opt/instantclient_11_2 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
puis
source ~/.bashrc sudo apt-get install libaio1
installation de cx_oracle
source ~/.Envs/django_projet/bin/activate pip install cx_oracle
si besoin (des fois pypi ne fonctionne pas très bien)
pip install cx_oracle --allow-external cx-oracle --allow-unverified cx-oracle
ajout de django_apogee
sudo apt-get install git source ~/.Envs/django_projet/bin/activate pip install git+https://github.com/fsx999/django_apogee.git
test de l’installation
cd ~ mkdir projet cd projet django-admin.py startproject test_projet cd test_projet chmod +x manage.py
on peut installer django-extensions et ipython pour améliorer la console de django
pip install django-extensions pip install ipython
configuration du settings.py
# après INSTALLED_APPS INSTALLED_APPS += ( 'django_extensions', 'django_apogee', ) # La connexion aux bases de donnée DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'ma_base', 'USER': 'mon_utilisateur', 'PASSWORD': 'mon_password!', 'HOST': 'localhost', # Important pour postgresql 'PORT': '', }, 'oracle': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'nom_de_la_base_oracle_apogee', 'USER': 'utlisateur', 'PASSWORD': 'password', 'HOST': 'url_serveur_oracle', 'PORT': 'port_oracle', }, }
./manage.py syncdb ./manage.py migrate
Test connexion¶
./manage.py test_connexion_apogeesi le test de connexion fonctionne, passez à la suite : Initialisation de la base