Installation de Diacamma sur serveur Linux Ubuntu/Debian

Installation de Diacamma


Prérequis

Avoir un serveur PostgreSQL installé et configuré avec une base de données créée et vide (DB diacamma).
Installer PostgreSQL et les bibliothèques spécifiques suivantes :

sudo apt-get install postgresql python-psycopg2 libpq-dev libssl-dev
Créer la base de données

Connexion à l’utilisateur postgres et à l’invite de commande PostgreSQL.

sudo -i -u postgres
sudo psql

Sur l’invite de commande de PostgreSQL (« postgres=# » est l’invite de commande, il ne faut pas le retaper), création d’un utilisateur « diacamma » et attribution de droits de création de DB.

postgres=# CREATE USER diacamma;
postgres=# ALTER ROLE diacamma WITH CREATEDB;

Création de la base de données « diacamma » associée à l’utilisateur « diacamma ».

postgres=# CREATE DATABASE diacamma OWNER diacamma;

Attribution d’un mot de passe à l’utilisateur pour qu’il puisse se connecter à la DB.
Bien mettre le mot de passe entre ‘ ‘.

postgres=# ALTER USER diacamma WITH ENCRYPTED PASSWORD 'mot_de_passe';

Quitter l’invite de commande PostgreSQL et vérifier la création de la DB, l’encodage doit être en UTF8.

postgres=# \q
psql -l

Se déconnecter de l’utilisateur postgres.

exit
Installation via les scripts pour linux

Télécharger les scripts d’installation / désinstallation depuis l’adresse https://download.sd-libre.fr/Diacamma_setup.tar.gz et décompresser l’archive.

wget http://www.sd-libre.fr/download/Diacamma_setup.tar.gz
tar -xf Diacamma_setup.tar.gz

Rendre les scripts exécutables.

cd Diacamma
chmod +x install.sh uninstall.sh

Lancer l’installation de Diacamma en exécutant le script install.sh

sudo ./install.sh

Installer le driver PostgreSQL pour Django.

cd /var/lucterios2/
source virtual_for_lucterios/bin/activate
pip install psycopg2
deactivate
Créer et modifier une instance

Pour créer une instance « copro », activer les modules nécessaires et configurer la base de données PostgreSQL, utiliser la commande suivante.
Ne pas oublier de renseigner le mot de passe PostgreSQL.

./launch_lucterios.sh add -n copro -m "lucterios.contacts,lucterios.documents,lucterios.mailing,diacamma.condominium,diacamma.accounting,diacamma.payoff" -p diacamma.syndic -d "PostGreSQL:name=diacamma,user=diacamma,password=mot_de_passe,host=localhost"

Pour corriger une instance existante, remplacer le paramètre « add » par « modif ».

Configurer Diacamma en mode serveur

Installer l’outil Gunicorn

cd /var/lucterios2/
source virtual_for_lucterios/bin/activate
pip install gunicorn
deactivate

Ajouter les options ci-dessous dans le fichier de configuration copro/settings.py pour ne pas avoir une erreur d’hôte non autorisé et l’interface en français.

ALLOWED_HOSTS = ['192.168.1.50', 'localhost', '127.0.0.1']
LANGUAGE_CODE = 'fr'

Lancer l’instance « copro » en tâche de fond avec les commandes suivantes.

cd /var/lucterios2/
source virtual_for_lucterios/bin/activate
DJANGO_SETTINGS_MODULE='copro.settings' gunicorn lucterios.framework.wsgi --bind=127.0.0.1:8000 --daemon --timeout 120
deactivate

L’instance devrait être accessible à l’adresse locale du serveur sur le port 8000.
http://192.168.1.50:8000

6 réponses sur “Installation de Diacamma sur serveur Linux Ubuntu/Debian”

  1. Bravo pour cet article sur l’installation d’un Diacamma en mode serveur.

    Je propose en complément, un supplément pour ceux qui voudrait avoir un déploiement plus fluide et performant.
    Pour cela, je vous invite à consulter ce petit wiki: https://github.com/Lucterios2/core/wiki/S.-Lucterios-production-server

    En résumé, il est possible d’automatisé le lancement de gunicorn via l’outil « supervisor », très pratique pour simplifier les « start » et les « stop »

    De plus, en mettant Diacamma derrière un serveur web comme nginx, vous aurez la possibilité d’exposer les fichiers « statics » (comme les images et tous les fichiers pur web) en direct de façon plus optimisé.
    Vous pourrez également enlever le mode « debug » par défaut (ajouter « DEBUG=False » dans le fichier copro/settings.py) nécessaire pour gérer ses fichiers statiques.

  2. Bonjour. Excellent résumé. Mais comment stopper proprement le serveur (en ligne de commande) en sauvegardant l’état de l’instance
    Merci

  3. Merci pour cette information:
    J’ai fait la même chose avec windows 10 j’ai téléchargé et installé Diacamma :
    https://www.sd-libre.fr/download/Diacamma_setup.exe
    J’ai rajouté dans le fichier de configuration copro/settings.py
    # extra
    ALLOWED_HOSTS = [’82.XX.XXX.180′, ‘localhost’, ‘127.0.0.1’]
    LANGUAGE_CODE = « fr » sachant que :
    ’82.XX.XXX.180′ est mon adresse IP fixe de ma BOX (de chez Free)
    en faisant la redirection du port 8100 obtenu dans l’ interface de la freebox (voir le lien)
    https://www.cartelectronic.fr/blog/?p=2167
    et j’ai réussi à me connecter depuis n’importe quel ordinateur extérieur au réseau local

  4. Bonjour,

    Merci pour ce tuto.

    Est-il obligatoire s’utiliser Postgre en tant que base de donnée ?
    Notre site WordPress hébergé utilise déjà une base MySql. Je trouve dommage d’être obligé d’utiliser une autre base de données.

    Bien à vous

    1. Bonjour,
      Non ce n’est pas obligatoire et vous pouvez utiliser une base MySQL.
      Ceci-dit, j’en utilisais une avant et j’ai eu quelques problèmes de compatibilité et c’est pour cette raison que j’ai migré sur Postgre.

  5. Bonjour,
    Je tente de suivre le tuto pour installer diacama sur une VM hébergée sur ma freebox.
    Tout se passe bien jusqu »à la ligne « pip install psycopg2 »

    Je suis bien avec une invite de commande commençant par « virtual_for_lucterios » mais lors du pip install, j’ai une erreur concernant un manque de permission [Errno 13]

    si je fais l’install en sudo, je sors de l’encironnement virtuel.
    Comment faire ?
    Merci de votre aide
    Cordialement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *