How to Install Pimcore CMS on Centos 7

Pimcore provides free and open source enterprise content management system used to create and manage web applications and digital presences.. It is a web-based application and uses the PHP programming language and the MySQL/MariaDB relational database management system. It provides lots of features including automatic document/PDF generation, E-Commerce integration module, modern interface and much more.

This tutorial explains the installation procedure of Pimcore CMS on CentOS 7.


  • Minimal CentOS 7 server
  • Root privileges
  • LAMP Setup – Apache WebServer, MySQL Database, PHP 7

Note: Please follow below links to install LAMP stack on Centos 7.

  1. Install PHP 7 on Centos 7
  2. Install Percona MySQL on Centos 7

Pimcore Installation

The easiest way to install Pimcore is from your terminal using Composer. Change into the root folder of your project (please remember project root != document root):

# cd /var/www/html
# yum install composer

Choose a package to install

Pimcore is offering 4 different installation packages, 3 demo packages and one skeleton for experienced developers. Run and download any one of the below 4 packages

1. Skeleton Package (only for experienced Pimcore developers)
# COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton pimcore
2. Basic Demo Package (PHP Templates)
# COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/demo-basic pimcore
3. Basic Demo Package (Twig Templates)
# COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/demo-basic-twig pimcore
4. Advanced Demo Package (E-Commerce, PIM, MDM, DAM, …)
# COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/demo-ecommerce pimcore

Point the document root of your vhost to the newly created /web folder (eg. /var/www/html/pimcore/web). Keep in mind, that Pimcore needs to be installed outside of the document root as shown in below example vhost config.

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/pimcore/web
ErrorLog /var/log/httpd/error_pimcore.zoomtutorials.com_log
<Directory "/var/www/html/pimcore/web">
RewriteEngine on
AllowOverride All
Order allow,deny
Allow from all

<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/pimcore/web
ErrorLog /var/log/httpd/error_pimcore.zoomtutorials.com_log
SSLEngine On
SSLCertificateFile /etc/httpd/conf.d/ssl/c277df02a6f1b249.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/i95ssl.key
SSLCertificateChainFile /etc/httpd/conf.d/ssl/gd_bundle-g2-g1.crt
<Directory "/var/www/html/pimcore/web">
AllowOverride All
Order allow,deny
Allow from all

Pimcore requires write access to the following directories (relative to your project root): /var/web/var

Create Database

# mysql -u root -p -e "CREATE DATABASE pimcore_database charset=utf8mb4;"

Launch Installer

# cd ./pimcore
# ./vendor/bin/pimcore-install

This launches the interactive installer with a few questions. Make sure that you set the memory_limit to at least 512M in your php.ini file.

Open Admin Interface

After the installer has finished, you can open the admin interface:

Debugging installation issues

The installer writes a log in var/installer/logs which contains any errors encountered during the installation. Please have a look at the logs as a starting point when debugging installation issues.

5. Maintenance Cron Job

*/5 * * * * /var/www/html/pimcore/bin/console maintenance

Keep in mind, that the cron job has to run as the same user as the web interface to avoid permission issues (eg. www-data).

This completes the Pimcore installation tutorial. Enjoy using Pimcore!

Please follow and like us:

ZT Admin

Leave a Reply

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

Next Post

How To Install PHP Composer on CentOS 7

Sat Nov 2 , 2019
Composer is a dependency manager for PHP similar to npm for Node.js or pip for Python. Composer pulls all the required PHP dependency packages for our project and manage them for us. It is used in all modern PHP frameworks and platforms such as Magento 2, Symfony and Drupal. In this tutorial, we […]