How to Install Pimcore CMS on Ubuntu 18.04 LTS ?

Are you happy with your current hosting provider ?

Pimcore is a free and open-source enterprise content management system that runs on MySQL/MariaDB databases and is built in PHP. It’s quick, adaptable, and user-friendly for designers and developers, allowing us to store and distribute all of our digital assets across all channels. For managing data and system setup, Pimcore features an intuitive administrative backend interface. Pimcore is fully customizable and editable, allowing you to tailor the site to your specific requirements.

You will learn how to install Pimcore CMS on Ubuntu 18.04 in this article (Bionic Beaver).

LEMP Server should be installed.
Pimcore CMS is a web-based content management system written in PHP which uses MariaDB as its database. As a result, you’ll need to set up Nginx, PHP, and MariaDB on your PC.

To begin, run the following command to install Nginx and MariaDB:

sudo apt-get install nginx mariadb-server -y

Once the installation is complete, use the following command to start the Nginx and MariaDB services and enable them to start at boot time:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql

After that, you must install the most recent versions of PHP and PHP-FPM on your system. 
In Ubuntu 18.04, the most recent version of PHP is not installed by default. 
As a result, you'll need to add a repository. Using the following command, you may add the PHP repository:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Once the repository is installed, update the repository and install PHP, PHP-FPM and other required libraries using the following command:

sudo apt-get install php7.1-0 php7.1-fpm php7.1-common php7.1-mbstring php7.1-cli php7.1-zip php7.1-xmlrpc php7.1-soap php7.1-gd php7.1-xml php7.1-intl php7.1-mysql -y

Once you've installed all of the packages, you'll need to make some adjustments to the php.ini file. You can use the following command to accomplish this:

sudo nano /etc/php/7.1/fpm/php.ini

Make the following modifications:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 200M
max_execution_time = 300
cgi.fix_pathinfo = 0
date.timezone = Asia/Kolkata

When you're finished, save and close the file.

Configure MariaDB

The next step is to secure MariaDB. Run the following command to accomplish this:

sudo mysql_secure_installation

Answer the following questions in the following order:

Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Log in to MariaDB shell using the following command once MariaDB has been secured:

mysql -u root -p

Create a database and user for Pimcore after providing your root password:

<!-- wp:preformatted -->
<pre class="wp-block-preformatted"><strong>mysql -u root -p</strong>

<!-- /wp:preformatted -->

MariaDB [(none)]> CREATE DATABASE pimcoredb;
MariaDB [(none)]> CREATE USER 'pimcoreuser'@'localhost' IDENTIFIED BY 'password';

Then, with the following command, grant all privileges to the Pimcore database:

MariaDB [(none)]> GRANT ALL ON pimcoredb.* TO 'pimcoreuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Then, using the following command, flush the privileges:


Finally, use the following command to quit the MariaDB shell:

MariaDB [(none)]> EXIT

Install Pimcore

After that, you must download the most recent version of Pimcore on your computer. You can get it from their official website by using the command:


When the download is finished, use the following command to unzip the downloaded file in the Nginx web root directory:

sudo mkdir /var/www/html/pimcore
sudo unzip -d /var/www/html/pimcore

Next, use the following command to assign correct rights to the pimcore directory:

sudo chown -R www-data:www-data /var/www/html/pimcore/
sudo chmod -R 755 /var/www/html/pimcore/

Configure Nginx for Pimcore

The next step is to build a Pimcore CMS virtual host file in Nginx. Use the following command to achieve this:

sudo nano /etc/nginx/sites-available/pimcore

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/pimcore;
    index  index.php index.html index.htm;
    client_max_body_size 100M;

    location / {
    try_files $uri /app.php$is_args$args;        

    location ~ ^/app\.php(/|$) {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         send_timeout 1800;
         fastcgi_read_timeout 1800;
         include fastcgi_params;

When you’re finished, save and close the file.

Next, use the following command to enable the Nginx virtual host file:

sudo ln -s /etc/nginx/sites-available/pimcore /etc/nginx/sites-enabled/

Finally, use the following command to restart Nginx and PHP7.1-FPM:

sudo systemctl restart nginx
sudo /etc/init.d/php7.1-fpm restart

Access Pimcore CMS

So now Pimcore has been installed and configured, you may visit the Pimcore web interface.

Do you ever find yourself in the heat of the battle? Do you have any reservations about completing the installation without any hassle? I have some great news to share with you. HelptoInstall offers a low-cost Pimcore Installation service that is tailored to your excellence.