Outils pour utilisateurs

Outils du site


admin:services:drop.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
admin:services:drop.chapril.org [2021/03/11 16:59] rhadmin:services:drop.chapril.org [2026/02/17 03:00] (Version actuelle) – Correction typographique fhenry2
Ligne 4: Ligne 4:
  
 Création de la VM avec la procédure [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]]. Création de la VM avec la procédure [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]].
- 
  
 ===== Préparation ===== ===== Préparation =====
  
-Pour le stockage, nous utilisons un second disque. Il est ajouté à la VM via l'interface virt-manager.+Pour le stockage, nous utilisons un second disque. 
 +Il est ajouté à la VM via l'interface ''virt-manager''.
  
 Création de la partition de stockage : Création de la partition de stockage :
 <code bash> <code bash>
-fdisk  /dev/vdb+fdisk  /dev/vdb
 </code> </code>
-Choisir n puis les choix par défaut. 
  
-Création du Volume Group et Logic Volume  :+Choisir ''n'' puis les choix par défaut. 
 + 
 +Création du //Volume Group// et //Logic Volume//  :
 <code bash> <code bash>
-pvcreate  /dev/vdb1 +pvcreate  /dev/vdb1 
-vgcreate drop-data-vg /dev/vdb1 +vgcreate drop-data-vg /dev/vdb1 
-lvcreate -L 49G -n data drop-data-vg+lvcreate -L 49G -n data drop-data-vg
 </code> </code>
  
-Création du FS et du dossier de montage :+Création du FS et du répertoire de montage :
 <code bash> <code bash>
-mke2fs -L drop -e remount-ro -m 0 /dev/mapper/drop--data--vg-data +mke2fs -L drop -e remount-ro -m 0 /dev/mapper/drop--data--vg-data 
-mkdir /var/drop/+mkdir /var/drop/
 </code> </code>
  
-Ajout dans /etc/fstab du point de montage :+Ajout dans ''/etc/fstab'' du point de montage :
 <code> <code>
 /dev/mapper/drop--data--vg-data /var/drop ext4 noexec,nosuid,nodev,errors=remount-ro 0 0 /dev/mapper/drop--data--vg-data /var/drop ext4 noexec,nosuid,nodev,errors=remount-ro 0 0
Ligne 36: Ligne 37:
 Essai de montage : Essai de montage :
 <code bash> <code bash>
-mount /var/drop/+mount /var/drop/
 </code> </code>
  
 Ajout d'un dossier pour le stockage futur des fichiers : Ajout d'un dossier pour le stockage futur des fichiers :
 <code bash> <code bash>
-mkdir /var/drop/files +mkdir /var/drop/files 
-chown -R app:app /var/drop/files+chown -R app:app /var/drop/files
 </code> </code>
  
 Installation de NodeJS et NPM : Installation de NodeJS et NPM :
 <code bash> <code bash>
-apt install -y nodejs npm+apt install -y nodejs npm
 </code> </code>
  
 Ajout d'un utilisateur pour exécuter l'application : Ajout d'un utilisateur pour exécuter l'application :
 <code bash> <code bash>
-useradd  -s /bin/false app+useradd  -s /bin/false app
 </code> </code>
- 
  
 ===== Installation ===== ===== Installation =====
Ligne 60: Ligne 60:
 Récupération du code : Récupération du code :
 <code bash> <code bash>
-mkdir /srv/drop/www +mkdir /srv/drop/www 
-chown -R app:app /srv/drop/ +chown -R app:app /srv/drop/ 
-sudo -u app git clone https://github.com/mozilla/send.git /srv/drop/www +sudo -u app git clone https://github.com/mozilla/send.git /srv/drop/www 
-cd /srv/drop/www +cd /srv/drop/www/ 
-sudo -u app git checkout v3.0.21+sudo -u app git checkout v3.0.21
 </code> </code>
  
 Récupération des dépendances et complication : Récupération des dépendances et complication :
 <code bash> <code bash>
-sudo -u app npm install +sudo -u app npm install 
-sudo -u app npm run build+sudo -u app npm run build
 </code> </code>
  
 Création du service dans ''/etc/systemd/system/drop.service'' : Création du service dans ''/etc/systemd/system/drop.service'' :
-<code>+<code ini>
 [Unit] [Unit]
 Description=drop Description=drop
Ligne 92: Ligne 92:
 Démarrage et activation du service : Démarrage et activation du service :
 <code bash> <code bash>
-systemctl start drop.service +systemctl start drop.service 
-systemctl enable drop.service+systemctl enable drop.service
 </code> </code>
  
 ===== Personnalisation ===== ===== Personnalisation =====
-À FAIRE. 
  
-==== Favicon====+<WRAP todo> 
 +À faire. 
 +</WRAP> 
 + 
 +==== Favicon ==== 
 Remplacement des fichiers suivants : Remplacement des fichiers suivants :
 <code> <code>
Ligne 108: Ligne 112:
  
 Puis : Puis :
