If you are selling goods, services, or digital goods (like software, ebooks, music MP3s, video files, etc) on your site, you have at least 2 ways of setting up a shop on your site. Those who are using a third party payment gateway like PayPal can simply use the order form that is provided by the service, as taught in the article How to Put an Order Form or a Buy Now Button on Your Website Using PayPal.
Sometimes, however, particularly if you are selling more than one item, or if you are selling digital goods, it may be handy to set up your own shopping cart system. For digital goods, this allows your shopping cart to automatically deliver the goods ordered to your visitors. If you have your own merchant account and can process credit card payments yourself, then installing your own shopping cart is probably necessary.
This tutorial series takes you through the process of installing one such shopping cart software, PrestaShop. The latter is an open source and free program that lets you sell both physical goods as well as digital goods and services from your online shop. If you don't already have the program, you can find it listed on the Free And Open Source PHP Shopping Carts page.
If you do not have a website yet, you should begin with the tutorial How to Design / Create Your Own Website: The Beginner's A-Z Guide. It was written with absolute beginners in mind, and makes little or no assumptions about what you know. If you don't already know the things mentioned there, and start here with the PrestaShop tutorial, you may end up very confused.
There are many different shopping cart software around in popular use. I'm NOT saying that PrestaShop is better or worse than any of them. This is neither a positive or negative recommendation. It is merely a tutorial for installing and configuring PrestaShop, written for those who want to use the software.
I used PrestaShop version 126.96.36.199 to write this tutorial, since it was the latest version available at the time I visited their site. If you're using a later version, the procedure below may differ from what I describe. It probably won't be too different, and you should be able to follow by getting the gist of what I write below and applying it to the version you have.
Important: you should always get the latest version of the software for your website, and keep it up-to-date. Do NOT try to get the version I have if a newer version is available, just so that you have a smooth installation. All shopping cart software are exposed to the Internet and vulnerable to hackers, and so they tend to be regularly updated to fix known bugs and security holes. As such, always use the latest version.
Shopping cart software, like blog software and other web-based software, are resource intensive. Every time your visitor loads your shopping cart, the software has to construct your web page from scratch, assembling it from its component parts. If your website has a lot of visitors, and you have a lot of customers or customers-to-be, you may find that your site hits a resource limit on your web host. Please read the The Fine Print in Web Hosting: Resource Usage Limits for more details.
If your site hits such a limit, and it's because you have a lot of customers (which is of course a good thing), then you may need to move your website away from the normal cheap shared web hosting packages to a dedicated web server which allows your site the exclusive use of a whole web server (ie, computer). This lets your site use all the resources available on that computer, hopefully giving your shopping cart enough resources for it to work smoothly even during peak ordering periods. There's probably no need to do that just yet, since you're just starting out. I mention this now so that you can keep it in mind when planning for the future.
Before you start, you will need to do the following things.
Even if your web hosting package allows you access to MySQL databases, most commercial web hosts require you to do something to set it up or activate it. The procedure to do so varies from web host to web host; some web hosts provide a web interface from which you can set up the database, others may require you to contact them. If you're not sure what to do, ask your web host.
Once you've set up your MySQL database, you will be given the following details (either directly from your web host, or if you activated the database using your web host's web interface or control panel, from the control panel itself).
Don't worry if you don't know what the above terms mean. They're just information that are needed by the shopping cart to successfully store your data. For now, just save these details somewhere. The PrestaShop installation routine requires the information.
To process credit cards, you will either need your own merchant account or you will need to sign up with a payment gateway. If you don't know what I'm talking about, read the article How to Accept Credit Cards on Your Website, choose a company that will process the credit card payments for you (called "payment gateway", among other things), and sign up with them.
If you are using your own merchant account (ie, you're not using a third party payment processor), you must get a secure certificate. Actually, even if you're using a third party payment processor, you probably should still get a secure certificate because shoppers and visitors will have more confidence buying things from your shop if they see that your entire shopping cart system is "secure".
For those who don't know what a secure certificate is, think back to the last time you bought something online. You probably accessed that site's shopping cart through a web address (URL) that began with "https" instead of "http". Your web browser probably also displayed a padlock icon somewhere to show that your connection to that website is encrypted. If so, you were using a secure connection to access that website.
Basically, to get that kind of facility for your website, you will need to buy a secure certificate (also known as SSL certificate) for your website and get your web host to install that certificate. Secure certificates can be obtained from a number of sources, including some domain name registrars. Some web hosts may also sell or provide certificates as part of their web hosting package. There are also a few free sources of secure certificates around, although you should be careful before rushing to use those if you're selling anything on your site. (Some of the free certificates aren't recognized by all web browsers, and your buyer may get a nasty warning message from their browser when they try to access your shopping cart, scaring them away.)
Besides buying your certificate, you'll need to arrange with your web host to install it. This may or may not entail an additional setup fee. Check with your web host. Actually, the installation of an SSL cert is such a common activity that your web host will probably have this listed somewhere on their site as well (probably as an add-on service or something), so you may want to simply check out their site for more information.
Anyway, you should get this done before proceeding, because web hosts typically require that you place files in a specific location on your website if you want visitors to be able to access them via "https", so you need to make sure everything is set up before uploading and installing the shopping cart.
Download the latest version of PrestaShop (see the Free And Open Source PHP Shopping Carts page if you don't know where to get it). Save the file onto your desktop.
Doubleclick the file you downloaded to open it.
You should be able to see a single folder called "prestashop" in the window. Drag that folder onto your desktop. This will copy the folder and all its contents to the desktop. When it's done, you can close the window you opened in the above step. If you wish, you can also delete the file you downloaded earlier; you don't need it any more. From this step onwards, you'll only need the "prestashop" folder on your desktop that you just copied to.
Decide where on your website you want to install the shopping cart. The exact location depends partly on how your web host has set up SSL (secure server layer) for your site. That is, in many cases, you can't simply put your shopping cart in any random folder of your site and expect that your visitors will be able to connect to your site using "https://www.example.com" (where "example.com" is your domain name). Find out the correct location from your web host.
Use an FTP program to upload (transfer) all the contents of the "prestashop" folder to the correct location on your website. If you don't know what an FTP program is, or how to use one, see the tutorial How to Upload a File to Your Website Using the FileZilla FTP Client.
Make a note of where you've uploaded your shopping cart.
Enter the web address to your shopping cart into your browser and surf to it. For example, if your setup is such that you
have placed your shopping cart into a folder called
shop, and it is to be accessed via your web browser via
www.example.com/shop/", enter that into your browser's address bar.
(Note: if nothing happens and you don't get the PrestaShop installer's "Welcome" message, surf to
www.example.com/shop/install" instead. You should of course replace
with your actual website address.)
You should see the PrestaShop installer in your browser window. The bold print at the top of the page should read "Welcome". Read the information on the screen, select the language you wish to use and click the "Next" button.
PrestaShop then checks to make sure your website account has the necessary features for it to run. The web host where I tested this installation on had no problems with the system requirements and permissions, so the screen displayed all items with a green tick and had no problems listed. If yours is the same, click the "Next" button.
(Unfortunately, since I've only tried the installation procedure on a single web host, and everything worked fine when I tried it, I don't know what the screen will say if the installer encounters problems, so I can't help you there. Since this screen merely tests your web hosting account to see if it has the features PrestaShop needs, if there are errors it means that you cannot use PrestaShop on your current web host. Perhaps you can ask your web host to see if those missing features can be enabled for your account.)
In the "Database Configuration" page, enter the database information you obtained earlier when setting up your MySQL database. If you don't know what I'm talking about, please go back to the section on setting up the database. The "Login" field refers to your database user name (in case your web host calls it by a different name).
Once you've entered your database server name, the database name, your login and password, click the "Verify now" to make sure that you've entered everything correctly. If a line appears under the button saying "Database is connected", your details are correct. If not, go back and check the information you've entered. (It may be easier and more accurate the just cut and paste the information into the fields instead of typing everything manually. If everything fails, contact your web host to make sure that you've really got the correct information.)
Leave the "PrestaShop database tables prefix" field set at its default of "ps_", unless you know what you're doing. You should also leave the radio box selected at "Full mode: Install all basic modules and add sample products".
Finally, enter your email address in the E-MAIL DELIVERY SET-UP section. Click the "Send me a test mail" button to make sure that the PHP email sending facility on your site works correctly. That is, you'll have to check your mail to make sure you receive the mail after the shopping cart sends the mail. (If you fail to receive the mail, and you're using a free web host, it means that your host does not allow PHP scripts on your site to send email. You should use a commercial web host instead. This is especially important since you're selling things on your website. Personally, I feel that free web hosts should only be used for personal and hobby sites, not for serious things that need reliability and proper facilities.)
When you've finished, click the "Next" button. PrestaShop will proceed to create the necessary database table for use by your shopping cart.
You will now need to create your admin account that will allow you to administer your shop.
Shop name refers to the name you want to give your shop. For example, you can enter the name of your company or website here.
Shop logo is the logo you want to appear in your shopping cart. Use your website's logo if you have one. To upload your own logo, instead of using the default PrestaShop logo, click the "Choose" button and locate the file on your computer. PrestaShop will immediately upload the image and display it in the space below.
Note: you don't really have to upload a logo right now. You can always customize this later after you install. In any case, the PrestaShop 188.8.131.52 installer seems to ignore the logo you set at this point, so not setting it has the same result as setting it. (It's probably just a bug that will be fixed in later versions.)
The fields First name, Last name and E-mail address are self-explanatory.
Make sure you create a strong password for your Shop password. You'll have to enter it again in the Re-type to confirm field, to make sure that you've entered it correctly the first time. At the time I write this, your password can only use letters and numbers and needs to be at least 8 characters long.
Check the Receive notifications by e-mail box.
Click the "Next" button when you're done.
When PrestaShop has finished setting up everything, you'll be given a summary of your settings, along with a warning to delete the "install" directory of your shopping cart. The installer also provides 2 links. The first link, labelled "My Front Office" merely leads you to the shopping cart as your visitors will see it. The URL (or web address) of this shopping cart is simply the same address you typed earlier to get to your shopping cart. "My Back Office" is a link to your admin interface where you can configure your shopping cart further.
At this point, the "Front Office" is just a dummy page, since you haven't actually configured anything yet. In addition, the "Back Office" link will refuse to let you log in. Click those links if you don't believe me (open them in a new browser tab or window if you know how to, otherwise just click them). Don't worry, no harm will come from trying them out.
To solve the problem of not being able to log into the Back Office, start up your FTP program again and connect to your website as before. Go to the folder where you previously uploaded the PrestaShop shopping cart files. Look for a folder called "install". Click it once. Then hit the "DEL" key on your computer keyboard. This will delete the "install" folder.
(If hitting the DEL key doesn't work, and you're using an FTP program other than FileZilla, find out from your FTP program's documentation how to delete a file or folder. But the "DEL" key should work on most Windows-based FTP programs. I don't know about Mac OS X, though. Sorry.)
Then highlight the folder named "admin". Right click it, that is, move your mouse over the word "admin" and click the right mouse button. A menu should appear. Click the "Rename" item. This will allow you to change the name of the folder. You will need to give the folder a name other than "admin". The name can be any name you want, like "chris" or "myfolder" or whatever, but I recommend that you do NOT put any spaces in the name, and use only small letters (lowercase) and numbers in the name. Using any other character may cause you problems in the future (for reasons mentioned elsewhere).
Important: Do NOT use your password as the folder name! Your admin URL is not a total secret. Your shopping cart "Back Office" page loads update notifications from the PrestaShop website, which means that your entire admin web address will probably appear in their web logs.
Once you have changed the name, you should access your "Back Office" (your admin page) using the new folder name. For
example, if your shopping cart URL was
www.example.com/shop/, and your admin folder name is called
chrisadmin, your new Back Office address is
www.example.com/shop/chrisadmin/. That is,
just add the folder name to the web address of your shopping cart.
In the next chapter, I will discuss how you can customize and configure PrestaShop.
You are here:
Do you find this article useful? You can learn of new articles and scripts that are published on thesitewizard.com by subscribing to the RSS feed. Simply point your RSS feed reader or a browser that supports RSS feeds at http://www.thesitewizard.com/thesitewizard.xml. You can read more about how to subscribe to RSS site feeds from my RSS FAQ.
This article is copyrighted. Please do not reproduce this article in whole or part, in any form, without obtaining my written permission.
It will appear on your page as: