
PIMCore is a free and open-source enterprise content management system written in PHP. It combines Product Information Management (PIM), Master Data Management (MDM), Digital Asset Management (DAM), a Customer Data Platform (CDP), and a Digital Experience Platform (DXP) in a single application, with web content management and print publishing built in.
This article explains how to install PIMCore on an Ubuntu 20.04 server. It covers installing Apache, PHP-FPM, and MySQL, creating the application database, deploying PIMCore with Composer, configuring an Apache virtual host, and reaching the administrator interface.
Ubuntu 20.04 LTS reached the end of its standard five-year support window on 31 May 2025. It no longer receives security updates through the normal channels, so a server running it accumulates unpatched kernel and package vulnerabilities and is not suitable for a host exposed to the public internet.
Before you begin, you need to:
example.com to your server's public IP address.The stack this article installs meets the following minimum versions:
Ubuntu 20.04 does not ship PHP 8.0 in its default repositories, so the packages come from the ondrej/php repository. PHP-FPM handles the application requests while Apache serves the site and proxies PHP to that process pool.
Update the package list.
Install the tooling required to add a third-party repository.
Add the PHP repository.
Refresh the package list so that it includes the new repository.
Install Apache, MySQL, PHP, and the extensions PIMCore requires.
Open the PHP-FPM configuration file.
Find the following directives and set them to the values below.
Save and close the file.
memory_limit: Raises the per-request memory ceiling, which PIMCore needs when building assets and running the installer.upload_max_filesize and post_max_size: Allow larger asset uploads through the administrator interface.Enable the Apache modules that forward requests to PHP-FPM.
Enable the PHP-FPM configuration.
Restart Apache to apply the changes.
PIMCore stores its content, asset metadata, and user accounts in MySQL. Securing the server first removes the anonymous accounts and test database that a default installation leaves in place.
Enable MySQL to start at boot.
Run the security script.
The script asks a series of questions. Answer them as follows:
n.y.y.y.y.Log in to the MySQL shell and enter your password when prompted.
Create a database named pimcore.
Create a database user. Replace DB-PASSWORD with a strong password.
Grant the user full access to the database.
Apply the privilege changes.
Exit the MySQL shell.
Composer resolves the PIMCore packages and their dependencies into the web root. The COMPOSER_MEMORY_LIMIT variable removes the memory ceiling for this command, because resolving the dependency tree exceeds the default limit.
Install the packages Composer needs to fetch the project.
Install Composer.
Change to the web root.
Create the project.
Change to the installation directory.
Run the installer. Enter the database credentials you created earlier and the administrator account you want to use.
Set the directory ownership to the web server user.
Set the directory permissions.
Apache serves the application from the public directory rather than the project root, which keeps the configuration files and vendor directory outside the web root. The rewrite module is required because PIMCore routes every request through a front controller.
Allow HTTP traffic through the firewall.
Create the virtual host file.
Add the following configuration. Replace example.com with your domain and admin@example.com with your email address.
Save and close the file.
DocumentRoot: Points at the public directory so that only the front controller and assets are reachable.AllowOverride All: Lets the bundled .htaccess file apply the rewrite rules that PIMCore requires.Enable the rewrite module.
Enable the new virtual host.
Disable the default virtual host.
Restart Apache to apply the configuration.
The administrator interface is served from the /admin/ path on the domain you configured. Signing in confirms that Apache, PHP-FPM, and the database are all working together.
Open the administrator interface in a web browser. Replace example.com with your domain.
Sign in with the administrator account you created during the installation.
You have installed PIMCore on an Ubuntu 20.04 server with Apache, PHP-FPM, and MySQL, and reached the administrator interface through your own domain. Secure the site with a TLS certificate before exposing it publicly, and review the data model and asset settings in the administrator interface to start building your catalog. For more information, visit the official PIMCore documentation.
0 Comments
Be the first to comment and share your perspective with the community.