From 3f3afdec65c1ba45a7451fce0be156c2a98bf213 Mon Sep 17 00:00:00 2001 From: Mathieu Gauthier-Pilote Date: Thu, 16 Feb 2023 11:29:51 -0500 Subject: [PATCH] =?UTF-8?q?M=C3=80J=20pour=20Debian=2011=20et=20PrivateBin?= =?UTF-8?q?=201.5.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoPrivateBin.md | 164 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 139 insertions(+), 25 deletions(-) diff --git a/HowtoPrivateBin.md b/HowtoPrivateBin.md index de1bd132..e3fda24c 100644 --- a/HowtoPrivateBin.md +++ b/HowtoPrivateBin.md @@ -1,32 +1,146 @@ -Pour installer PrivateBin (1.3.4), avec Debian 10 et PHP 7.3 il suffit de : +--- +categories: web webapp +title: Howto PrivateBin +... -1. Créer les comptes : "/usr/share/scripts/evoadmin/web-add.sh add paste www-paste" -2. Télécharger les sources de la dernière version et les extraire dans un home -3. Bouger les sources dans ~/privatebin -4. Copier certains fichiers de ~/privatebin dans ~/www "cp -r ~privatebin/{i18n,img,js,css} ~www/" -5. Ecrire dans ~/www/index.php le contenu suivant : +* Documentation : +* Code : +* Licence : [Zlib/libpng, GPLv2, et autres](https://github.com/PrivateBin/PrivateBin/blob/master/LICENSE.md) +* Langage : PHP +* Ansible : à venir -~~~ { .php } - + ServerName privatebin.evolix.org + + DocumentRoot /home/privatebin/PrivateBin + + + Options SymLinksIfOwnerMatch + AllowOverride Options=All AuthConfig Limit FileInfo Indexes + Require all granted + + + AssignUserID privatebin privatebin + + SSLEngine On + SSLCertificateFile /etc/ssl/certs/privatebin.evolix.org.crt + SSLCertificateKeyFile /etc/ssl/private/privatebin.evolix.org.key + + RewriteEngine On + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP:X-Forwarded-Proto} !=https + RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R=permanent] + + +~~~ + +> **Note** : La partie SSL/TLS n'est pas développée, mais elle est essentielle au bon fonctionnement de PrivateBin. Vous pouvez par exemple générer et configurer un certificat [Let's Encrypt](HowtoLetsEncrypt) avec certbot. N'oubliez pas d'adapter les directives `SSLCertificateFile` et `SSLCertificateKeyFile` dans le vhost. + +PrivateBin fournit une configuration .htaccess qu'il est recommandé d'activer : + +~~~ +# sudo -iu privatebin +$ cd PrivateBin/ +$ cp .htaccess.disabled .htaccess +$ exit +# a2enmod rewrite +# systemctl reload apache2.service +~~~ + +Il est fortement recommandé de renforcer la sécurité de PrivateBin en déplaçant certains répertoires de l'application hors du `DocumentRoot` du vhost : + +~~~ +# sudo -iu privatebin +$ mkdir secret +$ cd PrivateBin/ +$ mv {bin,cfg,doc,lib,tpl,tst,vendor} /home/privatebin/secret/ +~~~ + +Avec votre éditeur de texte préféré, vous devez modifier le fichier `index.php` afin d'indiquer à PrivateBin le nouveau chemin relatif à utiliser : + +~~~ +define('PATH', '../secret/'); +~~~ + +Finalement, on active le vhost, on vérifie sa syntaxe et si tout est beau on recharge la configuration d'Apache : + +~~~ +# a2ensite privatebin +# apache2ctl -t +# systemctl reload apache2.service +~~~ + +## Mises à jour + +Les mises à jour peuvent être effectuées comme ceci : + +~~~ +# sudo -iu privatebin +$ cd PrivateBin/ +$ git restore . +$ git fetch origin && git checkout +$ cp -a /home/privatebin/secret /home/privatebin/secret.back +$ rm -rf /home/privatebin/secret/{bin,cfg,doc,lib,tpl,tst,vendor} +$ mv {bin,cfg,doc,lib,tpl,tst,vendor} /home/privatebin/secret/ +~~~ + +Suite à la mise à jour du code via git et au déplacement des répertoires hors du `DocumentRoot` du vhost, vous devez remodifier le fichier `index.php` afin d'indiquer à PrivateBin le nouveau chemin relatif à utiliser ( `define('PATH', '../secret/');` ). Finalement, lorsque le bon fonctionnement de l'application est confirmé, vous pouvez supprimer le répertoire `/home/privatebin/secret.back`. + +> **Note** : Ces commandes ne sont parfois pas suffisantes pour compléter une mise à jour. Vous devez systématiquement lire les [notes de versions](https://github.com/PrivateBin/PrivateBin/releases). + + +## Configuration + +La configuration initiale de l'application peut être supplantée en faisant une copie du fichier `cfg/conf.sample.php` vers `cfg/conf.php`. + +Les paramètres disponibles sont documentés dans [le wiki du projet](https://github.com/PrivateBin/PrivateBin/wiki/Configuration). + +## Utilisation + +Un navigateur Web moderne suffit pour utiliser PrivateBin. + +Le principe est de saisir ou de copier-coller le texte qu'on souhaite partager secrètement dans la boîte `Éditer` puis de cliquer sur le bouton `Envoyer`. Une URL est alors générée pour accéder au document. C'est cette URL que vous devez partager avec votre destinataire, par exemple via courriel ou via Signal ou autre moyen de communication. Il est important de ne pas partager cette URL publiquement dans les médias sociaux ou les forums : elle ne doit être disponible que par vous et votre destinataire. + +Pour augmenter la sécurité de l'échange, il est possible d'ajouter un mot de passe et/ou de programmer la suppression automatique du document partagé immédiatement après sa première lecture par le destinataire. -https://github.com/PrivateBin/PrivateBin/blob/master/INSTALL.md \ No newline at end of file