Outils pour utilisateurs

Outils du site


services:mobilizon.chapril.org:installation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
services:mobilizon.chapril.org:installation [2026/04/11 17:40] – supprimée - modification externe (Date inconnue) 127.0.0.1services:mobilizon.chapril.org:installation [2026/04/11 17:40] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. pitchum
Ligne 1: Ligne 1:
 +====== Installation de mobilizon ======
 +Cette page concerne :[[services:mobilizon.chapril.org|le service Mobilizon]]
  
 +copiée depuis la doc de joinmobilizon.org
 +https://docs.joinmobilizon.org/administration/
 +
 +Mobilizon est installée sur la VM biliz.cluster.chapril.org
 +
 +== Docker ==
 +
 +L'installation de production de Docker est maintenant en statut alpha. Voir Docker.
 +Pré-requis
 +
 +    Une machine Linux avec accès à la racine
 +    Un nom de domaine (ou sous-domaine) pour le serveur Mobilizon, par exemple votre-domaine-mobilizon.com
 +    Un serveur SMTP pour l'envoi de courriers électroniques
 +
 +== Dépendances == 
 +
 +Mobilizon nécessite entre autres Elixir, NodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs dépôts officiels plutôt que les paquets de votre distribution.
 +
 +Versions recommandées :
 +
 +    Elixir 1.8 et plus
 +    NodeJS 12+
 +    PostgreSQL 11+
 +
 +<note important>Important
 +
 +L'installation des dépendances dépend du système que vous utilisez. Suivez les étapes du guide des dépendances et revenez à cette page lorsque vous aurez terminé.</note>
 +Configuration
 +
 +Nous allons utiliser un utilisateur de mobilizon dédié avec /home/mobilizon home :
 +
 +    sudo adduser --disabled-login mobilizon
 +
 +Conseil
 +
 +== Sur FreeBSD ==
 +
 +    sudo pw useradd -n mobilizon -d /home/mobilizon -s /usr/local/bin/bash -m 
 +    sudo passwd mobilizon
 +
 +
 +Alors connectons-nous en tant qu'utilisateur :
 +
 +    sudo -i -u mobilizon
 +
 +Commençons par cloner le dépôt dans un répertoire nommé live :
 +
 +    git clone https://framagit.org/framasoft/mobilizon live && cd live
 +
 +== Installer des dépendances ==
 +
 +Installer les dépendances de l'Elixir
 +
 +    mix deps.get
 +
 += Note =
 +
 +Lorsqu'on vous demande "Dois-je installer Hex ? ou Dois-je installer Rebar3 ?", appuyez sur la touche  entrée pour confirmer.
 +
 +Compiler ensuite ces dépendances et Mobilizon (cela peut prendre quelques minutes et peut produire toutes sortes d'avertissements, tels que des problèmes de dépréciation)
 +
 +    MIX_ENV=prod mix compile
 +
 +Allez dans le répertoire js/
 +
 +    cd js
 +
 +et installer les dépendances Javascript
 +
 +    yarn install
 +
 +Enfin, nous pouvons construire le frontal (cela peut prendre quelques secondes).
 +
 +<note important>Avertissement
 +
 +Le frontal du bâtiment peut consommer jusqu'à 2048 Mo de RAM par défaut. Si c'est trop ou pas assez pour votre configuration, vous pouvez ajuster la mémoire maximale utilisée en préfixant la commande avec l'option suivante :
 +
 +    NODE_BUILD_MEMORY=1024
 +
 +ce qui donne
 +    NODE_BUILD_MEMORY=1024 yarn build
 +
 +</note>
 +
 +
 +
 +Revenons au répertoire principal
 +
 +    cd ../
 +
 +== Configuration ==
 +
 +Mobilizon fournit un outil en ligne de commande pour générer la configuration
 +
 +    MIX_ENV=prod mix mobilizon.instance gen
 +
 +Vous devrez alors répondre à des questions sur votre configuration et votre instance pour générer un fichier prod.secret.exs dans le dossier config/, et un fichier setup_db.psql pour configurer la base de données.
 +Configuration de la base de données
 +
 +Le fichier setup_db.psql contient des instructions SQL pour créer un utilisateur et une base de données PostgreSQL avec les informations d'identification choisies et ajouter les extensions requises à la base de données Mobilizon.
 +
 +Quittez l'exécution en tant qu'utilisateur mobilizon (car il ne devrait pas avoir les droits root/sudo) et exécutez dans le répertoire /home/mobilizon/live :
 +
 +    sudo -u postgres psql -f setup_db.psql
 +
 +Il devrait produire quelque chose du genre :
 +
 +CRÉER UN RÔLE
 +CRÉER UNE BASE DE DONNÉES
 +Vous êtes maintenant connecté à la base de données "mobilizon_prod" en tant qu'utilisateur "postgres".
 +CRÉER L'EXTENSION
 +CRÉER UNE EXTENSION
 +CRÉER UNE EXTENSION
 +
 +Revenons à notre utilisateur de mobilizon :
 +
 +    sudo -i -u mobilizon
 +    cd en direct
 +
 +<note important>Avertissement
 +
 +Lorsque cela est fait, n'oubliez pas de supprimer le fichier **setup_db.psql**.
 +Migration de la base de données</note>
 +
 +Effectuer des migrations de bases de données :
 +
 +    MIX_ENV=prod mix ecto.migrate
 +
 +Note
 +
 +Notez le préfixe de la variable d'environnement MIX_ENV=prod devant la commande. Vous devrez l'utiliser pour chaque commande de mixage à partir de maintenant.
 +
 +Vous devrez le refaire après la plupart des mises à jour.
 +
 +Conseil
 +
 +Si certaines migrations échouent, cela signifie probablement que vous n'utilisez pas une version suffisamment récente de PostgreSQL, ou que vous n'avez pas installé les extensions requises.
 +Services
 +
 +Nous pouvons arrêter d'utiliser l'utilisateur de mobilizon à nouveau.
 +Systemd
 +
 +Copiez le fichier support/systemd/mobilizon.service dans /etc/systemd/system.
 +
 +sudo cp support/systemd/mobilizon.service /etc/systemd/system/
 +
 +Rechargez Systemd pour détecter votre nouveau dossier
 +
 +sudo systemctl daemon-reload
 +
 +Et permettre au service
 +
 +sudo systemctl enable --now mobilizon.service
 +
 +Il fera fonctionner Mobilizon et permettra le démarrage au démarrage. Vous pouvez suivre les logs avec
 +
 +sudo journalctl -fu mobilizon.service
 +
 +Vous devriez voir quelque chose comme ça :
 +
 +Exécution de Mobilizon.Web.Endpoint avec cowboy 2.8.0 à :::4000 (http)
 +Accédez à Mobilizon.Web.Endpoint à l'adresse https://your-mobilizon-domain.com
 +
 +Le serveur Mobilizon fonctionne sur le port 4000 sur l'interface locale uniquement, vous devez donc ajouter un reverse-proxy.
 +Reverse proxy
 +Nginx
 +
 +Copiez le fichier de support/nginx/mobilizon.conf vers /etc/nginx/sites-available.
 +
 +sudo cp support/nginx/mobilizon.conf /etc/nginx/sites-available
 +
 +Ensuite, établissez un lien symbolique avec le fichier dans le répertoire /etc/nginx/sites-enabled.
 +
 +sudo ln -s /etc/nginx/sites-available/mobilizon.conf /etc/nginx/sites-enabled/
 +
 +Editez le fichier /etc/nginx/sites-available/mobilizon.conf et adaptez-le à votre propre configuration.
 +
 +Tester la configuration avec sudo nginx -t et recharger nginx avec sudo systemctl reload nginx.
 +Cryptons
 +
 +Le modèle de configuration nginx gère le défi HTTP-01 avec le plugin webroot :
 +
 +sudo mkdir /var/www/certbot
 +
 +Exécutez certbot avec (n'oubliez pas d'adapter la commande)
 +
 +sudo certbot certonly --rsa-key-size 4096 --webroot -w /var/www/certbot/ --email your@email.com --agree-tos --text --renew-hook "/usr/sbin/nginx -s reload" -d your-mobilizon-domain.com
 +
 +Adaptez ensuite la configuration nginx /etc/nginx/sites-available/mobilizon.conf en décommentant les chemins des certificats et en supprimant les blocs obsolètes.
 +
 +Terminez en testant la configuration avec sudo nginx -t et en rechargeant nginx avec sudo systemctl reload nginx.
 +
 +Vous devriez maintenant être en mesure de charger https://your-mobilizon-domain.com dans votre navigateur.
 +Création de votre premier utilisateur
 +
 +Connectez-vous à nouveau en tant qu'utilisateur du système de mobilisation :
 +
 +sudo -i -u mobilizon
 +cd en direct
 +
 +Créer un nouvel utilisateur :
 +
 + MIX_ENV=prod mix mobilizon.users.new "your@email.com" --admin --password "Y0urP4ssw0rd"
 +
 +Danger
 +
 +N'oubliez pas de préfixer la commande par un espace vide afin que le mot de passe choisi ne soit pas conservé dans l'historique de votre shell.
 +
 +Conseil
 +
 +Vous pouvez ignorer l'option --password et Mobilizon en générera un pour vous.
 +
 +Voir la documentation complète pour cette commande.
 +
 +Vous pouvez maintenant vous connecter avec vos identifiants et découvrir Mobilizon. N'hésitez pas à consulter également la documentation de configuration.
 +Tâches suggérées
 +Configurer les courriels
 +
 +La configuration par défaut de Mobilizon suppose qu'un serveur SMTP local est disponible sur le même serveur. Pour adapter cette configuration à votre propre configuration, consultez cette page.
 +Configurer l'authentification tierce
 +
 +Mobilizon peut utiliser les fournisseurs de connexion basés sur LDAP ou OAuth (Facebook, Google, etc.) pour aider à l'enregistrement ou à la connexion des utilisateurs. La configuration peut être trouvée ici.
 +Configurer les géocodeurs
 +
 +Cela permettra au champ de saisie automatique des adresses de fournir des adresses lors de la modification d'un événement. La valeur par défaut utilise le fournisseur Nominatim d'OpenStreetMap mais vous pouvez la changer pour le fournisseur de votre choix.
 +
 +Note :
 +
 +Lorsque vous utilisez le fournisseur Nominatim par défaut d'OpenStreetMap, l'autocomplétion est désactivée et l'utilisation du service implique que vous acceptez leur politique d'utilisation.
 +Bases de données de géolocalisation
 +
 +Mobilizon peut utiliser la géolocalisation à partir de données au format MMDB provenant de sources telles que les bases de données MaxMind GeoIP ou db-ip.com. Cela permet de montrer les événements se déroulant à proximité de l'endroit où se trouve l'utilisateur.
 +
 +Vous devrez télécharger la base de données City et la placer dans priv/data/GeoLite2-City.mmdb. Terminez en redémarrant le service de mobilisation.
 +
 +Mobilizon n'affichera un avertissement au démarrage que si la base de données est manquante, mais ce n'est pas obligatoire.
 +
 +(fin de la section installation)