Downloading and unzipping the PrestaShop archive
You can download the latest version of PrestaShop at http://www.prestashop.com/en/downloads. This page presents you with an informal form, which helps the PrestaShop team better know its users. Whether you fill the form or not, click the “Download” button to display the download choices.
Three choices are available to you:
- the latest version (1.4.62 as of this writing): a stable version, ready for all websites.
- a stable version with a free trial for a PrestaShop partner tool (Store Manager).
- (at the bottom of the page) the alpha version (18.104.22.168 as of this writing): in heavy development, it is only available for testing purposes, NOT for production. Use at your own risk.
||We strongly advise you to stay away from the alpha version if you do not intend to cater for the teething problems inherent to early versions!
Click on either of the stable versions’ download buttons, and save the archive on your computer (such as on the desktop). You should get a file named “prestashop_22.214.171.124.zip” (or an equivalent, depending on the version numbers).
||The downloaded file is an archive, meaning one file containing all of PrestaShop’s files in compressed form. In order to continue with the process, you must uncompress the archive. If your operating system does not natively support Zip files, you can download and install a free tool, such as 7-zip.
Extract the content of the archive to a known location on your hard-drive (such as on the desktop again). Do not upload the Zip file to your server.
You should now have a hosting space at your disposal, and a folder on your hard-drive with the uncompressed PrestaShop archive. This step makes you upload the PrestaShop files on your hosting space. This is done using a FTP client.
Installing and configuring your FTP client
FTP is short for “File Transfer Protocol”. A great and free FTP client is FileZilla. Download it and install it. Note: do not download FileZilla Server, only FileZilla Client!
Once FileZilla is installed, you will need to configure it with your site’s log-in parameters, which should have been sent to you by your host. If not, ask for them to your host – or check your spam folder
Basically, the needed parameters are:
- a hostname or an IP address: the location of your hosting space’s FTP server.
- a username: your hosting account identifier, which is unique to you.
- a password: obligatory security measure.
Open FileZilla, and open its Site Manager tool. You can do this in three different ways:
- Press Ctrl-S.
- Click the “Open the Site Manager” icon, at the top left.
- Open the “File” menu, and select the “Site Manager…” option.
A window opens.
To add your hosting space to the Site Manager:
- Click the “New Site” button. A new entry is created in the site list. Give it a recognizable name.
- On the right side, in the “General” tab, enter the parameters your host provided you with: host, user, and password. You should not have to change the other default parameters, unless told so by your host.
- Once all the fields are properly filled, click the “Connect” button. This will both save your site in the list, and log you into your account, so that you can make sure everything works right.
Uploading your files
Now that you are connected to your hosting space, it is time to transfer the PrestaShop files from your computer to your server.
In FileZilla (or any other FTP client), browse your local folders until you find the one that contains the PrestaShop files. Keep it open.
In the “Remote site” section (on the right), browse to the location where you want PrestaShop to be publicly available (root of the domain, sub-folder, sub-domain…). This can change a lot, depending on both your host and your needs:
- Your host:
- Some hosts may require you to place your files in a specific folder, such as /htdocs, /public_html, /web, /www,/yourdomainname.com, etc.
- Other hosts’ FTP server will simply log you directly into the proper upload space.
- Your needs:
- If you want your shop to be the main website for your domain name (i.e., http://www.myprestashop.com), upload PrestaShop at the root folder of the upload space (which may depend on the host).
- If you want your shop to be in a sub-folder of your domain name (http://www.mywebsite.com/shop), you must first create said folder through FileZilla (right-click and choose “Create directory”), then upload PrestaShop in that folder.
- If you want your shop to be in a sub-domain of your domain name (http://shop.mywebsite.com), you must first create said sub-domain. This depends on your host: you might be able to do it simply by adding a new folder with your FTP client, or you might have to create the sub-domain through your host’s administration panel. Read you’re hosts support documentation first. Once created, browse to the sub-domain’s folder, and upload PrestaShop there.
On FileZilla’s left side, you should now have the local folder where you uncompressed the PrestaShop files, and on the right side, the destination location. If you haven’t done it yet, uploading is simple: select all files and folders from the local folder (use Ctrl-A), and either drag & drop them to the remote folder, or right-click on the selection and choose “Upload” in the context menu.
After a short while, all of PrestaShop’s files and folders should be online. Great!
Creating a database for your shop
Before you can actually install PrestaShop, you need to make sure your MySQL server has a database ready for PrestaShop’s data, and if not, create one. This can be done using the free phpMyAdmin tool, which should come pre-installed on your web server most of the time (read you host’s documentation). Connect to it using your account credentials, which your host provided you with. It should be accessible through a standard URL, tied to your domain name, or that of your host.
In the left column, you can see the current databases. Some of them should be left alone, because they are either used by phpMyAdmin or by the host:phpmyadmin, mysql, information_schema, performance_schema and others. Read your host’s documentation to know if one of these can be used as a default database.
Either way, you can create a brand new database using the central form named “Create new database”. Simply enter a unique name, and click “Create”. The name of the database will be added to the list on the left. You can now use it to store PrestaShop’s data.
||Some hosts prefer to have customers use a graphic control panel, such as cPanel, Plesk or a custom-made one. Make sure you read your host’s support documentation about handling MySQL databases, and create a database for your shop by following their specific explanations.
Launching the auto-installer
Now comes the part where it all comes together: installing PrestaShop.
The installation process is quite easy, as it is streamlined by PrestaShop’s auto-installer. To launch it, simply browse to PrestaShop’s location on your hosting: the script will automatically detect that it is not yet installed, and will take you to the auto-installer. From there on, you just have to read and click.
Step 1: Welcome page
This page is a quick intro into the installation process.
- Select the language in which you wish the installer to be.
- Select whether you wish to install or update PrestaShop (if this is your first time, you can only install).
- Read the PrestaShop license (the Open Software License 3.0), and agree to it.
To access the next step, you must check the “I agree to the above terms and conditions” box, then click “Next”. If you do not explicitly agree to the license, you cannot install PrestaShop.
Step 2 & 3: System compatibility & system configuration.
The second page makes a quick check of all the server parameters on your host, and if nothing wrong is found, takes you directly to the third step.
This page checks that everything is OK with your server configuration: PHP settings, permissions on files and folders.
If anything goes wrong, the installer stops you here, enabling you to see the few technical details that need fixing, be it changing the PHP configuration or updating the file permissions.
While changing the PHP configuration can only be done on a case-by-case basis depending on your level of access to your server, and therefore cannot be explained here, updating the file permissions is easier to explain. This will require you to access your remote files, and therefore use your FTP client (such as FileZilla).
Log-in to your server account using your FTP client, browse to the PrestaShop folder, and find the folders that are marked by the installer as in need of a permission change.
Changing file/folder permission on a Unix/Linux system is called a “CHMOD”, after the command of the same name – you can find an explanation of file permissions here). Giving them “write permission” is called “doing a CHMOD 755” or “a CHMOD 775”, depending on the host.
||Some hosts might require you to use CHMOD 777, although it is not recommended for anything more than a one-time need.
If you have to use CHMOD 777 in order to install PrestaShop, make sure to switch to a safer setting (775, 755 or even 644) once you are done installing.
In any case, thanks to FileZilla (and most FTP clients), you can change permissions easily and graphically: once you have found a file or folder that needs such a change, right-click on it from your FTP client, and in the context menu choose “File permissions…”. It will open a small window.
Depending on your server configuration (which you don’t always have a hand at), you’ll need to both “Read” and “Execute” columns of boxes checked, and at least the “Owner” and “Group” rows for the “Write” column. Some host might require you to have the public “Write” box checked, but be careful with that: have anyone be able to edit the content of your folder is rarely a good thing.
For folders that the installer is needing a recursive permission change on, you can check the “Recurse in subdirectories” box.
Regularly check that you have made the correct check by relaunching the installer’s compatibility checks: click “Refresh these settings” as often as necessary.
Once all indicators are green, you can click “Next”. If you cannot have them all green, at least make sure the installer displays “Your configuration is valid, click next to continue!”
This page contains a form that enables you to tell PrestaShop where the database server is, and which database it should use, along with a few other details.
Fill all the fields with the connection information provided by your web-host, along with the name of the database you chose/created for PrestaShop, then click the “Verify now!” button in order to check that everything is fine. If so, the installer will display the following message: “Database is connected”.
Choose the prefix for your tables. “ps_” is the default, resulting in the PrestaShop SQL table having names such as “ps_cart” or “ps_wishlist”; but if you need to install more than one instances of PrestaShop on the same database, then you must use a unique prefix for each install.
Two modes are available:
- Simple mode: a blank and empty PrestaShop will be installed. It will have no modules, no theme, and no demo products/categories: you will have to build it all yourself. This is great if you know what you are doing.
- Full mode: PrestaShop will be installed with a theme, more than a hundred modules, and some demo products and categories. This is great for newcomers, as it helps you learn how to use PrestaShop… and can of course server as a good basis for your own store, after removing the demo products and categories!
E-mail delivery set-up
PrestaShop relies heavily on e-mail for notifications, both for the shop owner and its customers. This form enables you to test whether the current server configuration lets you send e-mail using PHP’s mail() function. If this is not the case, then check the “Configure SMTP manually” box in order to configure your own mail server. Note that this is reserved to advanced users.
Click “Next”, and the installer will start filling the database with tables and data. This might take a few minutes in the slower server.
Step 3: Shop configuration
This is where you can already start customizing your shop: give it a name and a logo, indicate its main activity, and indicate the personal information for the shop owner (which has legal binding in most countries)…
Note that the logo will appear:
- On all of your store’s pages.
- In your back-office.
- In all of the e-mails sent to your customers.
- In all of your contract documents (bills, return authorizations, etc.)
It is highly recommended to not keep the default PrestaShop logo, for obvious reasons.
You can also choose to use PrestaShop simply as catalog, which will disable all purchase and payment features, even if temporarily. This is useful when you are setting your shop up for first time, as it insures that no purchase can be made until you are ready to let people shop on your site. You can remove the catalog mode later, in the “Preferences” > “Products” sub-tab.
The page ends with a couple of “Additional benefits”, which are modules that are specially promoted in the installer. You can choose to install them or not.
Click “Next”: your shop is online!
Completing the installation
As you can read about right on the final page of the installation process, there are a couple of last actions to perform before you can call it a success.
An easy way to improve your installation’s security is to delete or rename some key files and folders. This is done using your FTP client, directly on the server.
Items to delete:
- “install” folder.
- “readme_*” files (5 of them).
- “CHANGELOG” file.
Item to rename:
- “admin” folder: you should give it a unique name, so that no attacker can access your admin files. For instance, “admin42”, “secretFolder” or “xyz123” – anything unique.
Write down the new name for your admin folder, as you will from now on access it directly.
Congratulations! Installation is now complete.
Log in to the PrestaShop back-office and start filling out your products catalog and configuring the many settings to suit your tastes and needs.
Finally, in order to close all potential doors, use your FTP client to update the files and folders permissions to 664, or 666 if your host requires it. If it turns out low access rights prevent some modules to work, you should set permissions back to 755.
||Regularly back up your database, ideally on different computers, in case of problems related to hardware or security.