-<code>+<code bash>
 sudo -u app npm run build sudo -u app npm run build
 systemctl restart drop systemctl restart drop
Ligne 114: Ligne 118:
  
 ==== Titre de page ==== ==== Titre de page ====
-Remplacement dans le fichier server/stats.js :+ 
 +Remplacement dans le fichier ''server/stats.js'' :
 <code> <code>
 -    title: 'Firefox Send', -    title: 'Firefox Send',
Ligne 121: Ligne 126:
  
 Puis : Puis :
-<code>+<code bash>
 sudo -u app npm run build sudo -u app npm run build
 systemctl restart drop systemctl restart drop
Ligne 128: Ligne 133:
 ==== Fichier CSS Chapril ==== ==== Fichier CSS Chapril ====
  
-L'ajout du fichier CSS Chapril est fait via le Nginx sur la vm bastion : +L'ajout du fichier CSS Chapril est fait via le Nginx sur la VM ''bastion'' 
-<code>+<code nginx>
     include /etc/nginx/chapril-banner-location;     include /etc/nginx/chapril-banner-location;
  
Ligne 144: Ligne 149:
 ==== Bannière Chapril ==== ==== Bannière Chapril ====
  
-FirefoxSend est pleinement du NodeJS, c'est à dire que les pages sont complétement générées par du Javascript. Ce code Javascript supprime supprime le code déjà existant, ce qui rend très difficile l'insertion de code de façon contrôlée. Suite à différents échecs, il a été décidé de modifier le code de FirefoxSend pour y  mettre directement le code de la bannière.+FirefoxSend est pleinement du NodeJS
 +C'est à dire que les pages sont complètement générées par du Javascript. 
 +Ce code Javascript supprime supprime le code déjà existant, ce qui rend très difficile l'insertion de code de façon contrôlée. 
 +Suite à différents échecs, il a été décidé de modifier le code de FirefoxSend pour y  mettre directement le code de la bannière.
  
-Ça se passe dans le fichier //app/ui/header.js//.+Ça se passe dans le fichier ''app/ui/header.js''.
  
-<code PHP>+<code>
    createElement() {    createElement() {
 -    const title = -    const title =
Ligne 225: Ligne 233:
      `;      `;
    }    }
- 
 </code> </code>
  
 ==== Pied de page ==== ==== Pied de page ====
  
-Ça se passe dans le fichier //app/ui/footer.js//.+Ça se passe dans le fichier ''app/ui/footer.js''.
  
 <code> <code>
Ligne 289: Ligne 296:
 ==== Encart de promo ==== ==== Encart de promo ====
  
-Ça se passe dans le fichier //app/ui/promo.js//.+Ça se passe dans le fichier ''app/ui/promo.js''.
  
 <code> <code>
Ligne 324: Ligne 331:
 </code> </code>
  
-Note : retirer le « py-3 » dans la balise « send-promo » afin de supprimer l'espace au dessus de la bannière Chapril.+<note> 
 +Retirer le ''py-3'' dans la balise ''send-promo'' afin de supprimer l'espace au dessus de la bannière Chapril. 
 +</note>
  
 ==== Texte d'accueil ==== ==== Texte d'accueil ====
  
-Ça se passe dans le fichier //public/locales/fr/send.ftl//.+Ça se passe dans le fichier ''public/locales/fr/send.ftl''.
  
 <code> <code>
Ligne 339: Ligne 348:
 ==== Journaux ==== ==== Journaux ====
  
-Les journaux du démon drop sont envoyés dans journald. Ils contiennent quelques informations relatives au démarrage. Pour les consulter on utilise : +Les journaux du démon drop sont envoyés dans ''journald''. 
 +Ils contiennent quelques informations relatives au démarrage. 
 +Pour les consulter on utilise :
 <code bash> <code bash>
-journalctl -u drop+journalctl -u drop
 </code> </code>
  
