Prestashop Installation Tips
This page was written in English, please see the English version for the correct code changes.
Pick a good host.
Depending on how big your shop is and how many visitors you get, you may need a dedicated host, however, almost all sites (especially small / medium) can use shared hosting.
There are many different hosting companies offering different plans and deals. You should pick one that offers at least 64mb of Ram, at least 1GB of database space, and at least 5GB of hard drive space, this will leave you enough room to grow your site.
We use and recommend Bluehost for all the sites we develop, they offer unlimited database space, unlimited hard drive space, and unlimited bandwidth (traffic). They also have excellent 24/7 live support (If you choose to use bluehost, please use our link to signup. Disclosure: We receive compensation if you use our link, but our recommendation is not influenced by it.)
Whichever host you decide to go with, do a quick search in the Prestashop forum to see if anyone had any problems using them, it can save you a lot of time later on.
Before Installing Prestashop.
The first step should be deciding on how to set up your website environment.
Almost all big e-commerce (and other) sites create 3 different environments.
1) Development - The starting point for any change / addition to the site such as new modules, new themes, new features, new pages, new payment methods, and pretty much anything except simple text change.
2) Testing - When a development cycle ends, the changes are moved to this environment and undergo a thorough testing to make sure the new changes are working properly, and that nothing else was affected by them. It's highly recommended to always test the important features of the site: registration/login, cart functionality, and checkout / payment.
Any bug or problems that are found should be fixed on the development environment before restarting the testing cycle.
3) Production - When a testing cycle is complete, the changes can be moved to the production (live) site where another testing cycle should take place to make sure all the changes were properly copied and nothing else was broken in the process.
This may seem like a long and redundant process, but it is considered the standard by most professionals for good reason. Following this process will reduce the chance of any bugs and problems that can disrupt the operation of your site and cause you to lose time and money.
If your site is small/medium, you can use only 2 environments: development/testing and production. However, no matter how small your site, it's never a good idea to only have a production environment.
You can also install Prestashop on your local computer as your development/testing environment using a free program called WAMP (download at http://www.wampserver.com/en/download.php), which simulates a web-server with PHP and a MySQL database. If you use Skype, you should disable it from using port 80 before installing WAMP (Tools->Options->Advanced settings->Connection-> uncheck the box for "Use port 80 and 443....").
After WAMP is installed and running, you can copy the Prestashop installation folder to C:/wamp/www/ (which is the root folder), open a browser window, and enter http://localhost/. If WAMP was installed correctly, you should see 2 folders: the Prestashop folder you just copied and a phpMyAdmin folder, which will let you create and manage your databases.
You can also create a development / testing environment in a subfolder on your web server.
Download the latest STABLE version of Prestashop (NOT an alpha, beta, or anything other than a stable version) and extract the files in your local computer.
Use an FTP client, such as Filezilla (http://filezilla-project.org/download.php), to copy the contents of the Prestashop folder into your web server.
You will need to create a new database for Prestashop. To do this, login to your hosting company's cPanel interface and look for the database link. Create a new database and assign a new username and password for it; make sure to write them down, since you will need to enter them during the Prestashop installation process.
You also need to make sure the proper file/folder permissions are set. Most modern hosting companies (especially ones using cPanel) will not work properly with permission levels higher than 755; the reason is that 777 (which is instructed in the Prestashop installation guide) is extremely insecure and even a novice hacker can use it to exploit your site.
For example, if you try to set the permissions of the modules folder to 777, your host will block any .php file on it from running. If you try to access any of those files, you will get an "Error 500" making the module unusable.
Some old hosts or ones that were not configured properly will not be able to work with 755 and will require 777; it is highly recommended to stay away from such hosts.
Once the database is created and permissions are set, you can start the installation process and follow all the steps (replacing any 777 permission with 755).
After the installation and in the long run.
Now that Prestashop is installed and your site is up and running, it is important to keep it that way.
The most important, yet often neglected part is proper backup. It is often compared with going to the dentist- no one wants to do it, until it's too late.
Most hosts offer a file / database backup. Some may even let you schedule an automatic file backup, but more often than not, it is a complete backup of everything in your site and not just of Prestashop files / databases.
We have created an Automatic Prestashop Backup module that lets you backup the Database and Files as frequently as you wish. It also lets you email a copy of the backup to your mailbox and save a copy on your server.
Whether you choose to use our module, your host's backup option, or a different method, you need to make sure that backups are done frequently and that you know how to restore them in case your site gets corrupted.
A good backup system will allow you to quickly restore your site, saving you a lot of stress, time, and money.