Setting up a Magento Commerce site with custom template using GoDaddy hosting

My sister runs a business and she recently asked me to setup a web store using a custom template that her client had picked out from The template that was chosen was designed to work with the Magento Commerce framework, a fact that I didn’t realize until after getting the template and reading the instructions. It turns out that the information was available right on the selection screen:

Choosing template

Guess next time I need to read the sites I read more carefully 🙂

The client was hosted on and when I started reading the forums, it looked like there were lots of problems, but after figuring a few things out, the installation went very smoothly for me. There is already a guide detailing how to install Magento, and it was pretty helpful to me, but it’s not very explicit. This guide should be a lot more granular with a few pictures to help out.


Before we start detailing the installation, let’s list out the things you should download prior to reading further if you plan to follow along:

  • Latest Version of Magento Commercever as of the time of the writing of this post
  • Hosting on – PHP + MySQL
  • Custom Template for Magento Commerce

The official Magento Installation Guide is here and here is the cheat sheet version. If you read them carefully (I didn’t, seems to be a recurring issue of mine 🙂 ), you’ll notice that PHP 5.2 is a requirement for the framework. There is a workaround if your hosting is locked to 4, but fortunately GoDaddy is not. They have a guide on how to change your PHP version here. It’s fairly simple, and even though they warn you about a delay up to 24 hours, you should be ready no more than 30 minutes after initiating the change. If you’re not familiar with GoDaddy’s layout, I’ve included a few pictures to go along with their guide. First you’ll want to select the hosting account that you’ve setup:

GoDaddy selecting product

That will expand and show you the domain you’ve setup. I’m not going to show it because I don’t want to expose my client’s details, but just click on the button that will open up hosting dashboard. After that is done loading you should see this screen:

Godaddy hosting dashboard

Underneath the primary 3 buttons are a set of tabs for your domain. Select “Content” and then select “Add-on language” to go to the PHP version selection screen:

GoDaddy Select language

That will open up the PHP version selection screen. Select 5.X and you’re ready to go. Note the 24-hour delay I mentioned earlier. When I did it, it was ready in about 10 minutes, but budget the time in case there really is a 24-hour delay.

GoDaddy selecting PHP version

Magento Installation

Once this is done, you’re now ready to start the Magento Installation. There are 2 ways to get the files onto your server.

  1. Use the File Manager built-in to GoDaddy’s hosting dashboard
  2. FTP the files onto the server.

I would recommend using a combination of 2) first to upload the files and then 1) to unpack the files from the archive. Whatever you do though, unless it’s absolutely necessary, DO NOT unpack the files locally and then upload them. It will take FOREVER. When I did it, it took well over an hour, probably almost 2 to upload the files. I ended up using a separate FTP program just because it’s a little faster than the browser based File Manager, but either option should work. Once you have uploaded the file, locate it using the File Manager, and don’t forget that it will only show so many files per page.

GoDaddy File Manager pages

I didn’t and consequently ended up copying the unpacked files because I was too dumb to locate the archive. I ended up reinstalling the entire store a 2nd time the right way, and that’s why I know it’s much faster! Once you find the Magento file, select the check box and you’ll notice the “Unarchive” button will light up. Use this to unpack the files into the directory that you want to put the framework into.

GoDaddy Unarchive button

Special Note: I would select the framework directory name very carefully. It’s possible to change it later, but it’s a giant pain in the ass and I never got it working correctly. Just pick something innocuous like \shopping so you don’t have to rename it later.

Once the files are extracted, make sure the directory is executable otherwise the PHP install file will not be able to run. You’ll want it executable for all types of users and you can set this using your FTP program.

Magento directory permissions

Setting up your Database

Once the permissions are set, navigating to the install location in your browser will initiate the installation page for Magento. Continue until you reach the dialog screen prompting you for the database information. Magento will script out the database once it has the proper connection data, so you don’t have to worry about running a script on your own. You will need to create the database and setup the admin account so Magento can do the work for you. If you haven’t created the database already, return to the GoDaddy Hosting dashboard and select the MySQL option from the database tab:

GoDaddy Creating database

If you haven’t created databases before, this will be empty. Either way, you’ll need a fresh database for Magento so you’ll want to select the “Create database” button:

GoDaddy Creating database button

This will start the DB creation wizard – it’s pretty straightforward except for one minor detail. Whatever you name your database will also be your admin account name. It’s a little curious, but this is fair warning to create a database name that isn’t totally crazy because that will be your username account credential. There is an option to create a read only account, but it’s not necessary for Magento and I skipped this step. After creating the database, you’ll need to get the connection string since the database and the website are not co-located and will need to connect across the Internet. You can return to the MySQL page in the Hosting Dashboard and select the little pencil:

GoDaddy database details

It will load a page (this page always looks a little screwed up in Firefox, I dunno why) with your connection details. Take this info and put it into the Magento installer. Once this is done, Magento will finish installing.

Installing Your Custom Template

If you don’t have a custom theme you can skip this section. When the installation is finished, the Magento installer will give you a page with links to your frontpage (the store essentially) and a backend page (the admin page). Click on both and sign into the admin page using the admin credentials you set up. At this point you’ll want to unpack the template if you haven’t already. Again, like with the initial Magento installation, you can use either the GoDaddy File Manager or your FTP program to upload the template.

Inside of the template folder there should be 2 folders: /app and /skin. Magento theme folders

Copy these into these folders into the folder where you installed Magento. So if we used the example I used earlier in the post, you would copy /app and /skin directly into /shopping. You shouldn’t have to worry about overwriting any files as the theme will have all of it’s files in a folder named after it. Once the files are uploaded, head to the admin page and select “Design” from the “System” tab.

Magento setting up theme

This will bring you to the design management page. It shows all of the themes you have installed into your Magento store, but right now it will be blank. Select “Add Design Change” in the upper right hand corner to add the custom theme you have uploaded.

Magento adding theme

The next screen will let you select the theme. Pick it out from the drop down and hit save. You do NOT have to enter in any dates to start or end the theme.

Magento selecting theme

At this point, you can just reload the front page and the theme should be loaded. These themes are pretty barebones, so don’t expect a drastic change from the default – they are meant to provide a good basis for a designer to alter, so it actually might have less functionality than the base theme which I think is designed to be somewhat usable out of the box as a web store.

Final Notes

At this point your installation should be complete and you should be ready to begin actually using the site. Just a few notes about things that messed me up a little bit.

Why don’t my categories show up?

When you start making categories, make sure they are sub categories underneath the default root category. If you don’t do this, you’ll need to select the root category that you’ve created to be the default category for the store. There is a really good post at Noam Design about this issue. You can verify you’re default root category by going to the admin page, and then selecting “Manage Stores”.

Magento check root category

Once you’re in the manage stores section, select the “Main Website Store” and follow the directions from Noam Design.

How come my products don’t show up?

Once you’ve got the categories working, you might also encounter an issue with getting your products to show up. Adding products is pretty self explanatory and the site will guide you through most of the required fields. However, for some reason, it skips over one set of required fields that will prevent your products from showing up. In the “Manage Products” page, there will be a bunch of tabs with different fields that you can fill out with product data. Make SURE you select the inventory tab.

Magento Product inventory

Fill out the quantity and change the stock available from out of stock otherwise the product will never show up. I ran into this problem and this post here on the Magento Commerce forums told me why the products weren’t showing up.

Thoughts on Magento Commerce

Hopefully this helped out some of you with setting up Magento. Several years ago I had setup a customized OS Commerce e-store and this was much easier. There were still a few hairy spots and changing the root directory was much more painful than I had though it should be due to the store caching the user credentials, but overall I think if you were a small business looking to setup a web store, you could do a lot worse than Magento. The site itself is free, and the templates for it are relatively cheap and plentiful so it is not unreasonable to customize the site without having to do lots of custom coding (which makes the site brittle and susceptible to breaking changes I might add as well as being expensive). There are a few components that were not touched such as the credit card/pay pal support, but I have a feeling it will be relatively painless given the mostly cohesive UI. I think that unless you were really moving towards a large scale solution, the overall cost for the enterprise Magento (somewhere north of $3000) would make the free site a much better bet.


5 thoughts on “Setting up a Magento Commerce site with custom template using GoDaddy hosting

  1. Pingback: 2010 in review | Fly Rice

  2. Hello Chi Ngoc,
    I have a Magento template and have found your post. I have gotten stuck where the Magento is supposed to run. I could not get to the installation page for Magento. Please, I need your help.
    Thank you so much. Cam on Chi.

    • A few things:
      1) It’s Anh, not Chi. 🙂
      2) Did you download the Magento installation files?
      3) Did you upload the files to the correct directory on your FTP server?
      4) Did you change the permissions on the folder correctly so the PHP can execute?


  3. Great stuff, thanks. Do you use any Magento plugins? My company used several that did a great deal to help to speed up page page times. It took a very long time to get 100% and function to our needs but now it’s perfect. Saved hundreds on hosting by having it in a cloud. Thanks, Lin.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s