-Les journaux d'accès sont générés par apache2 qui fonctionne en tant que proxy inverse. Les journaux sont envoyés dans le dossier ''/var/log/apache2/drop.chapril.org/''. Logrotate est configuré pour créer un fichier de journaux par mois et ne conserver que 4 mois. +Les journaux d'accès sont générés par Apache 2 qui fonctionne en tant que proxy inverse. 
- +Les journaux sont envoyés dans le dossier ''/var/log/apache2/drop.chapril.org/''. 
-La configuration se trouve dans ''/etc/logrotate.d/apache2'' et est la suivante :+Logrotate est configuré pour créer un fichier de journaux par mois et ne conserver que 4 mois.
  
 +La configuration se trouve dans ''/etc/logrotate.d/apache2/'' et est la suivante :
 <code> <code>
 /var/log/apache2/*.log /var/log/apache2/*.log
Ligne 376: Ligne 387:
 ==== Cron ==== ==== Cron ====
  
-Comme indiqué dans le ticket https://agir.april.org/issues/4405, un bug fait que les fichiers expirés sont bien retirés de la base Redis mais pas du système de fichier local.+Comme indiqué dans le [[https://agir.april.org/issues/4405|ticket n°4405]], un bug fait que les fichiers expirés sont bien retirés de la base Redis mais pas du système de fichier local.
  
-En attendant une correction officielle, solution de contournement avec un cron :+En attendant une correction officielle, solution de contournement avec un fichier Cron :
 <code> <code>
 # Suppression des fichiers expirés (tous les jours à 00h30). # Suppression des fichiers expirés (tous les jours à 00h30).
Ligne 396: Ligne 407:
 </code> </code>
  
-Et le script /srv/drop.chapril.org/tools/cleaning/remove_expired_files.py lancé en tant que daemon de la façon suivante :+Et le script ''/srv/drop.chapril.org/tools/cleaning/remove_expired_files.py'' est lancé en tant que //daemon// de la façon suivante :
 <code bash> <code bash>
 cp /srv/drop.chapril.org/tools/cleaning/drop-remove-expired-files.service /etc/systemd/system/drop-remove-expired-files.service cp /srv/drop.chapril.org/tools/cleaning/drop-remove-expired-files.service /etc/systemd/system/drop-remove-expired-files.service
Ligne 402: Ligne 413:
 systemctl start drop-remove-expired-files.service systemctl start drop-remove-expired-files.service
 </code> </code>
- 
  
 ===== Modération ===== ===== Modération =====
Ligne 410: Ligne 420:
 En cas de demande de retrait de fichier, identifier l'identifiant du fichier dans l'URL. En cas de demande de retrait de fichier, identifier l'identifiant du fichier dans l'URL.
  
-Par exemple, pour +Par exemple, pour ''https://drop.chapril.org/download/c255369c68c0f7d7/#SR9oUMJrKQeVUdr0hqzwQQ'' l'identifiant est ''c255369c68c0f7d7''.
-''https://drop.chapril.org/download/c255369c68c0f7d7/#SR9oUMJrKQeVUdr0hqzwQQ''+
  
-L'identifiant est ''c255369c68c0f7d7''. 
 Se connecter en SSH sur le serveur et supprimer le fichier de l'index : Se connecter en SSH sur le serveur et supprimer le fichier de l'index :
- 
 <code bash> <code bash>
-redis-cli DEL c255369c68c0f7d7+redis-cli DEL c255369c68c0f7d7
 </code> </code>
  
Ligne 426: Ligne 433:
 ===== Gestion des mises à jour ===== ===== Gestion des mises à jour =====
  
-Le code de la version officielle ce trouve sur GitHub. Il est situé dans la branche "master", les versions sont des tags sur cette même branche. +Le code de la version officielle ce trouve sur GitHub : https://github.com/mozilla/send/
-Pour détecter les mises à jour, la supervision vérifie l'apparition d'un nouveau tag sur GitHub (/usr/lib/nagios/plugins/check_dropchaprilorg_update).+Il est situé dans la branche ''master'', les versions sont des étiquettes (//tags//) sur cette même branche. 
 +Pour détecter les mises à jour, la supervision vérifie l'apparition d'une nouvelle étiquette sur GitHub (''/usr/lib/nagios/plugins/check_dropchaprilorg_update'').
  
-Pour chaque nouvelle version, nous créons une branche qui a comme nom le nom du tag préfixé par "chapril-". Par exemple pour le tag vX.Y.Z notre branche est chapril-vX.Y.Z.+Pour chaque nouvelle version, nous créons une branche qui a comme nom le nom de l’étiquette préfixé par ''chapril-''. 
 +Par exemple pour l’étiquette ''vX.Y.Z'' notre branche est ''chapril-vX.Y.Z''.
 Ces branches permettent de garder les personnalisations pour Chapril. Ces branches permettent de garder les personnalisations pour Chapril.
  
-Sur le serveur, le dépôt git est configuré pour utiliser deux remote +Sur le serveur, le dépôt Git est configuré pour utiliser deux dépôts distants 
-  * mozilla : le dépôt GitHub officiel +  * ''mozilla'' : le dépôt GitHub officiel ; 
-  * origin : la forge de l'april+  * ''origin'' : la forge de l'april.
  
  
 Mise à jour depuis le dépôt distant de Mozilla : Mise à jour depuis le dépôt distant de Mozilla :
 <code bash> <code bash>
-cd /srv/drop.chapril.org/www+cd /srv/drop.chapril.org/www/
 git pull mozilla git pull mozilla
 </code> </code>
  
-Mise à jour de la branche master :+Mise à jour de la branche ''master'' :
 <code bash> <code bash>
 git checkout origin/master git checkout origin/master
Ligne 452: Ligne 461:
  
  
-Mettre à jour les tags :+Mettre à jour les étiquettes :
 <code bash> <code bash>
 git push --tags origin git push --tags origin
Ligne 473: Ligne 482:
 systemctl restart drop systemctl restart drop
 </code> </code>
- 
- 
  
admin/services/drop.chapril.org.txt · Dernière modification : 2026/02/17 03:00 de fhenry2