⚙️ ConfigurationIntermédiaire PS 1.6 PS 1.7 PS 8.x

Migrer PrestaShop sur un VPS OVH : guide complet du serveur au SSL

Guide complet pour installer et migrer PrestaShop sur un VPS OVH Cloud : configuration Apache, vhosts, SSL Let's Encrypt, transfert BDD et bonnes pratiques.

En bref : Guide complet pour migrer PrestaShop sur un VPS OVH Cloud : choix du serveur, installation de la stack (Nginx/Apache + PHP 8.1 + MariaDB), configuration des vhosts, SSL Let's Encrypt gratuit, et procédure de transfert de boutique en 6 étapes avec les bonnes pratiques de sécurité.

Publié le 21 mars 2026 8 min de lecture Alexandre Carette

Pourquoi migrer PrestaShop sur un VPS ?

L'hébergement mutualisé atteint rapidement ses limites dès qu'une boutique PrestaShop génère du trafic régulier. Temps de réponse dégradés, impossible de configurer finement PHP ou MySQL, pas de SSL gratuit à l'époque des mutualisés classiques… Le VPS s'impose comme le compromis idéal entre performances et budget.

Après avoir administré des dizaines de VPS OVH Cloud pour des boutiques PrestaShop, je partage ici la méthode complète : du choix du serveur à la mise en production avec SSL.

Choisir son VPS OVH Cloud

Quelle offre retenir ?

Les VPS Cloud OVH offrent un excellent rapport performances/prix pour PrestaShop. Pour une boutique standard (catalogue < 5 000 produits, trafic < 50 000 visites/mois), un VPS Cloud 2 constitue un bon point de départ.

Points clés pour le choix :

  • **RAM** : minimum 4 Go pour faire tourner MySQL + PHP-FPM + le serveur web confortablement
  • **Stockage SSD** : indispensable pour les performances de la base de données
  • **Localisation** : datacenter en France pour le SEO et la conformité RGPD

Conseil avancé : pour une boutique à fort trafic, envisagez deux VPS distincts — un pour l'applicatif, un pour la base de données. Cela facilite aussi la montée en charge progressive et protège contre les crashes MySQL liés au swap quand Apache consomme trop de mémoire.

Système d'exploitation

Privilégiez Ubuntu LTS ou Debian stable. Les deux partagent les mêmes commandes (base Debian), mais Ubuntu bénéficie d'une communauté plus large et de mises à jour plus fréquentes.

Évitez l'installation PrestaShop pré-packagée d'OVH. Elle installe une version souvent obsolète et crée des tables qui peuvent entrer en conflit avec votre propre installation. Mieux vaut installer un OS vierge et maîtriser toute la chaîne.

Se connecter au serveur en SSH

Après la livraison du VPS, OVH fournit les identifiants root par e-mail.

Depuis Linux ou macOS


# Connexion standard (port 22)
ssh root@votre-domaine.com

# Si vous avez changé le port SSH (recommandé pour la sécurité)
ssh root@votre-domaine.com -p 2222

Depuis Windows

Utilisez PuTTY ou, mieux encore, le terminal Windows intégré depuis Windows 10 qui supporte SSH nativement.

Sécurisation immédiate

Avant toute installation, sécurisez le serveur :


# Mettre à jour le système
apt update && apt upgrade -y

# Changer le port SSH par défaut
nano /etc/ssh/sshd_config
# Modifier la ligne : Port 2222

# Créer un utilisateur non-root
adduser prestashop
usermod -aG sudo prestashop

# Redémarrer SSH
systemctl restart sshd

Sécurité : n'utilisez jamais FTP classique (protocole non chiffré). Configurez SFTP via votre connexion SSH existante — FileZilla le supporte nativement. Si vous avez besoin d'un serveur FTP dédié, ProFTPD avec TLS reste une option, mais SFTP est largement préférable.

Installer la stack serveur

Stack recommandée en 2025

Pour PrestaShop 8.x, la stack optimale a évolué :


# Installer Nginx (plus performant qu'Apache pour PrestaShop)
apt install -y nginx

# PHP 8.1 (requis pour PrestaShop 8.x)
apt install -y php8.1-fpm php8.1-mysql php8.1-gd php8.1-curl \
  php8.1-zip php8.1-xml php8.1-mbstring php8.1-intl php8.1-bcmath

# MariaDB (fork MySQL, meilleures performances)
apt install -y mariadb-server

# Sécuriser MariaDB
mysql_secure_installation

Alternative avec Apache

Si vous préférez Apache (plus de documentation PrestaShop disponible) :


apt install -y apache2 libapache2-mod-php8.1
a2enmod rewrite headers ssl
systemctl restart apache2

Note historique : en 2016, la stack classique était Apache + MySQL + PHP 5.6/7.0. Aujourd'hui, Nginx + MariaDB + PHP 8.1 offre des performances nettement supérieures, et PrestaShop 8.x exige au minimum PHP 7.4.

Configurer le Virtual Host

La configuration du vhost est une étape critique souvent source d'erreurs. Voici la méthode complète.

Avec Nginx (recommandé)


server {
    listen 80;
    listen [::]:80;
    server_name votre-domaine.com www.votre-domaine.com;
    root /var/www/votre-domaine/prestashop;
    index index.php;

    # Logs séparés par site
    access_log /var/log/nginx/votre-domaine-access.log;
    error_log /var/log/nginx/votre-domaine-error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Bloquer l'accès aux fichiers sensibles
    location ~ /\. {
        deny all;
    }

    location ~* ^/(app|bin|cache|classes|config|controllers|docs|download|mails|modules|override|src|tests|tools|translations|var|vendor)/ {
        deny all;
    }
}

Avec Apache


<VirtualHost *:80>
    ServerAdmin admin@votre-domaine.com
    ServerName votre-domaine.com
    ServerAlias www.votre-domaine.com
    DocumentRoot /var/www/html/votre-domaine/prestashop

    ErrorLog ${APACHE_LOG_DIR}/error-votre-domaine.log
    CustomLog ${APACHE_LOG_DIR}/access-votre-domaine.log combined

    <Directory "/var/www/html/votre-domaine/prestashop">
        AllowOverride All
        Require all granted
        Options -Indexes +FollowSymLinks
    </Directory>
</VirtualHost>

Activation du site sous Apache :


# Activer le site
a2ensite votre-domaine.com.conf

# Vérifier la syntaxe
apachectl configtest

# Recharger Apache
systemctl reload apache2

Point important : configurez toujours vos vhosts avant d'installer le certificat SSL Let's Encrypt. Certbot a besoin de trouver un vhost valide pour le domaine afin de le configurer automatiquement.

Installer le certificat SSL avec Let's Encrypt

Depuis 2016, Let's Encrypt fournit des certificats SSL gratuits et renouvelés automatiquement. Plus aucune raison de rester en HTTP.


# Installer Certbot
apt install -y certbot

# Pour Nginx
apt install -y python3-certbot-nginx
certbot --nginx -d votre-domaine.com -d www.votre-domaine.com

# Pour Apache
apt install -y python3-certbot-apache
certbot --apache -d votre-domaine.com -d www.votre-domaine.com

# Vérifier le renouvellement automatique
certbot renew --dry-run

