This guide installs PrestaShop 9.0 on a self-hosted Linux server.
Current Version: 9.0.x (released 2025-2026)
| Component | Requirement |
|---|---|
| PHP | 8.1+ (8.2+ recommended) |
| Database | MySQL 5.7+ or MariaDB 10.2+ with utf8mb4 |
| Web Server | Apache 2.4+ or Nginx 1.x |
| PHP Extensions | curl, dom, fileinfo, gd, intl, json, mbstring, openssl, pdo, pdo_mysql, zip, zlib, xml, soap |
| Memory | 1GB RAM minimum (2GB+ recommended) |
# Required PHP extensions for PrestaShop 9
curl dom fileinfo gd intl json mbstring openssl pdo pdo_mysql zip zlib xml soap
Ubuntu/Debian:
apt update
apt install apache2 mariadb-server git unzip curl
# Install PHP 8.2 and required extensions
apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-curl php8.2-gd \
php8.2-intl php8.2-mbstring php8.2-xml php8.2-zip php8.2-soap php8.2-opcache \
php-composer2
RHEL/Rocky Linux:
dnf install httpd mariadb-server git unzip curl
# Install PHP 8.2 and required extensions (requires EPEL/Remi repositories)
dnf install php php-mysqlnd php-curl php-gd php-intl php-mbstring php-xml \
php-zip php-soap php-opcache php-composer2
Create a database and user for PrestaShop:
mysql -u root -p -e "CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p -e "CREATE USER 'prestashop'@'localhost' IDENTIFIED BY 'strong-password-here';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost';"
mysql -u root -p -e "FLUSH PRIVILEGES;"
Option A: Composer (Recommended)
cd /var/www/html
composer create-project prestashop/prestashop prestashop
Option B: Download Archive
cd /var/www/html
wget https://github.com/PrestaShop/PrestaShop/releases/download/9.0.0/prestashop_9.0.0.zip
unzip prestashop_9.0.0.zip
rm prestashop_9.0.0.zip
chown -R www-data:www-data /var/www/html/prestashop
find /var/www/html/prestashop -type d -exec chmod 755 {} \;
find /var/www/html/prestashop -type f -exec chmod 644 {} \;
chmod +x /var/www/html/prestashop/console
Open http://YOUR-SERVER/prestashop in your browser and follow the installation wizard.
Provide:
PrestaShop requires cron jobs for scheduled tasks:
crontab -e -u www-data
Add:
0 * * * * curl -s http://localhost/prestashop/modules/autoupgrade/cron.php
cd /var/www/html/prestashop
php console cache:clear
php console asset:install
For production, always use HTTPS. Configure via Apache/Nginx or place behind a reverse proxy with Let’s Encrypt.
PrestaShop has built-in SSL configuration in Configure → Shop Parameters → Traffic.
Consider installing these popular PrestaShop modules:
# Via Composer
cd /var/www/html/prestashop
composer require prestashop/module-ps-emailsubscription
composer require prestashop/module-ps-bestviewed
Or install via Modules → Module Manager in the admin panel.
Prefer automation? See PrestaShop Ansible Setup for an example playbook.
Prefer containers? See PrestaShop Docker Setup.
Any questions?
Feel free to contact us. Find all contact information on our contact page.