Dernière mise à jour : 29/12/2021 à 19h08
Table des matières
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 unzip 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 make install
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
Paramétrage de la base de données
Piwigo s'appuie sur une base de données, d'où l'installation de maria-db.
Pour configurer celle-ci, on va d'abord attribuer un mot de passe à root dans mysql :
Code BASH :
mysql_secure_installation
Appuyer sur Entrée une première fois puis répondre YES à toutes les questions.
Se connecter ensuite à la base de données :
Code BASH :
mysql -u root -p
Une fois dans la base de données, on va créé un utilisateur :
Code SQL :
USE mysql; CREATE USER 'login' IDENTIFIED BY 'password';
On lui donne les privilèges qui vont bien :
Code SQL :
GRANT ALL PRIVILEGES ON * . * TO 'login'; FLUSH PRIVILEGES;
On peut ensuite quitter mysql et se reconnecter avec notre nouvel utilisateur :
Code SQL :
EXIT;
Code BASH :
mysql -u login -p
On créé ensuite une nouvelle base de données pour piwigo :
Code SQL :
CREATE DATABASE piwigo;
Installation de Piwigo
On peut ensuite passer à l'installation de Piwigo. Pour cela, il faut télécharger la dernière version et copier les fichiers sur le serveur web :
Code BASH :
wget -O piwigo.zip https://fr.piwigo.org/download/dlcounter.php?code=latest unzip piwigo.zip -d /var/www/html/
Il suffit ensuite de se rendre sur son serveur web : http://[IP_DU_SERVEUR_WEB] et on arrive sur la page d'installation.

Remplir les informations et cliquer sur Démarrer l'installation, l'installation dure à peine quelque secondes.