Outils pour utilisateurs

Outils du site


admin:services:paste.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:chatons:paste.chapril.org [2019/12/07 18:35] – [Monitoring] dclermonteadmin:services:paste.chapril.org [2024/04/24 21:05] (Version actuelle) claver
Ligne 1: Ligne 1:
 ====== Service paste.chapril.org ====== ====== Service paste.chapril.org ======
 +
 ====== Introduction ====== ====== Introduction ======
 +
 Ce service est basé sur privatebin\\  Ce service est basé sur privatebin\\ 
 site principal : [[https://privatebin.info]]\\  site principal : [[https://privatebin.info]]\\ 
 sources : [[https://github.com/PrivateBin/PrivateBin]]\\  sources : [[https://github.com/PrivateBin/PrivateBin]]\\ 
-installation [[https://github.com/PrivateBin/PrivateBin/wiki/Installation]]\\ +Machine virtuelle Chapril pour ce service **lamp.cluster.chapril.org**\\
 Les données peuvent être stockées en SQL ou en fichier plat, ici la solution retenue est fichiers plats Les données peuvent être stockées en SQL ou en fichier plat, ici la solution retenue est fichiers plats
 +
 +
 ====== Préparation ====== ====== Préparation ======
 +
 +Création de la VM avec la procédure [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]].
 +
 création d'un utilisateur (non indispensable mais fait pour chapril) création d'un utilisateur (non indispensable mais fait pour chapril)
 <code> <code>
Ligne 21: Ligne 28:
 <code> <code>
 cd /var/www/ cd /var/www/
-wget https://github.com/PrivateBin/PrivateBin/archive/1.1.1.tar.gz +wget https://github.com/PrivateBin/PrivateBin/archive/x.x.x.tar.gz 
-tar xf 1.1.1.tar.gz && rm 1.1.1.tar.gz +tar xf x.x.x.tar.gz && rm x.x.x.tar.gz 
-mv PrivateBin-1.1.paste.chapril.org +mv PrivateBin-x.x.paste.chapril.org 
-chown pastechaprilorg:www-data  -R /var/www/paste.chapril.org+chown www-data:www-data  -R /var/www/paste.chapril.org
 </code> </code>
 ==== Fichiers de logs ==== ==== Fichiers de logs ====
Ligne 74: Ligne 81:
 cd /var/www/paste.chapril.org cd /var/www/paste.chapril.org
 mkdir data   mkdir data  
-chown pastechaprilorg:www-data data +chown www-data:www-data data 
-chmod g+data+chmod -R u+rwX /var/www/paste.chapril.org/data
 </code> </code>
 ====== Rapport d'activité ====== ====== Rapport d'activité ======
-Créer le répertoire tools dans /var/www/paste.chapril.org+Créer le répertoire rapport_activite dans /srv/paste.chapril.org/tools
  
-<code>mkdir /var/www/paste.chapril.org/tools+<code>mkdir /srv/paste.chapril.org/tools 
 +mkdir /srv/paste.chapril.org/tools/rapport_activite
 </code> </code>
 Copier dans ce répertoire le script rapport_activite.sh  Copier dans ce répertoire le script rapport_activite.sh 
-https://agir.april.org/projects/paste-chapril-org/repository/revisions/chapril-1.2.1/show/tools +https://forge.april.org/Chapril/paste.chapril.org-tools/src/branch/master/rapport_activite/rapport_activite.sh 
-et le rendre executable, +et le rendre executable
-puis créer la tache cron.   +(Si nécessaire se mettre sur la dernière branche) 
-Modifier si nécessaire la révision de chapril-1.2.1+ 
 +puis créer la tache cron en ajoutant un fichier pastechaprilorg dans /etc/cron.d avec la ligne suivante
 <code> <code>
-crontab -e +1 0 1 * * root /srv/paste.chapril.org/tools/rapport_activite/rapport_activite.sh -p  >> /srv/paste.chapril.org/Exploitation/rapport_paste.log 2>&1
-ajouter la ligne  +
-1 0 1 * * /var/www/paste.chapril.org/tools/rapport_activite.sh -p  >> /srv/paste.chapril.org/Exploitation/rapport_paste.log+
 </code> </code>
 ====== Création d'un dossier de projet ====== ====== Création d'un dossier de projet ======
Ligne 102: Ligne 109:
 ====== Monitoring ====== ====== Monitoring ======
  
-Mettre dans le dossier /usr/lib/nagios/plugins un fichier check_pastechaprilorg_update+Mettre dans le dossier /usr/lib/nagios/plugins un fichier check_pastechaprilorg_update et une copie dans /srv/paste.chapril.org/tools/monitoring
  
 <code> <code>
Ligne 127: Ligne 134:
 exit $result exit $result
  
 +</code>
 +
 +====== Installation d'une mise à jour ======
 +
 +<note warning>Une nouvelle procédure est en cours d'expérimentation [[admin/services/paste.chapril.org/upgrade|sur une page dédiée]]. La documentation ci-dessous est vouée à être remplacée prochainement.</note>
 +
 +
 +Émettre un avis de maintenance planifiée.
 +
 +Désactiver le site.
 +<code>
 +a2dissite paste.chapril.org.conf
 +systemctl restart apache2
 +</code>
 +
 +====== Mise à jour de paste ======
 +
 +<note>Ceci est une nouvelle procédure, pas encore totalement éprouvée.
 +Elle a été rédigée à partir de ce qui a été fait manuellement pour la v1.5.1.
 +</note>
 +
 +La mise à jour se passe en 2 temps :
 +
 +  - générer un tarball de la nouvelle version, sur le poste de travail de l'animsys
 +  - déployer ce tarball sur le serveur
 +
 +===== Générer le "livrable" ======
 +
 +<note>Cette étape se déroule de préférence sur le poste de travail de l'animsys, pas sur le serveur.</note>
 +
 +==== La première fois ====
 +
 +<code bash>
 +mkdir -p ~/code/chapril/paste-chapril
 +cd ~/code/chapril/paste-chapril/
 +git clone https://forge.april.org/Chapril/paste.chapril.org-privatebin.git . # ne pas oublier le "." ici
 +git remote add upstream https://github.com/PrivateBin/PrivateBin.git
 +git fetch --all
 +</code>
 +
 +==== Les fois suivantes ====
 +
 +<code bash>
 +cd ~/code/chapril/paste-chapril
 +git fetch --all
 +</code>
 +
 +Trouver le tag de la version qui nous intéresse. C'est probablement le dernier qui nous intéresse, donc on peut l'obtenir avec cette commande :
 +<code bash>
 +git tag --sort=v:refname | tail -n 1
 +</code>
 +
 +Stockons le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l'exemple :
 +
 +<code bash>
 +export VERSION=1.5.1
 +</code>
 +
 +<code bash>
 +cd ~/code/chapril/paste-chapril
 +git checkout main-chapril
 +git rebase ${VERSION?}
 +</code>
 +
 +Et maintenant, il faut résoudre les éventuels conflits.
 +
 +<note>TODO : décrire grossièrement la procédure de résolution des conflits (edit/git add/git rebase --continue)</note>
 +
 +Une fois les conflits résolus, on créé un tag, puis une archive tar.gz à partir de ce tag :
 +
 +<code bash>
 +git tag ${VERSION?}-chapril
 +git push --tags origin # Pousser le tag côté forge April
 +</code>
 +
 +Normalement, le fait de pousser le tag suffit pour générer une archive téléchargeable sur la [[https://forge.april.org/Chapril/paste.chapril.org-privatebin/tags|page des tags de la forge]].
 +Mais si l'archive n'est pas téléchargeable, alors on peut le créer soi-même comme ceci :
 +
 +<code bash>
 +git archive --prefix=paste-${VERSION?}-chapril/ -o /tmp/paste-${VERSION?}-chapril.tar.gz ${VERSION?}-chapril
 +</code>
 +
 +===== Déployer =====
 +
 +Le tag créé dans la précédente section donne lieu à la création d'un tarball téléchargeable sur la [[https://forge.april.org/Chapril/paste.chapril.org-privatebin/tags|page des tags de la forge]].
 +
 +Stockons une fois de plus le numéro de version qui nous intéresse dans une variable, ici la version 1.5.1 pour l'exemple :
 +
 +<code bash>
 +export VERSION=1.5.1
 +</code>
 +
 +On extrait alors dans un dossier dédié, dans lequel on doit recopier le fichier //conf.php// spécifique de Chapril (on ne le copie pas, on créé plutôt un lien symbolique parce qu'on aime créer du lien :) )
 +
 +<code bash>
 +cd /var/www/paste.chapril.org/
 +wget -O versions/paste-${VERSION?}-chapril.tar.gz \
 +  https://forge.april.org/Chapril/paste.chapril.org-privatebin/archive/${VERSION?}-chapril.tar.gz
 +sudo -u www-data tar \
 +  --one-top-level=versions/chapril-paste-${VERSION?} \
 +  --strip-components=1 \
 +  -xavf versions/paste-${VERSION?}-chapril.tar.gz
 +cd versions/chapril-paste-${VERSION?}/cfg/
 +ln -s /etc/chapril-paste.conf conf.php
 +</code>
 +
 +On peut maintenant faire la bascule, tout simplement en remplaçant le lien symbolique //public_html// pour qu'il pointe vers le nouveau dossier :
 +
 +<code bash>
 +cd /var/www/paste.chapril.org/
 +rm -f public_html ; ln -s versions/chapril-paste-${VERSION?} public_html
 +</code>
 +
 +On vérifie que l'appli fonctionne toujours correctement en visitant https://paste.chapril.org/.
 +
 +Si besoin, on peut rapidement faire un retour arrière à la version précédente (version 1.4.0 ici) avec la commande suivante :
 +
 +<code bash>
 +rm -f public_html ; ln -s versions/chapril-paste-1.4.0 public_html
 </code> </code>
admin/services/paste.chapril.org.1575743702.txt.gz · Dernière modification : 2019/12/07 18:35 de dclermonte