PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc. See all the available features.
This repository contains the source code of PrestaShop, which is intended for development and preview only. To download the latest stable public version of PrestaShop (currently, version 8.0), please go to the releases page.
About the 'develop' branch
The 'develop' branch of this repository contains the work in progress source code for the next version of PrestaShop.
For more information on our branch system, read our guide on installing PrestaShop for development.
The first stable version of PrestaShop 8.0, was released on October 26th, 2022. Further updates have been released since then. Learn more about it on the Build devblog.
To install the latest PrestaShop 9.0, you need a web server running PHP 8.1+ and any flavor of MySQL 5.6+ (MySQL, MariaDB, Percona Server, etc.).
You will also need a database administration tool, such as phpMyAdmin, in order to create a database for PrestaShop. We recommend the Apache or Nginx web servers (check out our example Nginx configuration file).
If you downloaded the source code from GitHub, read our guide on installing PrestaShop for development. If you intend to install a production shop, make sure to download the latest version from our releases page, then read the install guide for users.
PrestaShop can also be deployed with Docker and its tool Docker compose.
To run the software, use:
Then reach your shop on this URL: http://localhost:8001
Docker will bind your port 8001 to the web server. If you want to use other port, open and modify the file
MySQL credentials can also be found and modified in this file if needed.
Note: Before auto-installing PrestaShop, this container checks the file config/settings.inc.php does not exist on startup.
If you expect the container to (re)install your shop, remove this file if it exists. And make sure the container user
has write access to the whole workspace.
To fully reset your repo and get a fresh start, run (be careful: this removes all your extra files):
# clean everything that is not part of the original repository (node_modules, etc.) git fetch origin git reset --hard origin/develop git clean -dfx # inform build scripts to reinstall shop rm config/settings.inc.php # clear all docker caches and rebuild everything docker compose down -v docker compose build --no-cache docker-compose up --build --force-recreate
Note: To add a PHPMyAdmin service to your Docker Compose setup, you can copy the existing
docker-compose.override.yml and then start your Docker Compose setup (override file will be included as it is a convention)
cp docker-compose.override.yml.dist docker-compose.override.yml docker-compose up
For technical information (core, module and theme development, performance...), head on to PrestaShop DevDocs
If you want to learn how to use PrestaShop 8, read our User documentation.
First-time users will be particularly interested in the following guides:
- Getting Started: How to install PrestaShop, and what you need to know.
- User Guide: All there is to know to put PrestaShop to good use.
- Updating Guide: Switching to the newest version is not trivial. Make sure you do it right.
- Merchant's Guide: Tips and tricks for first-time online sellers.
- The FAQ page should also be of tremendous help to you.
PrestaShop is an Open Source project, and it wouldn't be possible without the help of the hundreds of contributors, who submitted improvements and bugfixes over the years. Thank you all!
Don't know where to start? Check the good first issue label to have a look at all beginner-friendly improvements and bug fixes.
If you want to help translate PrestaShop in your language, join us on Crowdin!
Our bugtracker is on GitHub. We encourage you to create detailed issues as soon as you see them.
Read our Contribute by reporting issues guide for details and tips.
Reporting Security Issues
Responsible (and private) disclosure is a standard practice when someone encounters a security problem: before making it public, the discoverer informs the Core team about it, so that a fix can be prepared, and thus minimize the potential damage.
The PrestaShop team tries to be very proactive when preventing security problems. Even so, critical issues might surface without notice.
This is why we have set up a Bug Bounty Program where anyone can privately contact us with all the details about issues that affect the security of PrestaShop merchants or customers. Our security team will answer you, and discuss of a timeframe for your publication of the details.
Understanding a security issue means knowing how the attacker got in and hacked the site. If you have those details, then please do contact us privately about it (and please do not publish those details before we answer). If you do not know how the attacker got in, please ask for help.
PrestaShop is a very extensible e-commerce platform, both through modules and themes. Developers can even override the default components and behaviors. Learn more about this on the Modules documentation and the Themes documentation.
You can discuss about e-commerce, help other merchants and get help, and contribute to improving PrestaShop together with the PrestaShop community on PrestaShop Slack channel, project's discussions on GitHub or on the the PrestaShop forums.
Thank you for downloading and using the PrestaShop Open Source e-commerce solution!