Installer PrestaShop 1.6 sans erreur 500 : permissions, PHP et performances
Guide complet pour installer PrestaShop 1.6 sans erreur 500 : permissions fichiers, choix PHP 7, logs Apache, optimisation TTFB avec OPcache et Memcached.
En bref : Pour installer PrestaShop 1.6 sans erreur 500 : consultez error.log d'Apache pour diagnostiquer, corrigez les permissions (755/644 avec chown www-data), utilisez PHP 7+ pour diviser le TTFB par deux, et activez OPcache + Memcached dès le départ.
Introduction
L'installation de PrestaShop 1.6 peut sembler straightforward, mais dans la pratique, de nombreux marchands et développeurs se heurtent à des erreurs 500 inexpliquées dès les premières étapes. Dans 90 % des cas, le problème vient de trois facteurs : des permissions fichiers incorrectes, une incompatibilité de version PHP, ou un environnement serveur mal configuré.
Ce guide couvre la méthodologie complète pour installer PrestaShop 1.6 proprement, diagnostiquer les erreurs courantes, et optimiser les performances dès le départ. Les principes fondamentaux restent valables pour PrestaShop 8.x, avec les adaptations que je signalerai au fil de l'article.
Choisir le bon environnement serveur
Stack recommandée pour PrestaShop 1.6
Avant même de lancer l'installateur, le choix de l'environnement est déterminant. Voici la stack que je recommande après des années de déploiements en production :
Point important : PrestaShop 1.6 est officiellement compatible PHP 7 depuis la version 1.6.1.4, comme annoncé par l'équipe core sur le blog Build PrestaShop. Si vous êtes encore sur PHP 5.6, la migration vers PHP 7.x est l'un des meilleurs gains de performance que vous puissiez obtenir sans toucher au code.
Pour PrestaShop 8.x : La stack minimale est PHP 8.1, MySQL 5.7+ ou MariaDB 10.4+, et Apache 2.4 ou Nginx. Les principes de configuration restent identiques.
Pourquoi la version PHP compte autant
Lors de mes tests sur un VPS SSD 1 d'OVH, j'ai mesuré des différences significatives :
- **PHP 5.6 + Ubuntu 14.04** : TTFB (Time To First Byte) autour de **180 ms**
- **PHP 7.1 + Ubuntu 16.04** : TTFB descendu à **moins de 80 ms** après mise en cache
C'est une réduction de plus de 55 % du temps de réponse serveur, sans aucune modification du code PrestaShop. Cette amélioration provient du moteur Zend Engine 3 de PHP 7, qui optimise la gestion mémoire et la vitesse d'exécution du bytecode.
Résoudre l'erreur 500 à l'installation
Étape 1 : consulter les logs d'erreur Apache
Une erreur 500 est une réponse générique du serveur web. Elle ne vous dit rien sur la cause réelle du problème. La première chose à faire — et c'est non négociable — est de consulter le log d'erreur Apache.
Attention à ne pas confondre les fichiers de log :
- `access.log` : enregistre toutes les requêtes reçues (200, 301, 404, 500…). Utile pour voir *quelles* URLs génèrent des erreurs, mais pas *pourquoi*.
- `error.log` : contient les messages d'erreur PHP, les problèmes de permissions, les modules Apache manquants. **C'est celui-ci qu'il faut lire.**
# Sur un serveur Ubuntu/Debian, les logs Apache se trouvent ici :
tail -100 /var/log/apache2/error.log
# Pour suivre les erreurs en temps réel pendant l'installation :
tail -f /var/log/apache2/error.log
Sur un hébergement mutualisé, les logs sont généralement accessibles via le panneau d'administration (cPanel, Plesk) dans la section « Logs » ou « Statistiques ». Si votre hébergeur ne fournit pas l'accès aux logs d'erreur, c'est un signal fort pour envisager un VPS.
Pour PrestaShop 8.x : Les logs applicatifs se trouvent également dans
var/logs/à la racine de PrestaShop (fichiersdev.logetprod.logselon l'environnement).
Étape 2 : corriger les permissions fichiers
Les erreurs de permissions sont la cause numéro un des erreurs 500 à l'installation. PrestaShop a besoin de lire et écrire dans de nombreux répertoires (cache, logs, uploads, configuration).
#### En ligne de commande SSH (recommandé)
# Définir le propriétaire correct (votre utilisateur + groupe Apache)
chown -R votre_utilisateur:www-data /var/www/prestashop
# Permissions temporaires pour l'installation (plus permissives)
chmod -R 755 /var/www/prestashop
find /var/www/prestashop -type f -exec chmod 644 {} \;
find /var/www/prestashop -type d -exec chmod 755 {} \;
# Rendre les dossiers critiques inscriptibles par Apache
chmod -R 775 /var/www/prestashop/var
chmod -R 775 /var/www/prestashop/cache
chmod -R 775 /var/www/prestashop/img
chmod -R 775 /var/www/prestashop/upload
chmod -R 775 /var/www/prestashop/download
chmod -R 775 /var/www/prestashop/config
chmod -R 775 /var/www/prestashop/themes
chmod -R 775 /var/www/prestashop/modules
chmod -R 775 /var/www/prestashop/translations
#### Via FileZilla (si pas d'accès SSH)
Si vous n'avez pas d'accès SSH (hébergement mutualisé sans terminal) :
- Ouvrez FileZilla et connectez-vous à votre serveur
- Naviguez jusqu'au dossier racine de PrestaShop
- Clic droit sur le dossier → **Permissions du fichier** (ou *File Permissions*)
- Entrez la valeur `755` pour les dossiers
- **Cochez impérativement** « Appliquer récursivement aux sous-répertoires »
- Pour les fichiers, appliquez `644` récursivement
- **TTFB** (Time To First Byte) : objectif < 200 ms, idéalement < 100 ms
- **Temps de réponse complet** : objectif < 1 seconde sur les pages catalogue
- **Comportement sous charge** : le TTFB ne doit pas exploser avec 10-20 utilisateurs simultanés
- **Préparer le serveur** : installer la stack LAMP/LEMP avec les bonnes versions
- **Configurer PHP** : activer les extensions requises (`curl`, `gd`, `intl`, `mbstring`, `zip`, `xml`, `mysql`)
- **Activer OPcache** dès le départ
- **Télécharger PrestaShop** depuis le site officiel (jamais depuis une source tierce)
- **Configurer les permissions** : `chown` correct + `755/644`
- **Lancer l'installation** avec `tail -f error.log` dans un second terminal
- **Tester le back-office** et le front-office
- **Supprimer le dossier `/install`** et renommer le dossier `/admin`
- **Resserrer les permissions** en production
- **Configurer le cache** (Memcached ou Redis) et le système de smarty
#### Sécuriser après l'installation
Une fois l'installation terminée avec succès, il est impératif de resserrer les permissions :
# Permissions de production sécurisées
find /var/www/prestashop -type d -exec chmod 755 {} \;
find /var/www/prestashop -type f -exec chmod 644 {} \;
# Seuls les dossiers nécessitant l'écriture gardent 775
chmod -R 775 /var/www/prestashop/var
chmod -R 775 /var/www/prestashop/cache
chmod -R 775 /var/www/prestashop/img
chmod -R 775 /var/www/prestashop/upload
chmod -R 775 /var/www/prestashop/download
# Supprimer le dossier d'installation
rm -rf /var/www/prestashop/install
N'utilisez jamais chmod 777 en production. Le 777 donne les droits de lecture, écriture et exécution à tout le monde, y compris aux autres utilisateurs du serveur. Sur un hébergement mutualisé, c'est une faille de sécurité majeure. Le 775 avec un chown correct vers www-data offre les mêmes fonctionnalités sans exposer vos fichiers.
Optimiser les performances dès l'installation
Activer OPcache
OPcache précompile le bytecode PHP et le stocke en mémoire, éliminant la recompilation à chaque requête. C'est le gain de performance le plus simple à activer.
; /etc/php/7.1/apache2/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=0
Configurer Memcached comme cache objet
Memcached (à ne pas confondre avec Memcache, qui est un module PHP plus ancien et moins performant) permet à PrestaShop de stocker ses objets en cache mémoire plutôt que sur le disque.
# Installation
sudo apt-get install memcached php7.1-memcached
# Vérifier que le service tourne
sudo systemctl status memcached
Dans le back-office PrestaShop : Paramètres avancés → Performances → Mise en cache, sélectionnez Memcached et configurez le serveur (127.0.0.1:11211).
Mesurer les résultats
Pour valider vos optimisations, ne vous fiez pas uniquement aux outils en ligne comme Google PageSpeed Insights. Ces outils mesurent le temps de réponse depuis leurs propres serveurs et donnent une bonne indication de ce que Google Bot percevra, mais pour des métriques fiables sous charge réelle, utilisez un outil de test de charge comme Tsung ou Apache JMeter.
Les métriques clés à surveiller :
Checklist d'installation complète
Voici la procédure que j'applique systématiquement sur mes déploiements :
Erreurs courantes et solutions rapides
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

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.