Skip to main content

Web photo gallery application on your server – Piwigo tutorial you are looking for making a fancy yet simple Web photo gallery to display your weddings pictures, share your last trip photos with your family or as a demo of your work, a comparison of photo galleries to be installed on a server to published your albums can be actually found on Wikipedia.

My favorite one is Piwigo, it’s an open source (Under GPL licence) photo software for the web, written in PHP and requiring MySQL.

The community and project are very active and several plugins are available to make the full experience even better.

To give you an idea you can browse their demo.

Let’s see how to install it on a working server with PHP and MySQL installed. (If not done yet, you can refer to my previous guide on how to install a LAMP server)


To separate your web gallery, you should create a dedicated folder. In root user (su), type:

and then download the latest netinstall apps:

Now you need to change the owner of this folder to ensure apache user has write access and provide sufficient privileges. In root, type:

And then simply go to http://yourIP/mygallery/piwigo-netinstall.php
to continue the installation. You will need a MySQL database to proceed the installation. If you don’t have one, I suggest you to use PHPMyAdmin to do so and follow the example of configuration for a database.

Virtualhost configuration

If like me, you prefer to have a sub-domain (Or a different domain name than your principle one) pointing directly to your Piwigo instance, you will need to create a dedicated Virtualhost file.

The fastest way might be to reuse some of your existing Vhost file by duplicating it and modifying accordingly to your needs.

Or you can reuse mine and adapt it.

In root, type:

and here is how mine looks like:

Once modified, save it (CTRL+X, then Yes) and reload your apache configuration:

(In root)

You should now have a working web gallery with its own subdomain.

If you use another web photo gallery, which one are you using and why?

Leave a Reply

Your email address will not be published. Required fields are marked *