Outils pour utilisateurs

Outils du site


admin:services:mobilizon.chapril.org

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
admin:services:mobilizon.chapril.org [2021/08/19 13:45] – retapage de plein de choses tykaynadmin:services:mobilizon.chapril.org [2023/01/07 17:54] (Version actuelle) – Lancement local du serveur sagotgej
Ligne 1: Ligne 1:
-====== Mobilizon Chapril ====== Un logiciel fédéré pour organiser des évènements. +====== Mobilizon Chapril ====== 
-[[https://mobilizon.Chapril.org/]]+Un logiciel fédéré pour organiser des évènements. 
 +[[https://mobilizon.chapril.org/]]
  
-Anim'sys: +{{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}}
-Philippe et Tykayn.+
  
-{{https://www.Chapril.org/sites/v2.Chapril.org/IMG/arton45.jpg|screenshot}}+<nspages .:mobilizon.chapril.org: -simpleList -h1>
  
 ====== Ressources ====== ====== Ressources ======
Ligne 11: Ligne 11:
 Outils du Chapril : Outils du Chapril :
  
-* [[https://icinga.Chapril.org/icingaweb2/search?q=Mobilizon|Suivi Icinga]] +    * [[https://icinga.chapril.org/icingaweb2/search?q=Mobilizon|Suivi Icinga]] 
-* [[https://agir.april.org/projects/mobilizon-Chapril-org/issues?set_filter=1&tracker_id=2|tickets en cours sur Agir]]+    * [[https://agir.april.org/projects/mobilizon-Chapril-org/issues?set_filter=1&tracker_id=2|tickets en cours sur Agir]]
  
 __Dépots sources utilisés :__ __Dépots sources utilisés :__
  
-* Outils https://forge.april.org/Chapril/mobilizon.Chapril.org-tools +    * Outils https://forge.april.org/Chapril/mobilizon.chapril.org-tools 
-* Source de l'instance Chapril https://forge.april.org/Chapril/mobilizon.Chapril.org-Mobilizon +    * Source de l'instance Chapril https://forge.april.org/Chapril/mobilizon.chapril.org-Mobilizon 
-* Dépot upstream: https://framagit.org/framasoft/mobilizon+    * Dépot upstream: https://framagit.org/framasoft/mobilizon
  
-====== Documentation d'installation ====== ====== Installation de Mobilizon ====== Cette page +====== Installation ======
-concerne :[[admin:services:Mobilizon.Chapril.org|le service Mobilizon]]+
  
-copiée depuis [[https://docs.joinMobilizon.org/administration/install/|la doc de joinMobilizon.org]]+<note warning> 
 +**En travaux** La documentation de l'installation de Mobilizon est en cours de mise à jour pour mieux refléter l'installation réalisée par Chapril. La page  
 +[[admin:services:mobilizon.chapril.org:installation|Installation de mobilizon]] sera supprimée à l'issue de ce chantier. 
 +</note>
  
-Mobilizon est installée sur la VM Debian nommée **biliz.cluster.Chapril.org**+L'installation pas à pas est détaillée sur [[https://docs.joinMobilizon.org/administration/install/|la doc de joinMobilizon.org]]. Vous trouverez **ci-dessous les étapes d'installations spécifiques à Chapril**.
  
-== Pré-requis ==+===== Pré-requis =====
  
-    - Une machine Linux avec accès root +    - Mobilizon doit être installé sur la VM Debian nommée **biliz.cluster.chapril.org** sur laquelle on dispose de l'accès root 
-    - Un nom de domaine (ou sous-domaine) pour le serveur Mobilizon, par exemple votre-domaine-Mobilizon.com +    - Le domaine choisi pour le service Mobilizon est [[https://mobilizon.chapril.org/|mobilizon.chapril.org]] 
-    - Un serveur SMTP pour l'envoi de courriers électroniques+    - L'envoi de mails depuis la VM est [[https://admin.chapril.org/admin/procedures/installation_postfix_satellite|réalisé en mode satellite]]
  
-== Dépendances ==+===== Installation locale des dépendances ===== 
 + 
 +L'ajout d'un thème au projet Mobilizon nécéssite l'installation depuis la [[https://framagit.org/framasoft/mobilizon/|source du projet]]. 
 + 
 +Il a été décidé de **compiler le projet en local** (sur votre machine) avant de publier les binaires en production. 
 + 
 +==== Elixir ==== 
 + 
 +Mobilizon utilise le [[https://elixir-lang.org/|langage de programmation Elixir]] côté serveur. Vous devez installer la **version 1.11 au minimum**. Il n'est pas possible d'utiliser la version fournie par Debian 11 (1.10.3) car nous avons besoin de fonctions introduites dans la version 1.11 d'Elixir, comme [[https://hexdocs.pm/elixir/main/Config.html#config_env/0|config_env]] 
 + 
 +Installons la dernière version de Elixir (1.14.1) depuis la source sur notre machine locale: 
 + 
 +    sudo apt install erlang build-essential curl unzip openssl git cmake file 
 +    wget https://codeload.github.com/elixir-lang/elixir/tar.gz/refs/tags/v1.14.1 -O elixir-1.14.1.tar.gz 
 +    tar zxf elixir-1.14.1.tar.gz 
 +    cd elixir-1.14.1 
 +    make -j$(nproc --ignore=1) 
 +    sudo make install 
 + 
 +<note tip> 
 +Si wget n'est pas déjà installé sur votre machine: 
 + 
 +    sudo apt install wget 
 +</note> 
 + 
 +==== NodeJS ==== 
 + 
 +La version 14 de NodeJS est requise. La version 12 est disponible dans Debian 11, c'est pourquoi nous allons installer la version LTS [[https://nodejs.org/en/|depuis le site officiel]] 
 + 
 +    wget https://nodejs.org/dist/v18.12.1/node-v18.12.1-linux-x64.tar.xz 
 +    sudo tar --directory=/usr/local/ --strip-components=1 -Jxvf $PWD/node-v18.12.1-linux-x64.tar.xz 
 + 
 +=== Yarn === 
 +Mobilizon utilise le gestionnaire de dépendances [[https://yarnpkg.com/|Yarn]] au lieu de NPM (le défaut). Il faut donc installer Yarn via: 
 + 
 +    npm install -g yarn 
 + 
 +==== PostgreSQL ==== 
 + 
 +PostgreSQL n'est pas requis pour la compilation de Mobilizon, mais avoir une base de données en local permet de tester l'application sur votre machine avant de la publier en production. 
 + 
 +L'extension [[https://postgis.net/|Postgis]] de PostgreSQL est requise afin de localiser les évènements de Mobilizon 
 + 
 +    sudo apt install postgresql postgresql-contrib 
 +    sudo apt install --install-recommends postgis 
 +    sudo systemctl start postgresql 
 + 
 +===== Compilation locale de Mobilizon ===== 
 + 
 +Maintenant que nous avons installé localement toutes les dépendances, nous allons compiler puis tester Mobilizon. La première étape consiste à récupérer les sources du projet. Ici, nous installons la version 3.0.3: 
 + 
 +==== Récupération du code source ==== 
 + 
 +<note important>Pour l'instant, on récupère le code source depuis le dépôt Framasoft. Une fois que le thème Chapril aura été appliqué au code source, il faudra récupérer le code source depuis la [[https://forge.april.org/Chapril/mobilizon.chapril.org-mobilizon.git|forge de l'April]] 
 +</note> 
 + 
 +    git clone https://framagit.org/framasoft/mobilizon.git 
 +    cd mobilizon 
 +    git checkout 3.0.3 
 + 
 + 
 +==== Compilation du serveur ==== 
 + 
 +<note tip> 
 +Lors du téléchargement des dépendances Elixir, mix va vous demander si vous souhaitez installer Hex et Rebar3. Répondez oui :-) 
 +</note> 
 + 
 +    # Téléchargement des dépendances Elixir du projet 
 +    mix deps.get 
 +    # Compilation du serveur Mobilizon 
 +    MIX_ENV=prod mix compile 
 + 
 +==== Compilation du client ==== 
 + 
 +Nous allons nous rendre dans le répertoire js/ (situé dans le dossier du dépôt mobilizon clôné précédemment) pour installer les dépendances et compiler le client web 
 + 
 +    cd js 
 +    yarn install 
 +    yarn run build 
 +    cd .. 
 + 
 +==== Test local de l'application Mobilizon ==== 
 + 
 +Pour tester l'application Mobilizon qu'on vient de construire, il va nous falloir une configuration locale de Mobilizon et une base de données locale PostgreSQL. 
 + 
 + 
 +=== Installation de PostgreSQL === 
 + 
 +    sudo apt install postgresql postgresql-contrib 
 +    sudo apt install --install-recommends postgis 
 +    sudo systemctl --now enable postgresql 
 + 
 +=== Génération de la configuration locale de Mobilizon === 
 + 
 +Commençons par générer la configuration locale avec le CLI de Mobilizon: 
 + 
 +    MIX_ENV=prod mix mobilizon.instance gen 
 + 
 +Indiquez ''localhost'' en tant qu'hôte, ''Test Mobilizon Local'' pour le nom d'instance et utilisez les paramètres par défaut pour le reste des paramètres. 
 + 
 +Cette commande a généré deux fichiers. Le premier, ''config/runtime.exs'' contient la configuration du serveur. On y trouve entre autres l'URL du serveur, le compte de l'utilisateur PostgreSQL, des informations sur l'instance, le compte mail. 
 + 
 +Le second fichier, ''setup_db.psql'' contient les instructions PostgreSQL pour créer la base de données et le compte PostgreSQL d'après les arguments passés à la commande ''mix mobilizon.instance gen'' 
 + 
 +=== Création de l'utilisateur PostgreSQL pour mobilizon === 
 + 
 +Lancer le script SQL généré lors de l'étape précédente avec l'utilisateur ''postgres'' (admin de la base de données PostgreSQL): 
 + 
 +    sudo -u postgres psql -f setup_db.psql 
 + 
 +=== Initialisation de la base de données Mobilizion === 
 + 
 +Il faut maintenant initialiser le schéma de la base de données avec la commande suivante: 
 + 
 +    MIX_ENV=prod mix ecto.migrate 
 + 
 +=== Lancement du serveur === 
 + 
 +Tout est prêt pour pouvoir lancer localement le serveur localement: 
 + 
 +    MIX_ENV=prod mix phx.server 
 + 
 +Voici ce que vous devriez obtenir en ouvrant le site web ''localhost:4000'': 
 + 
 +{{:admin:services:mobilizon_instance_locale_test.png?direct&1920|}} 
 + 
 +On a maintenant vérifié localement que tout fonctionne. Il faut dorénavant pousser le logiciel compilé vers le serveur ainsi que ses dépendances. 
 + 
 +<note warning>Fin du nouveau manuel d'installation en travaux</note>
  
 Mobilizon nécessite entre autres Elixir, NodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs Mobilizon nécessite entre autres Elixir, NodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs
Ligne 46: Ligne 176:
 Pour installer une version correcte de node, référez vous à cette doc: Pour installer une version correcte de node, référez vous à cette doc:
 https://github.com/nodesource/distributions/blob/master/README.md#table-of-contents https://github.com/nodesource/distributions/blob/master/README.md#table-of-contents
- 
-<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 : Nous allons utiliser un utilisateur de Mobilizon dédié avec /home/mobilizon home :
  
-    sudo adduser --disabled-login Mobilizon +    sudo adduser --disabled-login mobilizon
- +
-Conseil+
  
 Alors connectons-nous en tant qu'utilisateur : Alors connectons-nous en tant qu'utilisateur :
  
-    sudo -i -u Mobilizon+    sudo -i -u mobilizon
  
 Commençons par cloner le dépôt dans un répertoire nommé live : Commençons par cloner le dépôt dans un répertoire nommé live :
  
-    git clone https://framagit.org/framasoft/mobilizon /srv/mobilizon.Chapril.org/live && cd /srv/mobilizon.Chapril.org/live+    git clone https://framagit.org/framasoft/mobilizon /srv/mobilizon.chapril.org/live && cd /srv/mobilizon.chapril.org/live
  
 == Installer des dépendances == == Installer des dépendances ==
Ligne 73: Ligne 195:
     mix deps.get     mix deps.get
  
-= Note =+<note tip> 
 +Lorsqu'on vous demande "Dois-je installer Hex ? ou Dois-je installer Rebar3 ?", appuyez sur la touche entrée pour confirmer. 
 +</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 Compiler ensuite ces dépendances et Mobilizon (cela peut prendre quelques minutes et peut produire toutes sortes
Ligne 124: Ligne 246:
 Revenons à notre utilisateur de Mobilizon : Revenons à notre utilisateur de Mobilizon :
  
-    sudo -i -u Mobilizon +    sudo -i -u mobilizon 
  
 <note important>Avertissement <note important>Avertissement
Ligne 141: Ligne 263:
  
 Vous devrez le refaire après la plupart des mises à jour. Voir la section dédiée aux mises à jour. Vous devrez le refaire après la plupart des mises à jour. Voir la section dédiée aux mises à jour.
- 
-== Conseil == 
- 
 Si certaines migrations échouent, cela signifie probablement que vous n'utilisez pas une version suffisamment récente de 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. PostgreSQL, ou que vous n'avez pas installé les extensions requises.
Ligne 185: Ligne 304:
 Connectez-vous à nouveau en tant qu'utilisateur du système de Mobilizon : Connectez-vous à nouveau en tant qu'utilisateur du système de Mobilizon :
  
-    sudo -i -u Mobilizon+    sudo -i -u mobilizon
  
 Créer un nouvel utilisateur pour administrer votre instance Mobilizon : Créer un nouvel utilisateur pour administrer votre instance Mobilizon :
Ligne 200: Ligne 319:
     mix Mobilizon.users.new --help     mix Mobilizon.users.new --help
  
-Vous pouvez maintenant vous connecter avec vos identifiants sur https://mobilizon.Chapril.org+Vous pouvez maintenant vous connecter avec vos identifiants sur https://mobilizon.chapril.org
 et découvrir Mobilizon. N'hésitez pas à consulter également la documentation de configuration. et découvrir Mobilizon. N'hésitez pas à consulter également la documentation de configuration.
  
Ligne 226: Ligne 345:
  
 ====== Mise à jour de la version Chapril Mobilizon ====== ====== Mise à jour de la version Chapril Mobilizon ======
 +
 +<note warning>
 +**TODO** Section à déplacer et fusionner dans la page 
 +[[admin:services:mobilizon.chapril.org:upgrade|Mise à jour de la version chapril mobilizon]] déjà existante.
 +</note>
  
 Pour fusionner les avancées de l'upstream de framagit avec la branche Chapril, il nous faut fusionner les modifications publiées dans le tag le plus récent. Pour fusionner les avancées de l'upstream de framagit avec la branche Chapril, il nous faut fusionner les modifications publiées dans le tag le plus récent.
Ligne 278: Ligne 402:
  
     su Mobilizon     su Mobilizon
-    cd /srv/mobilizon.Chapril.org/live+    cd /srv/mobilizon.chapril.org/live
     git checkout Chapril     git checkout Chapril
     git pull --tags origin && git pull origin chapril     git pull --tags origin && git pull origin chapril
Ligne 299: Ligne 423:
 - Remettre l'utilisateur mobilizon comme owner des fichiers. - Remettre l'utilisateur mobilizon comme owner des fichiers.
  
-    chown -R mobilizon:mobilizon /srv/mobilizon.Chapril.org/live+    chown -R mobilizon:mobilizon /srv/mobilizon.chapril.org/live
  
  
Ligne 311: Ligne 435:
  
     - si c'est bon, interrompre la lecture du journal d'erreurs: Ctrl + C.     - si c'est bon, interrompre la lecture du journal d'erreurs: Ctrl + C.
-    - vérifier le frontend sur https://mobilizon.Chapril.org , nécessite un vidage de votre cache navigateur (ctrl + R)+    - vérifier le frontend sur https://mobilizon.chapril.org , nécessite un vidage de votre cache navigateur (ctrl + R)
 - Communiquer la fin de mise à jour sur les canaux qui vont bien. - Communiquer la fin de mise à jour sur les canaux qui vont bien.
  
 ====== Personnaliser Mobilizon ====== ====== Personnaliser Mobilizon ======
 +
 +<note warning>
 +**TODO** Section à déplacer et fusionner dans la page [[admin:services:mobilizon.chapril.org:personnalisation|Personnaliser Mobilizon]] déjà existante.
 +</note>
 ===== Avancement ===== ===== Avancement =====
 ==== Choses faites ==== ==== Choses faites ====
Ligne 328: Ligne 456:
 ==== Prévues ==== ==== Prévues ====
  
-- rien de plus pour le moment que ce qui est en production sur https://mobilizon.Chapril.org+- rien de plus pour le moment que ce qui est en production sur https://mobilizon.chapril.org
  
 ===== Elements de personnalisation ===== ===== Elements de personnalisation =====
Ligne 334: Ligne 462:
  
 Changer le texte de présentation de l'instance: Changer le texte de présentation de l'instance:
-https://mobilizon.Chapril.org/settings/admin/settings+https://mobilizon.chapril.org/settings/admin/settings
 nom de l'instance, slogan, description courte, description longue, lien vers les CGU du Chapril. nom de l'instance, slogan, description courte, description longue, lien vers les CGU du Chapril.
-https://www.Chapril.org/cgu.html+https://www.chapril.org/cgu.html
  
 ne pas oublier d'enregistrer. ne pas oublier d'enregistrer.
Ligne 343: Ligne 471:
 instances: https://instances.joinMobilizon.org instances: https://instances.joinMobilizon.org
  
-====== Comment personnaliser ====== ===== changer les images ===== Les images par défaut des évènements créé sans avoir+====== Comment personnaliser ======  
 +===== changer les images =====  
 +Les images par défaut des évènements créé sans avoir
 uploadé d'affiche ont une image par défaut que l'on peut changer. Pareillement pour le favicon et le logo dans la barre uploadé d'affiche ont une image par défaut que l'on peut changer. Pareillement pour le favicon et le logo dans la barre
 de navigation. de navigation.
Ligne 376: Ligne 506:
 des filewatcher inode. des filewatcher inode.
  
-===== Dépot de sources ===== On a une version personnalisée de Mobilizon, mise à disposition sur la forge +===== Dépot de sources =====  
-https://forge.april.org/Chapril/mobilizon.Chapril.org+On a une version personnalisée de Mobilizon, mise à disposition sur la forge 
 +https://forge.april.org/Chapril/mobilizon.chapril.org
  
 Sa branche **master** est notre version personnalisée. Nous la rebasons quand nécessaire par dessus la branche master de Sa branche **master** est notre version personnalisée. Nous la rebasons quand nécessaire par dessus la branche master de
Ligne 394: Ligne 525:
 =========== Présentation sur le site =========== =========== Présentation sur le site ===========
  
-{{https://www.Chapril.org/sites/v2.Chapril.org/IMG/arton45.jpg|screenshot}}+{{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}} 
  
-<note> 
 == Organisation d'évènements – Mobilizon == == Organisation d'évènements – Mobilizon ==
- +[[https://mobilizon.chapril.org|Mobilizon.chapril.org]] est un service permettant d'organiser des évènements, préparer
- +
-[[https://mobilizon.Chapril.org|Mobilizon.Chapril.org]] est un service permettant d'organiser des évènements, préparer+
 l'avant et l'après, et de publier des infos pour les groupes que vous souhaitez gérer à plusieurs. Du plus petit l'avant et l'après, et de publier des infos pour les groupes que vous souhaitez gérer à plusieurs. Du plus petit
 anniversaire familial ou la sortie entre amis à la grande manifestation internationale, le Chapril vous permet de anniversaire familial ou la sortie entre amis à la grande manifestation internationale, le Chapril vous permet de
-réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participant-e-s.+réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participants.
  
-Découvrir+    Le code source du projet Mobilizon.chapril.org est disponible à l’adresse https://forge.april.org/explore/repos?q=Mobilizon.chapril.org et aussi à https://www.mumble.info/downloads/
  
-    Le code source du projet Mobilizon.Chapril.org est disponible à l’adresse https://forge.april.org/explore/repos?q=Mobilizon.Chapril.org et aussi à https://www.mumble.info/downloads/ 
- 
-</note> 
  
 ----------------------- -----------------------
Ligne 415: Ligne 541:
 == suivi de bugs == == suivi de bugs ==
  
-bugs détectés sur Mobilizon.Chapril.org et ouvert sur la forge upstream+Bugs détectés sur Mobilizon.chapril.org et ouvert sur la forge upstream
  
 https://framagit.org/framasoft/mobilizon/-/issues/529 https://framagit.org/framasoft/mobilizon/-/issues/529
admin/services/mobilizon.chapril.org.1629380709.txt.gz · Dernière modification : 2021/08/19 13:45 de tykayn