I feel like my blogging activity lately has come to a screeching halt. What has been keeping me busy you ask? Well I have been hosting my sites (including this blog) on shared hosting accounts with GoDaddy. The shared hosting accounts are okay, but you don’t have any control over many configuration options (e.g. medium trust is not optional) and many troubleshooting tools (e.g. IIS event logs). I finally decided to take the plunge and move up to a GoDaddy virtual dedicated server (VDS).
Yes, I know. Many of you just threw up a little in your mouth. GoDaddy has earned a bad reputation with many of people. My experience has been two-fold. On one side, I have been very happy with the performance of my shared hosting sites. The hardware and the internet connectivity isn’t bad. The sales department was also very helpful. They really helped guide my VDS selection (more later).
The other side of the coin, is getting support can be very frustrating. Many times, after a frustrating conversation with someone who seemed to be running from a script, I end up solving my own issues. You better be able to manage your own configuration. GoDaddy has plans where you can pay for service. If you feel comfortable setting up IIS, configuring sites, administering email…etc then you will be fine.
VDS Specs / Cost
From the GoDaddy menu of virtual dedicated servers I selected their Windows ‘Value’ package. To summarize the specs:
- Windows Server 2008 Standard 64 bit
- 2GB RAM
- 30 GB Storage
- 1000 GB/month Bandwidth
This is plenty of a web server to handle the traffic for my domains. The sales staff eased my mind a bit indicating that I can easily expand later (if necessary). The cost for this server is just over $30 US per month. Compared to the $6 US per month for the shared hosting. Considering that I am sharing this cost over a few domains and offsetting it a bit more by running ads on my blog, the bump in cost is worth being able to fully manage the server.
The VDS is a virtual computer instance hosted by GoDaddy. You have total control over the server. You can remote desktop into it and install what you want. It is yours to use or abuse. GoDaddy does provide you with the ability to ‘re-provision’ your server by clicking a link in your management panel (on the web). Behind the scenes this queues up a re-paving of your server back to the bare-bones image. The re-provisioning service only takes about an hour (my experience) and is nice in the beginning when you are trying out various configurations.
Plesk Control Panel
The biggest mistake I made was including the ‘Plesk’ control panel. The ‘Plesk’ panel is a control panel that provides a user interface (web based) that allows you to create new web sites, administer your server (web and email) and many other tasks. It does exactly what it is advertized to do. However, I was not happy with the underlying folder structure for the added sites. Seemed to be using some convention that rubbed me the wrong way. I have turned this ‘feature’ off.
Email is a bit tricky. GoDaddy requires all out-going emails to go through their relay mail server. They put this there to meter the quantity of emails that you send. Presumably to prevent you from creating a spamming site on their servers (remember you only rent your VDS). I initially thought I would set up an email server and admin my own emails. Very quickly I came to the conclusion that I did not want to spend my time doing that. I switched all my sites over to Google Applications. Google really does this well and I recommend them.
Setting up the new server is mostly transferring content from the old server to the new one. I have been doing this by RDP’ing into the VDS and using an FTP client to the old site. Once the content was on the new server, add and configure the new domain in IIS7. Finally, configure the DNS to point at the new server’s IP address. Repeat for all your sites. This was straight-forward and most of the time this worked without issue.
When transferring WordPress blogs (and other applications with databases) export the content from the database on the old server into a script (.SQL) file. Then import that content into the database on the new server and reconfigured the database connection strings. Again, this was usually straight-forward.
I have been transferring the content slowly (lack of time on my part) and am pleased to announce the content is fully transferred and all sites are up and running on the new server. Migrating to the new server was about what I expected. Hopefully this means I can get back to more technical blogging soon.