Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
VGSources
Blog

How to Install PrestaShop 9 on a Linux VPS (2026 Guide)

Install PrestaShop 9 on a Linux VPS with the right PHP, web server and database versions. Follow the database, permissions, browser or CLI installer, hardening and staging checklist.
Length11 min Posted Quest giverVGSources Team

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To install PrestaShop 9 on a Linux VPS, prepare a supported Linux server, Apache 2.4+ or Nginx 1.0+, PHP 8.1 or newer (PHP 8.5 is the current recommendation), MySQL 5.7 or MariaDB 10.2 or newer, and a PHP memory_limit of at least 512M. Create a dedicated database, place the PrestaShop files in the web root, run the browser or command-line installer, then remove /install and lock down the server before accepting orders.

This guide walks through the decisions, commands, checks and recovery steps for a production-minded deployment. Examples use a Debian/Ubuntu-style VPS; package names and service commands differ on other Linux distributions.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What PrestaShop 9 needs on a Linux VPS

PrestaShop 9 is designed for Unix-based systems such as Linux. Windows is not actively supported. The documented web-server baseline is Apache Web Server 2.4 or later; Nginx 1.0 or later is also supported. PHP 8.1 is the minimum supported line, while the current requirements page recommends PHP 8.5 for releases that support it. PHP 7.x is no longer supported.

Component Requirement or recommendation
Operating system Supported Linux distribution on a VPS
Web server Apache 2.4+ (primary documented baseline) or Nginx 1.0+
PHP 8.1 minimum; PHP 8.5 recommended where the selected release supports it
Database MySQL 5.7 minimum or MariaDB 10.2 minimum
PHP memory memory_limit of at least 512M
PHP capabilities PDO MySQL and the other extensions reported by the installer compatibility check
Network prerequisites A domain pointed at the VPS and enough server space for the application, media and database

These are compatibility floors, not a sizing formula. Catalog size, image volume, traffic, modules and import jobs determine how much CPU, RAM, storage and database capacity you actually need. Start with a VPS that leaves operating-room memory for the database, web server and background jobs instead of assigning all RAM to PHP.

Plan the deployment before logging in

Point DNS at the VPS

Create an address record for the shop host name and point it to the VPS public IP. If you will serve both the bare domain and a www name, decide which one is canonical and redirect the other after the store works. DNS changes can take time to appear, so verify resolution from an external network before launching the installer.

Choose a supported Linux image

Use a maintained distribution with security updates and a package repository that can provide the PHP version required by your chosen PrestaShop release. Record the distribution version, PHP package source and database version. This makes a later staging rebuild reproducible and helps explain differences if production and test behave differently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decide who owns the files

Web-server processes need to read the application and write only to directories that PrestaShop requires. Do not solve installer errors by making the entire document root world-writable. Plan a deployment user, a web-server group and a directory layout before extracting the release.

Prepare access and recovery

Use SSH keys, disable password login when your provider permits it, and restrict administrative SSH access. Allow only the ports needed for SSH and web traffic in the VPS firewall. Arrange an off-server backup destination for both the database and uploaded files; a snapshot alone is not a substitute for a restorable database export.

Apache or Nginx: which should you use?

Neither server is universally superior according to PrestaShop’s requirements. Use the one your team already operates confidently, because correct PHP, rewrite, logging and permission configuration matters more than the label on the web server.

Decision point Apache Nginx
Documented baseline 2.4 or later 1.0 or later
PHP connection Typically PHP-FPM or a distribution-supported PHP handler PHP-FPM is required for the usual setup
Configuration emphasis Virtual host, rewrite rules and directory access policy Server block, PHP-FPM socket and rewrite rules
Best fit Teams familiar with Apache virtual hosts and its logging tools Teams already standardised on Nginx and comfortable managing FastCGI

Do not run both as competing public front ends unless you have a deliberate proxy design. Pick one process to listen on ports 80 and 443, then test the exact host name that will be used by the store.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the web, PHP and database stack

Update the operating system

Log in as a privileged user, apply security updates, and reboot if the kernel or core libraries require it. On a Debian/Ubuntu-style system, the sequence is commonly:

sudo apt update
sudo apt upgrade

On another distribution, use its native package manager and service layout. Do not mix package repositories intended for a different distribution release.

Install Apache

For an Apache deployment, install Apache, PHP and PHP-FPM or the PHP integration supplied by your distribution, plus the PHP extensions shown as required by the PrestaShop compatibility check. Enable the virtual-host and rewrite configuration for the site, then reload Apache after every configuration change. Keep the default site disabled or isolated so it cannot accidentally serve the store under the wrong host name.

Install Nginx and PHP-FPM

