Serveurs web

Installation de piwigo

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 29/12/2021 à 16h10
Table des matières

piwigo



Dans cet article, je vais vous expliquer comment installer Piwigo !
Comme d'habitude, je vais utiliser mon hyperviseur Proxmox, j'utilise un conteneur Debian.

Mais d'abord...

Qu'est-ce que Piwigo ?



Piwigo est selon son site web "une photothèque open source en ligne qui permet de gérer, organiser, partager ses photos sur le web"
Vous pouvez héberger Piwigo chez un hébergeur ou chez vous comme je le fais.

Plus d'infos sur le site web de Piwigo

Installation des pré-requis



Tout d'abord, il est nécessaire d'installer tout ce qu'il faut pour un serveur web ainsi qu'une base de données. On se connecte à son serveur (en ssh ou directement via l'interface si on est sur proxmox). Puis on installe le nécessaire (comme à mon habitude, je me connecte en root donc pas besoin de sudo :

Code BASH :
apt install apache2 php mariadb-server imagemagick ffmpeg poppler-utils gzip make php-{curl,gd,intl,xml,zip,mbstring,json,mysql}


Il faut également installer ExifTool :
Code BASH :
wget https://exiftool.org/Image-ExifTool-12.38.tar.gz
gzip -dc Image-ExifTool-12.38.tar.gz | tar -xf -
cd Image-ExifTool-12.38
perl Makefile.PL
make test


Il faut ensuite vérifier que son serveur web et son serveur de base de données fonctionnent. De mon côté, je vais vous présenter la résolution de deux problèmes que j'ai eus.

Pour le serveur web :

Code BASH :
systemctl status apache2.service


Si comme moi, vous avez l'erreur suivante :

Code BASH :
apache2.service: Failed to set up mount namespacing


Cela se résoud avec les commandes suivantes :

Code BASH :
sed -i -e 's,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g' /lib/systemd/system/apache2.service
systemctl daemon-reload
systemctl start apache2.service


Pour le serveur de base de données :

Code BASH :
systemctl status mysql.service


Si comme moi, vous avez l'erreur suivante :

Code BASH :
mysql.service: Failed to set up mount namespacing


Cela se résoud avec les commandes suivantes :

Code BASH :
sed -i -e 's,ProtectHome=true,ProtectHome=flase,g' -e 's,ProtectSystem=true,ProtectSystem=flase,g' /lib/systemd/system/apache2.service
systemctl daemon-reload
systemctl start apache2.service