One thing that happens over the years of running a web site, however big or small, is the occasional change of service providers. For a long time, I used GoDaddy as my domain registrar and also as my host. GoDaddy promotes this concept, apparently giving uninformed customers the impression that it is a good idea to keep your web site fully within their domain. Except that it’s not a good idea at all.
Then, a year or so ago, GoDaddy got hacked. Sites like mine that were both registered and hosted at GoDaddy went down. No big deal for a site like mine. It’s just a personal web site. I don’t update it as frequently as I should. There was no interruption of e-commerce. It wasn’t even really all that upsetting, but it did reveal to me that keeping my registrar and host at the same provider is not a good thing.
So, last year, I moved my site to a dedicated virtual server with Media Temple. I had some experience working in the Media Temple system since my former employer hosted their site there. Moving to a dedicated virtual server also gave me the ability to do some very specific configuration for my server that I could not do in the shared server environment I subscribed to at GoDaddy. It was also 250% more expensive. I decided to absorb the extra cost for the opportunity to work in the server environment. I could also offset the cost increase by hosting other sites, a common service provided by freelance web developers working with small businesses and individuals.
I started off with a fully configured LAMP stack environment ready to use. Media Temple uses Parallels Plesk, an advanced, secure control panel interface for server management. It is solid software, but also more complicated than the proprietary control panel provided by Go Daddy. There was a big learning curve, but setting up my new server space gave me the ability to learn, and even make big mistakes, without taking down my company’s web site. (This is a smart idea!) I struggled at first figuring out how to set up SSH access and where to set up my host directory. Honestly, the Plesk interface presented more barriers than I think are necessary.
At my new job in October at Cooper, we used command line in Terminal more than I had ever before, so having SSH access working properly was important. I knew I needed to practice that. Also, I had recently started using git, version control software, and so I wanted to use that on my server. At the time, it was really a lot of new stuff, but after a few weeks of working on it evenings after work, I got it working. I pushed my site files to the server from my laptop, imported the database using PHPMyAdmin, and voila…my change of hosts was complete!
Then it happened. I got an email from Media Temple one morning a month or so ago informing me that they had been acquired by GoDaddy. I was seriously annoyed, as were thousands of others who flooded Twitter to protest the acquisition. Though they would continue to operate as separate entities, I had grown increasingly uncomfortable with GoDaddy over the past year. Their marketing was strange, and somewhat sexist. Their CEO is eccentric. And then I learned about their support for SOPA, a privacy law written so badly that it could subject developers and site owners to criminal prosecution for unauthorized streaming of copyrighted content, imposing a maximum penalty of five years in prison.
Now I am a huge supporter of both privacy and legal use of copyrighted content, but the way the Internet works puts a lot of copyrighted work in the public domain that invariably ends up on web sites. This happens because the Internet was architected to allow this. In the early days, it allowed government and college researchers to share content around the world. The law was written by politicians and policy wonks in Washington, DC who have no technical understanding of how the Internet works. It was written so poorly that common things such as a custom Twitter feed could land a developer in trouble. The free and open Internet concept has changed the world for the better. There have been some problems with copyrighted material being distributed inappropriately, but these problems have been handled effectively as they occurred. Putting a hatchet into the very concept of the Internet, as SOPA would have done, was bad policy and bad law. The Internet community galvanized against it, and the law failed to pass.
So a year after changing my host from GoDaddy to Media Temple, the news that I was being acquired back into the fold was not welcome, and not cool. I decided I would change my host when the opportunity came around. I even got a lot of discount offers from other hosts who saw my posts on Twitter.
In the meantime, we changed hosts at work. Elisha told me about Linode, a bare-bones host that offered a dedicated virtual server for just $20/month, a 60% reduction from my monthly expense at Media Temple. Saving money’s always a good thing, especially when you get more for less. The hitch is that it is truly bare-bones, as in a blank partition on a server that I can fully configure for myself. So I decided to go for it. Last weekend, I spent an evening installing Ubuntu on the server, followed by Apache, MySQL, and PHP. I secured my server with a firewall, added PHPMyAdmin, a database interface, and made my own SSL certificate to secure PHPMyAdmin. Next, I installed git, and pushed the git repository on my laptop to my new server space. Then I got stuck. In truth, I got tired. It was something like 4 a.m. I had managed to stay up all night geeking out, and needed to call it a day.
This past week was a busy week at work, so I didn’t get back to it until last night. In about 30 minutes, I figured out how to do the final step, which was to write a post-receive hook. This gives me the ability to work things out on my laptop, then push changes in the repo to my server, where git writes out the actual files that are rendered into the page you are reading now. This final step complete, I redirected my DNS from MediaTemple to my new Linode dedicated virtual server. It took about an hour for the change to migrate. After that was done, I accessed the site, gained access to my database, and in a few minutes my site was up and running. Next, I noticed my Google Docs email was not working. I took a look at the settings in my DNS and realized all I needed to do was move those settings to my Linode server. In another 30 minutes, I had my email working again. I’m left with my DNS registrar simply pointing my domain name to my virtual private server, which runs the show from there. Suddenly, it was 3:30 a.m. I had done it again, but I had succeeded!
This afternoon, I got into my site and realized only my home page was accessible. My blog and contact page, and all of my articles, were not accessible. After a little research, I realized I just needed to install a module in Apache. A few minutes later, that was done, and my entire site was now accessible. However, when I restarted Apache, I noticed a problem with my SSL configuration. After a few more minutes of research, I figured out the solution to that problem, restarted Apache again, and everything was finally in working order, exactly as it should be. I had literally moved my site to a new server that I fully configured all by myself. I had debugged the minor problems I experienced, fixed them, and succeeded. In the process, I reinforced all that I have learned over the past year. I am proud of my work. And the impact is that—to answer the title of the post—no, you cannot see the difference at all.