Just what exactly is this Zen Cart thingy?  If you are not running an e-commerce site, you will probably don’t know. It is actually a shopping cart script which means it is powering your e-commerce site. Let’s say you are planning to run a website selling shoes and socks and you need something to automate the process of payment, number of items, type of items, shipping charges and so on, you will definitely need a shopping cart script. Doing it manually can be very time consuming and it distracts you from doing your online business properly.

So there you have it. The purpose of a shopping cart script. Now that you understand why you need such a script, you will have to choose from one of the hundreds of shopping cart scripts available on the Internet. And yes, I would recommend you Zen Cart. It is a robust and extremely user-friendly script. Even if you have no experience or the willingness to learn a programming language or something complicated, Zen Cart will work for you. No fuss. And hopefully with this tutorial, it will be problem free as well. If you would like to try out Zen Cart, you will need a webhost which supports PHP and MySQL databases. I am fairly certain that most webhosts out there supports them. Well, if they don’t, you should change to another better webhost. In fact, I have never encountered any webhost that don’t support PHP or MySQL.

So now let’s begin the tutorial. Please note that this tutorial is for beginners who would like to install Zen Cart on their server for the first time. You will need some basic experience in Windows command and operation as well as some webhosting knowledge.

We first start by visiting Zen Cart’s website and downloading the latest version. At the time of writing, the latest version for Zen Cart was v.1.3.8. You should always download the latest version as it ensures that the script is at least better patched with less bugs.

You will be directed to Zen Cart’s SourceForge site and from there you can download the script. It will usually be in “zip” format which is actually a compressed file. So click on the latest version to download it. You will have to remember where you download the file as you will need to extract out the files from that archive.

I am using IZArc to extract out the files. You can use any other extracting software to extract the files out. Windows XP and above, they have native support for zip files so it shouldn’t be a problem. Anyway, if you are using IZArc, open the zip file and then click on Extract.

You should remember where you have extracted these files to. You will have to upload these files to your web server.

Well, there you go. These are all the files you have just extracted from that zip file you downloaded from Zen Cart’s website. I have extracted them out into a folder.

The next thing you will need to do is to upload those files to your webserver. Most webhost will require you to upload files using FTP (File Transfer Protocol). So you will need a FTP software (or a client) and you will also need the hostname of the FTP Server, your username and password. You should be able to get those information from your webhost. As you can see from the above image, I am using Filezilla as my FTP Client. The reason why I am using Filezilla is because it is one of the most stable FTP Client I have ever used and furthermore, it is free.Don’t you just free stuff? You can of course use some other FTP Client like CuteFTP or whatever. The steps should be approximately the same. I believe that even if you are using some other FTP Client, all the instructions should be relevent to you as well.

After you have connected to your FTP Server, you should then browse to your HTML root directory. Please note that the HTML root directory is the directory where your files are visible on the Internet. After you have browsed to your HTML root, you should choose all the files in the folder you have just extracted the zip file to. So right click and choose Upload

.

It will take a while, so you should go and have a coffee or something. It should take about 10-20 minutes, depending on the speed of your Internet connection and your webserver. Once it is completed, you should see all the files on the server.

Now it is time for you to point your web browser to your website. So if your domain name is “somebody.com”, you should point your browser to “http://www.somebody.com”. You will be directed to a webpage that looks like the above. If it does, it means that everything is in order. You should then click on “Click here” to begin installation. If there is a error or you are directed to some other page, you should check your URL again.

Nothing special here. Just choose the correct option and click on Continue.

On the next page, you should be greeted with some errors being prompted to you. It states that the files “/admin /includes/configure.php” and “/includes/configure.php” does not exist. Well, not to worry, I will tell you how to correct them. You should go back to your FTP Client.

On your FTP Client, browse to the “admin/includes” folder and you look for a file called “dist-configure.php”. Assuming that you are using Filezilla, right click on the file and choose Rename.

Rename the file to “configure.php”. If you are using some other FTP Client, there should be some ways to rename a file on the server. Please refer to your software manual when in doubt. However, I am quite certain that the steps to rename a file is rather similiar to how Filezilla does it.

Now, it is time for you to change the file permission. You will need to give world-writable permission to the “configure.php” file. So right click on “configure.php” and choose File attributes.

Chmod 777 on the file. This means that you should give it full permissions ie. Read, Write and Execute. Click OK when done.

