admin:services:paste.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
admin:chatons:paste.chapril.org [2019/09/13 15:30] – [Configuration] dclermonte | admin:services:paste.chapril.org [2024/05/07 19:32] – [Mise à jour de paste] pitchum | ||
---|---|---|---|
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:// | site principal : [[https:// | ||
sources : [[https:// | sources : [[https:// | ||
- | installation | + | Machine virtuelle Chapril pour ce service |
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: | ||
création d'un utilisateur (non indispensable mais fait pour chapril) | création d'un utilisateur (non indispensable mais fait pour chapril) | ||
< | < | ||
Ligne 16: | Ligne 23: | ||
apt-get install php7.0-gd | apt-get install php7.0-gd | ||
</ | </ | ||
- | ===== Installation ===== | + | ====== Installation |
==== Déploiement du code ==== | ==== Déploiement du code ==== | ||
< | < | ||
cd /var/www/ | cd /var/www/ | ||
- | wget https:// | + | wget https:// |
- | 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.1 paste.chapril.org | + | mv PrivateBin-x.x.x paste.chapril.org |
- | chown pastechaprilorg: | + | chown www-data: |
</ | </ | ||
==== Fichiers de logs ==== | ==== Fichiers de logs ==== | ||
Ligne 62: | Ligne 69: | ||
cd / | cd / | ||
cp conf.sample.php conf.php | cp conf.sample.php conf.php | ||
+ | Dans la section [traffic] du fichier conf.php | ||
+ | dir = PATH "/ | ||
+ | Dans la section [purge] du fichier conf.php | ||
+ | dir = PATH " | ||
+ | Dans la section [model_options] du fichier conf.php | ||
+ | dir = PATH " | ||
</ | </ | ||
Ligne 68: | Ligne 81: | ||
cd / | cd / | ||
mkdir data | mkdir data | ||
- | chown pastechaprilorg:www-data data | + | chown www-data:www-data data |
- | chmod g+w data | + | chmod -R u+rwX / |
</ | </ | ||
- | ===== Rapport d' | + | ====== Rapport d' |
- | Créer le répertoire | + | Créer le répertoire |
- | < | + | < |
+ | mkdir /srv/ | ||
</ | </ | ||
- | Copier dans ce répertoire le script rapport_activite.sh et le rendre executable | + | Copier dans ce répertoire le script rapport_activite.sh |
+ | https:// | ||
+ | et le rendre executable. | ||
+ | (Si nécessaire se mettre sur la dernière branche) | ||
+ | |||
+ | puis créer la tache cron en ajoutant un fichier pastechaprilorg dans /etc/cron.d avec la ligne suivante | ||
+ | < | ||
+ | 1 0 1 * * root / | ||
+ | </ | ||
+ | ====== Création d'un dossier de projet ====== | ||
Créer le répertoire / | Créer le répertoire / | ||
Ligne 84: | Ligne 107: | ||
</ | </ | ||
- | Puis créer la tache cron | + | ====== Monitoring ====== |
+ | |||
+ | Mettre dans le dossier / | ||
< | < | ||
- | crontab | + | function usage() { |
- | ajouter | + | echo "Usage : $0" |
- | 1 0 1 * * / | + | } |
+ | |||
+ | # | ||
+ | if [ " | ||
+ | | ||
+ | else | ||
+ | lastVersion=$(curl -s https:// | ||
+ | currentVersion=$(cd / | ||
+ | #echo $lastVersion | ||
+ | #echo $currentVersion | ||
+ | if [ $currentVersion = $lastVersion ]; then | ||
+ | echo " | ||
+ | result=0 | ||
+ | else | ||
+ | echo " | ||
+ | result=1 | ||
+ | fi | ||
+ | fi | ||
+ | exit $result | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Installation d'une mise à jour ====== | ||
+ | |||
+ | ====== Mise à jour de paste ====== | ||
+ | |||
+ | La mise à jour se passe en 2 temps : | ||
+ | |||
+ | - générer un tarball de la nouvelle version, sur le poste de travail de l' | ||
+ | - déployer ce tarball sur le serveur | ||
+ | |||
+ | ===== Générer le " | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== La première fois ==== | ||
+ | |||
+ | <code bash> | ||
+ | mkdir -p ~/ | ||
+ | cd ~/ | ||
+ | git clone https:// | ||
+ | git remote add upstream https:// | ||
+ | git fetch --all | ||
+ | </ | ||
+ | |||
+ | ==== Les fois suivantes ==== | ||
+ | |||
+ | <code bash> | ||
+ | cd ~/ | ||
+ | git fetch --all | ||
+ | </ | ||
+ | |||
+ | Trouver le tag de la version qui nous intéresse. C'est probablement le dernier qui nous intéresse, donc on peut l' | ||
+ | <code bash> | ||
+ | git tag --sort=v: | ||
+ | </ | ||
+ | |||
+ | Stockons le numéro de version qui nous intéresse dans une variable, ici la version | ||
+ | |||
+ | <code bash> | ||
+ | export VERSION=1.5.1 | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | cd ~/ | ||
+ | git checkout main-chapril | ||
+ | git rebase ${VERSION? | ||
+ | </ | ||
+ | |||
+ | Et maintenant, il faut résoudre les éventuels conflits. | ||
+ | |||
+ | < | ||
+ | |||
+ | Une fois les conflits résolus, on créé un tag, puis une archive tar.gz à partir de ce tag : | ||
+ | |||
+ | <code bash> | ||
+ | git tag ${VERSION? | ||
+ | git push --tags origin # Pousser le tag côté forge April | ||
+ | </ | ||
+ | |||
+ | Normalement, | ||
+ | Mais si l' | ||
+ | |||
+ | <code bash> | ||
+ | git archive --prefix=paste-${VERSION? | ||
+ | </ | ||
+ | |||
+ | ===== 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:// | ||
+ | |||
+ | 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' | ||
+ | |||
+ | <code bash> | ||
+ | export VERSION=1.5.1 | ||
+ | </ | ||
+ | |||
+ | On extrait alors dans un dossier dédié, dans lequel on doit recopier le fichier // | ||
+ | |||
+ | <code bash> | ||
+ | cd / | ||
+ | wget -O versions/paste-${VERSION? | ||
+ | https:// | ||
+ | sudo -u www-data tar \ | ||
+ | --one-top-level=versions/ | ||
+ | --strip-components=1 \ | ||
+ | -xavf versions/ | ||
+ | cd versions/ | ||
+ | ln -s / | ||
+ | </code> | ||
+ | |||
+ | On peut maintenant faire la bascule, tout simplement en remplaçant le lien symbolique // | ||
+ | |||
+ | <code bash> | ||
+ | cd /var/www/ | ||
+ | rm -f public_html ; ln -s versions/chapril-paste-${VERSION? | ||
+ | </ | ||
+ | |||
+ | On vérifie que l' | ||
+ | |||
+ | 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/ | ||
</ | </ |
admin/services/paste.chapril.org.txt · Dernière modification : 2024/06/18 20:28 de claver