Après l'installation du certificat, activez le SSL dans PrestaShop :

  1. Back-office → **Paramètres de la boutique** → **Général**
  2. Activer SSL sur toutes les pages
  3. Forcer la redirection HTTPS
  4. Transférer une boutique existante

    La migration d'une boutique PrestaShop existante vers un nouveau serveur suit un protocole précis.

    Étape 1 : Préparer la boutique source

    
    # Vider tous les caches avant le transfert
    # Back-office → Paramètres avancés → Performances → Vider le cache
    
    # Ou en ligne de commande
    rm -rf var/cache/prod/* var/cache/dev/*  # PrestaShop 1.7+/8.x
    rm -rf cache/smarty/compile/* cache/smarty/cache/*  # PrestaShop 1.6
    

    Étape 2 : Exporter la base de données

    Méthode recommandée (ligne de commande) :

    
    mysqldump -u utilisateur -p nom_de_la_base | gzip > prestashop_backup.sql.gz
    

    Alternative via le back-office PrestaShop 1.6 : Paramètres avancés → Sauvegarde BDD (génère un .sql.bz2).

    Attention : pour PrestaShop 8.x, la sauvegarde via le back-office a été retirée. Utilisez exclusivement mysqldump ou phpMyAdmin.

    Étape 3 : Transférer les fichiers

    
    # Depuis le serveur source, créer une archive
    tar czf prestashop_files.tar.gz /var/www/html/prestashop/
    
    # Transférer via SCP (plus rapide que SFTP pour les gros volumes)
    scp prestashop_files.tar.gz root@nouveau-serveur:/var/www/html/
    
    # Sur le nouveau serveur, extraire
    cd /var/www/html/
    tar xzf prestashop_files.tar.gz
    

    Étape 4 : Importer la base de données

    
    # Créer la base et l'utilisateur sur le nouveau serveur
    mysql -u root -p
    
    
    CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'ps_user'@'localhost' IDENTIFIED BY 'mot_de_passe_solide';
    GRANT ALL PRIVILEGES ON prestashop.* TO 'ps_user'@'localhost';
    FLUSH PRIVILEGES;
    
    
    # Importer le dump
    gunzip < prestashop_backup.sql.gz | mysql -u ps_user -p prestashop
    

    Étape 5 : Mettre à jour la configuration

    Fichier config/settings.inc.php (1.6) ou app/config/parameters.php (1.7+/8.x) :

    
    // PrestaShop 8.x - app/config/parameters.php
    'database_host' => 'localhost',
    'database_name' => 'prestashop',
    'database_user' => 'ps_user',
    'database_password' => 'mot_de_passe_solide',
    

    Mettre à jour l'URL de la boutique dans la base :

    
    UPDATE ps_shop_url
    SET domain = 'nouveau-domaine.com',
        domain_ssl = 'nouveau-domaine.com'
    WHERE id_shop = 1;
    
    -- Vider le cache de configuration
    TRUNCATE TABLE ps_configuration_kpi_lang;
    

    Étape 6 : Permissions des fichiers

    
    # Définir le propriétaire
    chown -R www-data:www-data /var/www/html/prestashop/
    
    # Permissions sécurisées (JAMAIS 777 en production !)
    find /var/www/html/prestashop/ -type d -exec chmod 755 {} \;
    find /var/www/html/prestashop/ -type f -exec chmod 644 {} \;
    
    # Répertoires nécessitant l'écriture
    chmod -R 775 var/ img/ upload/ download/ config/ cache/ log/ mails/
    

    Alerte sécurité : le chmod -R 777 parfois suggéré dans les forums est une faille de sécurité majeure. Utilisez toujours des permissions restrictives avec le bon propriétaire (www-data pour Nginx/Apache).

    Configurer les e-mails

    Pour l'envoi d'e-mails transactionnels, deux approches :

    1. **Offre e-mail OVH gratuite** : 10 Go inclus avec votre nom de domaine, hébergés sur les serveurs OVH — pratique pour un contact professionnel
    2. **SMTP dédié** : pour les e-mails transactionnels (confirmations de commande), utilisez un service spécialisé comme Brevo, Mailjet ou Amazon SES
    3. Dans le back-office PrestaShop : Paramètres avancés → E-mail → Configurer les paramètres SMTP.

      Checklist post-migration

      • [ ] Le site est accessible en HTTPS
      • [ ] Les images s'affichent correctement
      • [ ] Le back-office est accessible
      • [ ] Les commandes test fonctionnent
      • [ ] Les e-mails transactionnels partent
      • [ ] Les tâches cron sont reconfigurées
      • [ ] Le `.htaccess` est régénéré (Paramètres de la boutique → Trafic et SEO)
      • [ ] Google Search Console est mis à jour avec la nouvelle URL
      • [ ] Les redirections 301 de l'ancien domaine sont en place

      Performances : aller plus loin

      Une fois la migration terminée, optimisez votre VPS :

      
      # Installer OPcache (cache PHP)
      apt install -y php8.1-opcache
      
      # Installer Redis pour le cache PrestaShop
      apt install -y redis-server php8.1-redis
      

      Dans PrestaShop 8.x, configurez le cache Redis dans app/config/parameters.php :

      
      parameters:
          cache.driver: 'CacheRedis'
          cache.redis.host: '127.0.0.1'
          cache.redis.port: 6379
      

      Ces optimisations peuvent diviser le temps de chargement par deux sur un VPS correctement dimensionné.

#vps #ovh #migration #apache #ssl #lets-encrypt #serveur #ssh #hebergement

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.