User Tools

This is an old revision of the document!


Piwigo

Piwigo is a long-lasting, solid and versatile photo gallery software. It is based on PHP and it's been around 21+ years, so for some it might be considered as ancient, but it's not and while maybe not fancy based on new technology, it's under active development today and widely used all around the world.

There are also mobile apps associated to Piwigo that can take care of backup and mobile editing.

Installation

Piwigo is PHP based, so you need to follow Using independent PHP for different services to create an instance of PHP-FPM for Piwigo. I will assume you have your PHP-FPM up and running before going forward.

Prerequisites · setup

Ensure you have PHP emerged with the following USE flags, if you don't have it already, emerge it again:

echo dev-lang/php exif fpm gd mysqli >> /etc/portage/package.use/piwigo
emerge -vp php
emerge -vp dev-php/pecl-imagick

Also emerge pecl-imagick to add ImageMagick support.

Initial setup

Now, create the usual service user that i will call piwigo. This user should be member of the photos group:

useradd -d /data/daemons/piwigo -m -g photos piwigo

The full Piwigo installation guides are here.

You need to download and unpack Piwigo latest release:

su - piwigo
wget -O piwigo.zip "https://piwigo.org/download/dlcounter.php?code=latest"
unzip piwigo.zip

This will create a subfolder called piwigo.

Database setup

See MariaDB / MySQL to setup the database.

You need to create a database called piwigo with a user called piwigo with a strong enough password.

Ensure your database is running!

Reverse Proxy setup

piwigo.conf
location /piwigo/ {
        root /data/daemons/piwigo/;
        index index.php;

        location ~ /.*\.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_pass 127.0.0.1:9002;
        }
}

Make sure the port (9002) matches your PHP-FPM port!

Web installation

Open your broser to https://mydomain.com/piwigo/index.php and follow the instructions there!

Make sure to specify 127.0.0.1 instead of localhost in the database address.

Permissions and securization

The piwigo home folder comes with some weird defaults, you should remove permissions for others:

chmod o-w /data/daemons/piwigo/* -R

Your piwigo user and PHP-FPM user are all owned by the same user (if you followed me properly!) so there is no need for giving write permissions to others.

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information