For Nginx, install Nginx, PHP-FPM and the same required PHP extensions. Configure a server block for the shop domain, pass PHP requests to the matching PHP-FPM socket, and add the PrestaShop rewrite rules supplied for your release. A server block that serves static files correctly but points PHP requests to the wrong socket will produce download prompts, 502 errors or blank responses, so test a small PHP health file and remove it immediately after testing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install MySQL or MariaDB

Install a maintained MySQL or MariaDB release that meets the minimum version. Start the database service, enable it at boot, and apply the distribution’s hardening procedure. Keep the database listener private unless a separate application server genuinely needs remote access.

Configure PHP before running PrestaShop

Find the php.ini file used by the web SAPI, not only the command-line PHP configuration. PHP-FPM and Apache can load a different file from the one shown by php --ini. Create a small diagnostic page or use the server’s PHP information command to identify the active configuration, then remove diagnostic output before launch.

Set the memory limit

Set:

memory_limit = 512M

The 512M value is the documented minimum recommendation. Raising it can prevent large imports or image operations from exhausting PHP, but it does not compensate for insufficient VPS RAM. Restart PHP-FPM or reload Apache after changing the file, then confirm the effective value through the web SAPI.

Install and verify extensions

The compatibility check tests PHP settings, file uploads, permissions and extensions, including PDO MySQL. Install the extensions required by the specific PrestaShop release and verify them in the same PHP SAPI that serves the store. A command-line module list can be useful, but the browser check is authoritative for the web process.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check upload and request limits

Ensure PHP permits uploads large enough for your product images, themes and modules, and that web-server request limits do not reject those files first. Set values deliberately for your catalog workflow rather than copying an unlimited setting. Restart the relevant service and retest after editing.

Create a dedicated PrestaShop database

Use a separate database and database user for each store. The installer asks for the database host, name, user and password, so record them in a password manager before opening the installer.

After connecting to MySQL or MariaDB as an administrative account, run SQL equivalent to the following, replacing the example names and password with unique values:

CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'prestashop_user'@'localhost' IDENTIFIED BY 'use-a-long-unique-password';
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop_user'@'localhost';
FLUSH PRIVILEGES;

If the web server and database run on separate machines, use the application server’s private address instead of localhost and restrict the database firewall accordingly. Do not grant global privileges when database-level privileges are sufficient. Test the credentials from the VPS before blaming the installer for an authentication failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Download and place the PrestaShop release

Obtain the release safely

Download the intended PrestaShop release from its official release channel, verify the archive and keep a copy of the version number in your deployment notes. Do not extract an unverified archive directly into the live document root.

Extract into the document root

Create the virtual-host document root, extract the archive there, and ensure the expected application files are at the root served by Apache or Nginx. Avoid an accidental nested path such as /var/www/shop/prestashop/prestashop, which makes the domain show a directory listing or a missing index.

Apply ownership and permissions

Set ownership so the deployment account can update code during a controlled release and the web-server account can read it. Grant write access only to directories that the installer and running shop need, such as cache, image and upload locations identified by the release documentation. Use normal directory and file modes; never leave a temporary recursive 777 permission in place. If the installer reports a write failure, correct the owner, group, ACL or SELinux/AppArmor policy instead of widening every permission.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run the six-step browser installer

With DNS resolving and the virtual host serving the extracted files, open the shop URL in a browser. PrestaShop launches a six-step installation assistant. Keep a second terminal open so you can inspect web-server and PHP logs if a step fails.

  1. Select language and accept the licenses. Choose the installation language, read the license screens and accept the required terms.
  2. Run the compatibility check. Let the assistant test PHP version, settings, extensions, file uploads and filesystem permissions. Stop here if a red check remains; the resulting message usually identifies the setting or path to fix.
  3. Enter store information. Supply the shop name, country, activity and administrator account details. Use a unique administrator password and an address you can monitor for recovery messages.
  4. Enter database credentials. Provide the database server, database name, user and password created earlier. Use the actual host name or private address and test the connection before proceeding.
  5. Install the schema and files. Allow the assistant to create tables and write configuration. Large or slow VPS instances may take several minutes; do not refresh repeatedly while the request is still running.
  6. Confirm completion. Record the generated administrator directory name and test both the storefront and the back office in separate browser sessions.

PrestaShop’s installation documentation describes the goal plainly: “PrestaShop should not be hard to install.” When it is not straightforward, the compatibility report and server logs are more useful than repeatedly submitting the same form.

Use the CLI workflow for repeatable provisioning

A command-line installation is useful when you build more than one VPS, automate staging, or need a deployment that can be replayed. Use the CLI installer included with the exact release you downloaded, run it from the extracted application directory, and inspect its built-in help for the release-specific option names. Supply the same store, administrator and database values as the browser assistant, preferably through protected environment or secret-management mechanisms rather than shell history.

Run the CLI as the deployment identity that owns the files, or explicitly set the resulting ownership afterward. Capture the exit status and installer log, and make the command fail the deployment when the database connection, PHP check or filesystem check fails. A successful process exit is not enough: request the storefront and back office over HTTP and inspect the web-server error log before declaring the build complete.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Secure the installation immediately after completion

Delete the installer directory

Remove the /install directory exactly as the official instructions require. Leaving it accessible can expose the installation workflow or allow an accidental reconfiguration.

Record the generated administrator path

PrestaShop renames the administrator directory during installation. Record that generated name in your password manager or deployment notes, then restrict access to the back office with strong authentication, a firewall or an upstream access policy appropriate to your team.

Review permissions and ownership

Recheck that application code is not broadly writable, that runtime directories remain writable by the web process, and that configuration files containing database credentials are readable only by the identities that need them. Confirm that no temporary diagnostic script, archive or database dump is downloadable from the document root.

Enable HTTPS and operational controls

Install a valid TLS certificate for the real host names, redirect plain HTTP once validation succeeds, and verify that secure cookies and canonical URLs use HTTPS. Keep the VPS firewall enabled, restrict administrative ports, configure log rotation and monitor disk space. These are deployment tasks around PrestaShop rather than steps performed by the installer itself.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Validate the store before launch

Use a checklist rather than relying on the installer completion screen:

  • Open the storefront and administrator area over HTTPS.
  • Create a test product, add it to a cart and complete a non-production checkout path.
  • Upload a product image and confirm that thumbnails and media URLs work.
  • Send a test email and verify the configured mail transport.
  • Check friendly URLs, redirects, cache behavior and PHP error logs.
  • Confirm that the database user has only the privileges required for this store.
  • Run a backup of the database and uploaded files, then perform a test restore somewhere safe.
  • Check available disk, RAM and swap while rebuilding indexes or processing images.

Keep a staging copy for updates

Maintain a separate test or pre-production copy before changing PHP, PrestaShop, themes or modules. Restore a recent production database backup into staging, use a separate domain or access restriction, and disable real customer emails and payment callbacks there.

Before a PHP change, back up the site and database and verify that every installed module and theme supports the target PHP line. The PHP help guidance specifically recommends checking compatibility and making a backup before changing PHP. Test the full checkout, back-office tasks, imports, cron jobs and image processing in staging, then schedule the production change with a rollback plan.

Troubleshoot common installation failures

Symptom Likely cause What to check first
Compatibility check fails Unsupported PHP version, missing extension, incorrect PHP setting, upload limit or filesystem permission Read the failed check, verify the web SAPI configuration, install the named extension, correct ownership and rerun the check
Database connection rejected Wrong host, database name, user, password or host-based grant Test the credentials locally, confirm the database service is running and match the installer host to the SQL account’s allowed host
502 or gateway error with Nginx PHP-FPM stopped or the server block points to the wrong socket Check the PHP-FPM service, socket path and Nginx error log; reload Nginx after correction
PHP source downloads or appears as text PHP handler is not connected to Apache or Nginx Verify the enabled Apache PHP integration or Nginx FastCGI configuration and test the active PHP SAPI
Installer cannot write files Wrong owner, group, ACL or security policy Inspect the failing path, set least-privilege ownership and review SELinux/AppArmor events before changing modes
Works in staging but not production Different PHP extensions, virtual-host rules, database credentials, ownership or cache state Compare the two environments item by item and clear only the affected cache after taking a backup
Large import or image job exhausts PHP Memory limit too low for the workload or insufficient VPS RAM Confirm the effective memory_limit is at least 512M, inspect PHP and system logs, and size the VPS for the job

When PHP is changed, do not immediately modify application code to hide errors. First compare the old and new PHP extension sets, review module and theme compatibility, restore the last known-good backup if necessary, and test the change in staging.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Production launch checklist

  1. Supported Linux distribution, web server and database versions are documented.
  2. PHP 8.1 or newer is active for the web process; PHP 8.5 is used when supported by the selected release.
  3. PHP memory_limit is at least 512M and required extensions, including PDO MySQL, pass the compatibility check.
  4. DNS, virtual host/server block and HTTPS all use the intended canonical domain.
  5. Dedicated database credentials work and are stored securely.
  6. Application ownership and runtime write permissions follow least privilege.
  7. /install is deleted and the generated administrator directory is recorded.
  8. Firewall, SSH access, log rotation, monitoring and backups are active.
  9. Staging has passed checkout, email, media, import and back-office tests for the exact PHP, theme and module set.
  10. A tested restore and rollback procedure exists before customers are sent to the store.

With those checks complete, PrestaShop 9 is ready to serve customers from the Linux VPS. Keep the staging copy and deployment notes current so the next PHP, module or core update is a controlled change rather than an emergency repair.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

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

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.