Skip to main content

PhotoShow, responsive and powerful web gallery

I have previously presented several web galleries such as the popular Piwigo but also Lychee, quite simple one. And this is where Boomboum introduced me an interesting project called PhotoShow.

PhotoShow - Web gallery photo

PhotoShow is a free and open source (under GPL licence) web gallery application to install on your own server. Easy to use and install, it does not require a database (Filesystem based). While having usual drag n drop to upload pictures, or user management with different access rights, comments and RSS feeds, PhotoShow differentiate itself with a responsive design, Google PhotoSpheres support.

A demo is available here.

Interested to give it a try, here is how to install PhotoShow on your server.



1) Install the libgd for PHP

Simple run (as root)

2) Clone the git repository into your /var/www

3) Link PhotoShow to your photo and thumbnails directories (Or create new one in your /home/user for example)

Simply modify the config.php file.

And indicate the full path of your photos. Make sure the web server have write access.

Save (CTRL +X, then Y)

And you’re good to access your web gallery and create your admin account.

PhotoShow - Create account

You should now see your photos or should be able to upload your pictures there.

As simple as that!

If you are facing any issues, make sure to raise a ticket on their github issue tracker.

OwnStaGram, build your own instagram server

Instagram is probably the most popular photo sharing app allowing you to easily share all your photos to your friends and family. However the TOS have changed quite a lot and you may fear some security, anonymity and ownership concerns to share all your life to this company.

If this the case, few alternatives exists with a strong focus on privacy or even allowing you to run your own instance of Instagram-like on your server to keep full ownership of your pictures. And this is what OwnStaGram is providing.

ownstagram screenshot

OwnStaGram is a self-hosted photo sharing-platform, written in PHP and under GPLv3 license. It allows you to upload your pictures to the website or directly with a dedicated Android app, then you can simply share the URL of your pictures to your friends, family, etc…
You can have a look here as an example.


You will need to have a working LAMP server. If it is not the case, please follow this article.

1) Clone the git repository under your /var/www folder

2) Make sure ownstagram folder is writable

3) Create a database

You can use phpmyadmin to do so (Or adminer)

I called it ownstagram and created a dedicated user (ownstagram)

4) Import/run the SQL-File “DATABASE.sql

If you use phpmyadmin, the easiest is to copy the content of the DATABASE.sql to ownstagram–>SQL and run the code.

5) Configure the inc.var.php file

You will need to rename the inc.var.php.dist into inc.var.php

and insert your database credentials into your inc.var.php

and set the host (localhost probably), user, pass and name.

You will also need to modify the “ownStaGramAdmin” with the email address you want to use as admin user.

Note that you can also set the MailSender, site name and timezone.

When done, simply save the file with CTRL +X (then Y)

6) Register with the admin email address previously created

Simply go to http://yourip/ownstagram and register your admin user, previously set into your inc.var.php file.

ownstagram register

When done, it will recognize the admin account and will skip the activation step.

You are now ready to upload photos, add users, create groups, etc… but also to install the android app and to point it to your ownstagram instance.

ownstagram android mobile app screenshot


And if you want to have a more friendly URL, like mygram.domain.tld or even to set up SSL connection, follow below instructions


Virtualhost configuration

What you will need:

1) Create a A redirection in your DNS server/registrar with mygram.domain.tld to your IP

2) Have SSL certificate ready. If not you can read this tutorial. (Optional)

3) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called ownstagram (In root):

and paste the following content:

Adapt the content (Servername, webmaster, SSL certificate and directory).

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

Now your ownstagram should be fully working will SSL certificate and using a easier to remember URL.

instagram funny comics xkcd

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?