There are tons of people, just like me and you, who have had problems installing Magento on any server, let alone a Go Daddy one. Among the horrible errors I received, these were the most common:

  • The server encountered an internal error or misconfiguration and was unable to complete your request.
  • Base table or view already exists
  • Column already exists, or Column already exists: magento_eav_attribute
After hours of trial and error, I've finally figured out how to get it done right. Unfortunately a lot of the blogs and forums I read along the way had it figured out at some point too--but between Go Daddy changes and updates from Magento every fix requires tweaking along the way. I think the key is to find a version that works for someone, and stick with that. Lucky for us Magento keeps archived copies of all their installs.

Here are 11 straight-forward steps to installing Magento 1.3.2.1.

  • Sign up with a GoDaddy Linux account. I've read that any account will work, or that you have to at least have a Deluxe account. For this example I used the Deluxe account.
  • Create a new MySQL database using the Go Daddy Hosting Control Center. Be sure to make a note of your server name, username (which is also your database name), and password.
  • Download the latest release of Magento (1.3.2.3 worked great for me)
  • Download the sample data that goes with that release (also on that same page)
  • Add the custom php5.ini file (below) to your web root, or just create a new one and add these three lines:
    • register_globals = onallow_url_fopen = oncgi.fix_pathinfo =1
  • Copy both Magento zip files (the main application release and the sample data) you downloaded to your server root. It's quicker to copy them there, then unarchive them using the Go Daddy File Manager. Unarchive both sets using the default path of "/".
  • It may take a few minutes, but once everything is unarchived, you'll want to copy any folders under "media" in the sample data to the main "/magento/media" folder.
  • Take the SQL file in the sample data, and paste it (or import it) into the database you created in step 2. It'll take a while, and it will create over 200 tables.
  • In the "/magento" folder we'll need to make a change to the .htaccess file (or you can download the custom one below)
    • Change "# Options -MultiViews" to "Options -MultiViews" (remove the "#")
  • Now we need to change the permissions on a few of the folders in the main /magento directory. I used an FTP manager to do this, leave a comment if you need help. Change "/var", "/app/etc", and "/media" to 777, and make it recursive so that it does all child folders as well.
  • Browse to your site, http://www.yoursite.com/magento, and fill in the form. I chose my timezone and currency, and did not append the table names with anything. On the three checkboxes at the bottom, the only one I checked was the "rewrite" box. Click the button, and the installation will begin. It takes a few minutes, and you will probably get an error at some point in the install. Just ignore it by going back to your magento site (ie http://www.yoursite.com/magento). If you get to the point where you can create a Magento store username and password, you're at the finish line.
Even after the install finished, the first time I went to the front side of my store, I received an error. I just refreshed the page and it went away. This happened to me on every install attempt. I think people get stuck because they immediately try to reinstall. Don't. Just fight through it and refresh, or go back to the /magento directory and refresh your browser. I hope this tutorial saves you hours of headaches!