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.
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> ServerName pimcore.zoomtutorials.com ServerAlias pimcore.zoomtutorials.com ServerAdmin [email protected] DocumentRoot /var/www/html/pimcore/web ErrorLog /var/log/httpd/error_pimcore.zoomtutorials.com_log </VirtualHost> <Directory "/var/www/html/pimcore/web"> RewriteEngine on AllowOverride All Order allow,deny Allow from all </Directory> <VirtualHost *:443> ServerName pimcore.zoomtutorials.com ServerAlias pimcore.zoomtutorials.com 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 </VirtualHost> <Directory "/var/www/html/pimcore/web"> AllowOverride All Order allow,deny Allow from all </Directory>
Pimcore requires write access to the following directories (relative to your project root):
# mysql -u root -p -e "CREATE DATABASE pimcore_database charset=utf8mb4;"
# 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.
This completes the Pimcore installation tutorial. Enjoy using Pimcore!