Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi
  • Page :
  • 1

SUJET :

Installation manuelle Diacamma Syndic sur Ubuntu il y a 1 an 2 mois #5662

  • charleypaulus
  • Portrait de charleypaulus Auteur du sujet
  • Hors Ligne
  • COM_KUNENA_SAMPLEDATA_RANK1
  • COM_KUNENA_SAMPLEDATA_RANK1
  • Messages : 14
  • Remerciements reçus 4
Bonjour,

Je partage ici les étapes manuelles que j'ai exécutées pour installer Diacamma Syndic sur un VPS sur Ubuntu 22.04.

Ces étapes n'utilisent pas d'environnement virtuel Python (le VPS est dédié à Diacamma, par ailleurs lors de précédentes tentatives je ne parvenais à installer Qt au sein d'un venv).

Sécurisation VPS
Avant tout, une bonne pratique est de sécuriser le VPS (notamment activer un firewall).

Prérequis
Librairies Python
sudo apt install build-essential python3-dev python3-pip python3-tk python3-pil python3-pyqt5 qtbase5-dev python3-cairo
Autres librairies de base
sudo apt install libxml2 libxml2-dev libxslt1-dev libjpeg-dev libfreetype6 libfreetype6-dev libpq-dev libssl-dev zlib1g-dev libcairo2 libcairo2-dev
Librairies base de données
sudo apt install postgresql postgresql-contrib
Librairies serveur
sudo apt install gunicorn nginx

Configuration de la base de données
sudo -u postgres psql -c "CREATE USER my_db_user;"
sudo -u postgres psql -c "ALTER USER my_db_user PASSWORD 'my_db_password';"
sudo -u postgres psql -c "CREATE DATABASE my_db OWNER my_db_user;"
Note: cet utilisateur (ici my_db_user) est dédié à la base de données (et donc indépendant de l'utilisateur Linux ou de l'utilisateur Diacamma).

Installation de l'application Diacamma
Installation
pip install -U lucterios-standard diacamma-asso diacamma-syndic diacamma-pro psycopg2-binary
Ajout de Diacamma au path: ouvrir le fichier bashrc
nano .bashrc
puis ajouter cette ligne à la fin du fichier
export PATH="$PATH:$HOME/.local/bin"

Instance (syndic)
Création du dossier de travail
mkdir /home/my_linux_user/lucterios
cd /home/my_linux_user/lucterios
Définition des paramètres
OPTION='{"ALLOWED_HOSTS": ["localhost", "127.0.0.1", "www.my_site.com"], "LANGUAGE_CODE": "fr"}, "DEBUG": "False", "LOGGING": {"version": "1", "disable_existing_loggers": "True"}}'
DATABASE='postgresql:name=my_db,user=my_db_user,password=my_db_password,host=localhost'
Création de l'instance
lucterios_admin.py add -n my_diacamma_instance -p 'diacamma.syndic' -m 'lucterios.contacts,lucterios.documents,lucterios.mailing,diacamma.condominium,diacamma.accounting,diacamma.payoff' -e "$OPTION" -d $DATABASE
Définition du mot de passe administrateur
lucterios_admin.py security -n my_diacamma_instance -e "PASSWORD=my_diacamma_admin_password"
Nettoyage
python manage_my_diacamma_instance.py collectstatic --noinput -l
rm -rf my_diacamma_instance/static/pycache
rm -rf my_diacamma_instance/static/settings.py
rm -rf my_diacamma_instance/static/init.py

Web
Création d'un fichier de configuration NGinx
sudo nano /etc/nginx/sites-available/lucterios
Avec le contenu suivant:
server {
listen      80;
server_name www.my_site.com;
return 301 https://www.my_site.com/;
}

server {
listen      443;
server_name www.my_site.com;
charset     utf-8;
access_log /var/log/nginx/www.my_site.com.access.log;
error_log  /var/log/nginx/www.my_site.com.error.log;
root /home/my_linux_user/lucterios/;

client_max_body_size 100M;

gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/x-javascript application/xml application/json application/pdf;

fastcgi_buffers  16 16k;
fastcgi_buffer_size  32k;

location = /index.html {
return 301 $scheme://$host;
}

location /web/ {
    alias /home/my_linux_user/lucterios/my_diacamma_instance/static/lucterios.framework/web/;
}

location /static/ {
    alias /home/my_linux_user/lucterios/my_diacamma_instance/static/;
}

location / {
proxy_pass http://127.0.0.1:8100;
proxy_read_timeout    300;
proxy_connect_timeout 300;
proxy_redirect        off;
}
}
Activtion du site
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/lucterios /etc/nginx/sites-enabled/

Sécurisation SSL:
www.digitalocean.com/community/tutorials...rypt-on-ubuntu-20-04

Changement de l'utilisateur nginx, afin que Nginx puisse accéder aux fichiers Diacamma: ouvrir ce fichier:
sudo nano /etc/nginx/nginx.conf
puis remplacer l'utilisateur nginx par:
user my_linux_user;
Redémarrage du serveur
sudo systemctl restart nginx

Service
Création d'un fichier service
sudo nano /etc/systemd/system/my_diacamma_instance.service
avec le contenu suivant:
[Unit]
Description=Diacamma Syndic
After=network.target

[Service]
User=my_linux_user
WorkingDirectory=/home/my_linux_user/lucterios
Environment="DJANGO_SETTINGS_MODULE=my_diacamma_instance.settings"
ExecStart=gunicorn lucterios.framework.wsgi --bind=127.0.0.1:8100 -w 1 --timeout 600 --access-logfile /home/my_linux_user/lucterios/access.log --error-logfile /home/my_linux_user/lucterios/error.log
Restart=always
RestartSec=30

StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target
Redémarrage du service
sudo systemctl daemon-reload
sudo systemctl enable my_diacamma_instance
Cet utilisateur a été remercié pour son message par: lag

S'il vous plaît Connexion ou Créer un compte à se joindre à la conversation.

Dernière édition: par charleypaulus.

Installation manuelle Diacamma Syndic sur Ubuntu il y a 1 an 2 mois #5665

  • lag
  • Portrait de lag
  • Hors Ligne
  • COM_KUNENA_SAMPLEDATA_RANK_ADMIN
  • COM_KUNENA_SAMPLEDATA_RANK_ADMIN
  • Messages : 2044
  • Karma: 8
  • Remerciements reçus 526
Super descriptif: claire précis, j'aurais pas fait mieux :)

S'il vous plaît Connexion ou Créer un compte à se joindre à la conversation.

Laurent
Principale contributeur (Développeur) à Diacamma
Administrateur de Sleto partenaire officiel de Diacamma : support et hébergement en ligne.
  • Page :
  • 1
Temps de génération de la page : 0.067 secondes
Propulsé par Kunena

Qui sommes nous?

Le sanglier du Libre

Association éditant le logiciel Diacamma
12 rue Marius Charles
38420 Domène
France

Partenaire

SLETO

Si vous recherchez du support ou une solution d'hébergement pour Diacamma, faite confiance à SLETO, notre partenaire officiel