Howto PrestaShop
Documentation :
PrestaShop est une application web pour créer une boutique en ligne. Le code source est en PHP, il est disponible sur disponible sur Github.
Prérequis
https://docs.prestashop-project.org/v.8-documentation/french-1/guide-demarrage/ce-dont-vous-avez-besoin https://devdocs.prestashop-project.org/8/basics/installation/system-requirements/
- Serveur web Apache ou Nginx.
- MySQL 5.6 ou plus.
- PHP 8.1 pour Prestashop 8 et voir ce tableau pour Prestashop < 8.
- Extensions PHP indispensables :
curl
,dom
,fileinfo
,gd
,iconv
,intl
,json
,mbstring
,openssl
PDO
,pdo_mysql
,SimpleXML
,zip
.
Réglages PHP pour :
allow_url_fopen = On
;allow_url_include = Off
;memory_limit = 256M
;register_globals = Off
;upload_max_filesize = 16M
.
Réglages Apache :
- Désactiver la séparation Apache-ITK pour ce vhost :
AssignUserID foo foo
puis, si on utilise PHP-FPM, suivre aussi /HowtoApache#gestion-des-droits-avec-apache-itk-et-php-fpm ; - mod_rewrite activé ;
- mod_security désactivé ;
- mod_auth_basic désactivé ;
AllowOverride AuthConfig Limit FileInfo Indexes Options=all,multiviews
.
Bonus :
- possibilité d’avoir des tâches cron ;
- Memcached.
Installation
Télécharger la dernière version stable de PrestaShop par archive ou par dépôt git.
git clone https://github.com/PrestaShop/PrestaShop.git
Selon la version, peut avoir un problème dans le fichier
config/autoload.php
: commenter la ligne qui gène si
optionnel.
- Utiliser la ligne de commande pour installer prestashop:
$ php './install-dev/index_cli.php' --language=fr --timezone='localhost' --base_uri='/' --domain='{{ host }}' \
--db_server='{{ db_host }}' --db_user='{{ db_user }}' --db_password='{{ db_pwd }}' --db_name='{{ db_name }}' \
--db_clear=0 --db_create=0 --name='{{ site_title }}' --firstname='{{ firstname }}' --lastname='{{ lastname }}' \
--password='{{ admin_pwd }}' --email='{{ admin_email }}' --newsletter=0
- supprimer le repertoire
install-dev
- Après installation :
$ mv admin/ admin$RANDOM/
Administration
Vider le cache :
$ rm -rf var/cache/prod
Optimisation
Utiliser Memcached
Modules
Soucis connu avec gamification
Le module gamification fait appel à une ip externe, qui, si ne répond pas, empêche une connexion à l’interface admin (la connexion sera très lente, voir impossible). Le mieux est de désactiver le module (temporairement du moins) en renommant le répertoire du module: