How to install Zenphoto Gallery CMS on CentOS 7

Zenphoto_logoZenphoto is free and open-source standalone content management system (CMS) for creating gallery focused websites. Zenphoto is feature rich PHP based application and it has everything you need to manage your own photo galleries. In this blog tutorial we will install Zenphoto on CentOS 7 VPS with Apache, MariaDB and PHP

To be eligible to run Zenphoto, you need to have the following requirements installed on your server:
– A web server – Apache or Nginx
– PHP version 5.2 or newer with GD and imagick extensions.
– MySQL/MariaDB database version 5 or newer.

Log in to your CentOS VPS via SSH as user root

ssh root@IP

and make sure that all packages are up to date by executing the following command

yum -y update

Run the following command to install MariaDB database server

yum install mariadb mariadb-server

Start the MariaDB database server and enable it to start at the boot time

systemctl start mariadb
systemctl enable mariadb

Run the ‘mysql_secure_installation’ script to secure the database server and set your MariaDB root password

Log in to the MariaDB server using the ‘root’ user and create new database end user.

mysql -u root -p

CREATE USER 'zenphotouser'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON `zenphoot`.* TO 'zenphotouser'@'localhost';

Don’t forget to replace ‘PASSWORD’ with a strong password.

Next, we will install Apache web server

yum install httpd

Start the Apache web server and add it to automatically start on the system start-up

systemctl start httpd
systemctl enable httpd

Now we need to install PHP among with few PHP modules

yum install php php-gd php-common

Install ImageMagic package and ImageMagic PHP extension

yum install ImageMagick
pecl install imagick
echo "" > /etc/php.d/imagick.ini

Once all requirements are installed. download the latest stable release of Zenphoto from their official website.


Unpack the downloaded zip archive to the document root directory on your server

unzip -d /var/www/html/

If you are not sure where is your document root directory you can use the following command to find out

grep -i '^documentroot' /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"

Change the current working directory and rename the unpacked Zenphoto directory

Need a fast and easy fix?
✔ Unlimited Managed Support
✔ Supports Your Software
✔ 2 CPU Cores
✔ 2 GB RAM
✔ 50 GB PCIe4 NVMe Disk
✔ 1854 GeekBench Score
✔ Unmetered Data Transfer

Now just $43 .99

cd /var/www/html/
mv zenphoto-zenphoto-1.4.9/ zenphoto

Change the ownership of the directory

chown -R apache:apache zenphoto

Next, create Apache virtual host for your domain. Create ‘/etc/httpd/conf.d/vhosts.conf’ directory with the following content

vim /etc/httpd/conf.d/vhosts.conf

IncludeOptional vhosts.d/*.conf

and create the virtual host

vim /etc/httpd/vhosts.d/

<VirtualHost YOUR_SERVER_IP:80>
DocumentRoot "/var/www/html/zenphoto/"
ErrorLog "/var/log/httpd/"
CustomLog "/var/log/httpd/" combined

<Directory "/var/www/html/zenphoto/">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted

Restart the Apache web server for the changes to take effect.

systemctl restart httpd

Open your favorite web browser and navigate to your Zenphoto gallery at . It will automatically run the installation script and will prompt you to enter the MySQL information of the database we created in this tutorial.

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Zenphoto for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Leave a Comment