How to Install Pimcore CMS on Centos 7

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.

Prerequisite

  • 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>
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): /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: https://your-host.com/admin

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!

Admin

Admin

Leave a Reply

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