Finally! This website is working like a well tuned machine. It’s been frustrating at times, but making making this website has been a lot of fun. I thought it’d let you guys know how I did it.
Starting from scratch:
I realize I could have chosen a web hosting service for a wordpress site. There are plenty of them and many come almost completely configured. However, that would have taken all the fun out of making my own! I started from scratch with my old desktop that has been gathering dust since I left for college and hooked it up to my home internet connection.
Setting up the machine:
First I got rid of windows and installed ubuntu 11.10. Next I installed XAMPP(an Apache server), proftp, and wordpress. Everything seemed to be going great, but I felt uneasy about not knowing enough UNIX. Particularly there are a lot of security risks associated with hosting a webserver. In order to understand what’s going on you need to know UNIX decently well. To put my anxiety to rest, I read two books: the ubuntu pocket guide and UNIX in a Nutshell. Both are great books and really helped me understand how UNIX works ( not to mention a great warm up for my upcoming Operating Systems class) After that I felt pretty confident in my website setup; it’s secure and runs smoothly.
The Dreaded DNS Configuration:
Everything I read about this said the DNS configuration, the process of making the website name, localhost, correspond to my IP address, would be terrible. It certainly wasn’t simple like the famous 5 minute wordpress install, but it was not the end of the world. I changed my firewall settings, set-up a static local IP address for my server and set my server to accept external requests. I used DynDns to register my domain and host the dynamic dns service to keep track of my ever changing IP( your home IP address is changed frequently as a result of your ISP dynamically generating IP addresses). I installed the DynDns update client(it tells DynDNS where to find your server) on my server and changed my wordpress site name to match my new domain name. About two hours after applying the domain name changes I got on my phone’s web browser and tested my site from outside our home wifi. It worked!
Keeping it humming along:
Finally, to keep the server running 24-7 I modified the BIOS to reboot after any power failures and scheduled all the necessary processes to startup when the computer restarts. When I need to login to the computer, I just use ssh. It just needs to be plugged in!
In theory the set-up is very straightforward but in reality it took a lot of head banging to make it work. Missing a detail in a configuration file could be miserable. The little errors slowed down the process a lot. However I’m really glad I did it. I have a new appreciation for UNIX and have come to really respect it’s power. My advice to any one looking at making their own website is to learn why things work. You can get going pretty quick with the manuals and how-to guides but once you hit a bump in the road you’re likely to be in way over your head.