Prestashop installation rapide

Ce guide vous permet de déployer une instance PrestaShop en local ou sur un serveur Linux (VPS) en quelques minutes, via Docker.

⚠️ Cette configuration utilise une base de données MySQL de test, non sécurisée, et une installation automatique non adaptée à la production.

Elle est idéale pour du développement local, des tests de modules ou des démonstrations temporaires.

Prérequis

Créer un dossier pour PrestaShop

mkdir ~/prestashop
cd ~/prestashop

Contenu du fichier 

docker-compose.yml


services:
  mysql:
    container_name: prestashop-mysql
    image: mysql:5.7
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: admin
      MYSQL_DATABASE: prestashop
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - prestanet

  prestashop:
    container_name: prestashop
    image: prestashop/prestashop:latest
    restart: unless-stopped
    depends_on:
      - mysql
    ports:
      - "8081:80"
    environment:
      DB_SERVER: prestashop-mysql
      DB_NAME: prestashop
      DB_USER: root
      DB_PASSWD: admin
      PS_INSTALL_AUTO: 1
      PS_DOMAIN: 123.123.123.123
      ADMIN_MAIL: [email protected]
      ADMIN_PASSWD: MonMotDePasseUltraSecurise123
    volumes:
      - prestashop_data:/var/www/html
    networks:
      - prestanet

volumes:
  mysql_data:
  prestashop_data:

networks:
  prestanet:

Autoriser le port dans le pare-feu

ufw allow 8081/tcp
ufw reload

Lancer PrestaShop

docker compose up -d

Renommer le dossier admin

PrestaShop bloque l’accès au back-office si le dossier /admin n’a pas été renommé.

Pour le faire automatiquement avec un nom aléatoire :

docker exec prestashop bash -c 'cd /var/www/html && newadmin="admin$(cat /dev/urandom | tr -dc a-z0-9 | head -c24)" && mv admin "$newadmin" && echo "$newadmin"'

Copiez le nom retourné, c’est votre URL de back-office.

Accéder à la boutique

  • Front-office : http://123.123.123.123:8081
  • Le back-office se trouve à une URL générée automatiquement, par exemple :http://123.123.123.123:8081/adminxyz123456789/

Connexion au back-office

Utilisez les identifiants définis dans le docker-compose.yml

Passer en production : ce qu’il faut sécuriser

La configuration ci-dessus est faite pour tester vite. Avant d’ouvrir la boutique au public, durcissez au minimum ces points :

  • Mots de passe : remplacez admin et le mot de passe d’exemple par des chaînes longues et uniques (idéalement via un fichier .env non versionné).
  • Base de données : préférez mysql:8.0 ou mariadb:11 à l’image mysql:5.7 (en fin de vie), et n’exposez jamais le port MySQL sur Internet.
  • HTTPS : placez un reverse-proxy (Traefik, Nginx ou Caddy) devant le conteneur pour gérer un certificat Let’s Encrypt et servir la boutique en https://.
  • Sauvegardes : planifiez un mysqldump régulier du volume mysql_data et une copie du volume prestashop_data.
  • Pare-feu : avec ufw, n’ouvrez que les ports 80/443 et fermez le 8081 une fois le proxy en place.

Dépannage rapide

  • La page reste blanche / 500 : laissez 30 à 60 s à l’installation auto, puis consultez docker compose logs -f prestashop.
  • Erreur de connexion MySQL : vérifiez que DB_SERVER correspond bien au container_name du service MySQL.
  • Boucle de redirection : assurez-vous que PS_DOMAIN correspond à l’adresse réellement utilisée (IP ou nom de domaine).

Pour aller plus loin

Une fois votre PrestaShop en ligne, automatisez ce qui vous fait perdre du temps : la création automatique de fiches produits, les automatisations IA pour PrestaShop 9, ou l’usage de ChatGPT avec PrestaShop.

FAQ

Combien de temps prend l’installation ?

Avec Docker, comptez quelques minutes : le temps de télécharger les images et de laisser l’installation automatique (PS_INSTALL_AUTO) se dérouler.

Peut-on installer PrestaShop sans Docker ?

Oui, via une installation classique (LAMP) ou l’auto-installeur de votre hébergeur. Docker reste la voie la plus rapide et reproductible pour un environnement de test.

Cette méthode convient-elle à une vraie boutique ?

Telle quelle, non : elle vise le développement et les tests. Pour la production, appliquez les points de sécurisation ci-dessus (mots de passe, HTTPS, sauvegardes, base à jour).

Publications similaires