Now let’s browse to the “includes” folder. You will also find the “dist-configure.php” file there. You will need to rename it as well. So right click on the file and choose Rename.

Rename it to “configure.php”.

And again the same thing, you will need to change the file premissions for the “configure.php” file on this directory as well. So right click on the file and choose File attributes.

Give it world-writable permissions. Yes, that means Chmod 777 on the file. Click OK when you are done.

Okay, so now that you know how to change permissions, you will need to do it for other folders as well. You will need to Chmod 777 (world-writable permissions) on the following folders:

  • “/cache” folder
  • “/images” folder and all the folders inside that folder
  • “/media” folder
  • “/pub” folder
  • “/admin/backups” folder
  • “/admin/images/graphs” folder
  • “/includes/languages/english/html_includes” folder

After you have done ALL the changes to those folders, go back to your browser, scroll down all the way below and click on Re-Check.


So you can now check through and see whether there are any problems with your permissions. If not, scroll down and click on Install.

Now, you will be prompted for some information on your database. In this tutorial,we will only cover MySQL as this is the more popular database out there. If you have no idea on how to create the MySQL Database, please refer to my guide on setting up MySQL database through Cpanel or setting up MySQL database through DirectAdmin.You will need to get information on your database hostname, databse name, database username and password. For your databse hostname, it is usually “localhost”. The other optional settings you can leave it alone. However, one setting you can change is the Table Prefix (or Store Identifier). It would be prudent for you to give it an unique name for the table prefix just in case you need to use the database for some other scripts (or if you share databases).

After you have finished keying in the necessary information, click on Save Database Settings to continue.

The server/site settings should be correct. If you have SSL, you should do the necessary changes here. If you are not sure about the information, you will need to contact your webhost. If not, then you should choose the “No” option in “Enable SSL” and “Enable SSL in Admin Area” and leave the rest alone. Click on Save System Settings once you are done.

This section is for PhpBB users. If you already have a PhpBB forum on your server and would like to intergrate Zen Cart to phpBB, then you should key in all the necceesary information. Click on Save phpBB Settings after you are done.

The next step is for you to keep in your store’s name, the owner’s name (that’s you or a nickname),  email address, country, zone, address, the default language as well as the default currency. For the Demo Information, I would suggest you to choose No as it is useless and takes up space. After you are done, click on Save Store Settings.

Now it is time for you to create an administrator account and password. Basically it is asking you to create an account for yourself and choose your own password and give them an email address. You will need to remember the administrator username and password as only this account will allow you to log into the administrator console and do changes to your store. Click on Save Admin Settings once you are done.


Yes, nearly complete, my friends. However, there are several security problems which we will need to look into. First of all, the configure.php files needs to have their world-writable permissions remove. Secondly, we will need to delete off the zc_install folder. Both are major security risks and you should really do something about it. So without further ado, let’s begin by going back to our FTP Client.

Now let’s go find the file configure.php located at the “admin/includes” folder. Right clickand choose File attributes.

Now let’s Chmod 644. It means that you should remove Write and Execute for both Public and Group while removing execute for the owner. Click on Ok once you have finished.

Now let’s do it for the “configure.php” in the “/includes” folder. Right click on the “config.php” file and choose File attributes.

Do the same thing again. Chmod 644. Click on OK when done.

Now let’s attempt to delete off the “/zc_install” folder. You will need to right click on the “/zc_install” folder and choose Delete.

When prompted, click on Yes to remove that folder from your server.

There you go. You have just completed the installation of your very first e-commerce site. So now it’s time for you to add in your products, your shipping details, more information about your site and products and so on to your e-commerce site.

It was pretty easy right? Once you get the hang of it, you will find that most Php based scripts do have very easy installation. And I will now say my Good byes! And good luck as well!

If you think this article is useful and if you can afford it, please donate so that I can write more articles.


  1. Phil September 11, 2008, 10:30 pm

    HELP
    Core6 LAMP PHP5 site is a virtual…Gifs do not show up…get Internal server error when in admin…no alerts on install EXCEPT for MySql version?…Up as ZIP unzipped in pub folder…set perms (FileZilla)
    Crimson edit

  2. Pedro December 4, 2008, 8:52 am

    Hey, Thanks a lot for the tutorial.

    Very helpful!

    *****

2 Comments »
Name:
Email:  
URL:   
Leave A Reply:

XHTML: You may use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>