About PrestaShop
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 1.7), please go to the download page on the official PrestaShop site.
About the 'develop' branch
The 'develop' branch of this repository contains the work in progress source code for the next version of PrestaShop 1.7.
For more information on our branch system, read our guide on installing PrestaShop for development.
The first stable version of PrestaShop 1.7, 1.7.0.0, was released on November 7th, 2016. Further updates have been released since then. Learn more about it on the Build devblog.
Server configuration
To install the latest PrestaShop 1.7, you need a web server running PHP 7.1+ and any flavor of MySQL 5.0+ (MySQL, MariaDB, Percona Server, etc.). Versions between 1.7.0 and 1.7.6 work with PHP 5.6+.
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).
You can find more information on our System requirements page and on the System Administrator Guide.
Installation
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 download page, then read the install guide for users.
Docker compose
PrestaShop can also be deployed with Docker and its tool Docker compose.
To run the software, use:
docker-compose up
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 docker-compose.yml
.
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 www-data
has write access to the whole workspace.
Documentation
For technical information (core, module and theme development, performance...), head on to PrestaShop DevDocs
If you want to learn how to use PrestaShop 1.7, 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 and the Troubleshooting pages should also be of tremendous help to you.
Contributing
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!
If you want to contribute code to PrestaShop, read the CONTRIBUTING.md file in this repository or read the tutorials about contribution on the documentation site.
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!
Current Crowdin status (for more than 75 registered languages):
Reporting Issues
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 the security@prestashop.com email address: 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 on the support forums.
Extending PrestaShop
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.
Themes and modules can be obtained (and sold!) on PrestaShop Addons, the official marketplace for PrestaShop.
Community forums
You can discuss about e-commerce, help other merchants and get help, and contribute to improving PrestaShop together with the PrestaShop community on the PrestaShop forums.
Thank you for downloading and using the PrestaShop Open Source e-commerce solution!