website basics
- 4 minutes read - 846 wordsSeveral of my classmates in graduate school are considering making websites around now, and have asked me to explain it. I figured I’d explain the stack as I have it set up, and where you could make tradeoffs. For now, I’m not going to include too many detail here; I just want to outline the possibilities and lingo so that researching options is a bit easier for the uninitiated.
First off, many people are perfectly happy to use the school’s email and department web space. If you only want to have a list of relevant papers and soforth, then this is a fine approach. See the very bottom of this post for a couple potential ideas for organizing it.
An alternative to this is to buy a domain name, and doing a combination of email and web hosting with it. A few other reasons you might consider this path:
- You want to build an internet brand. – One particular perk here is an email address on your domain.
- You want to develop web-based software
- You want your web identity to be independent of where you currently work(something that can persist across multiple careers or institutions)
All of these apply to me, so that’s the route I went with. If you’re on the fence, a few other things I use my server for include:
- Running python or C-based numerical experiments
- Running an OpenVPN to have consistent access to my desktop at home from anywhere with an internet connection
- A code repository to showcase projects I’ve been working on and also serve as a backup of my work
- a private bittorrent tracker to transfer large files without tying up Dropbox space
Have I convinced you? Good! I want to cover some of the key ideas, and then we’ll get into how my setup is cobbled together. First, when you type in “traviscj.com” to your web browser, the first thing that happens is that a DNS server maps that domain name into an IP address. The IP address is a unique locator for the machine serving the internet(be it email or, in this case, HTTP.) It enables your computer to ask my server for a particular page. Alternatively, when you email some email address @traviscj.com, your email client asks some DNS servers which server is responsible for emails at @traviscj.com. The DNS server again returns an IP address that can be used, and your email client connects to it to send email there. Therefore, our setup will need to include: buying a domain name from a registrar, setting up a DNS server for that domain, setting up a server to handle HTTP requests, and finally, setting up a server to deal with email.
In my setup, I use NearlyFreeSpeech.NET as my registrar, Linode for both their virtual private server and DNS hosting(through their very nice web interface, not a custom setup,) and Google Apps for email and calendar. Domain registration typically runs about $10 per year, DNS/website hosting is around $20 per month, and Google Mail is around $50 per year. Less expensive options for website hosting are available, but most impose some limit on flexibility. However, if you only need website hosting, it also greatly simplifies the procedure. One economical option is to use NearlyFreeSpeech.NET as a domain registrar, DNS server and web/database server (as needed.)
For a new VPS setup, the step is to secure your hosting. Once you’ve activated it, you’ll need to set up a Linux distribution on it and configure web servers and whatever else you need. At least on Linode, this is a trivial matter of picking which distribution and having them load a disk image onto your node, then waiting for it to install(it’s quick.)
While that’s finishing is a good time to set up Google Apps to get the email rolling. The setup is straightforward, though I haven’t done it since they abolished the ‘Personal Apps’ hosting.
Once your setup has progressed to the point that the machine has an IP address listed and your mail setup is complete, it’s a good time to purchase your domain name. You can do this sooner, but you might as well do the whole setup at once. After purchasing the domain, you can point it to the IP address providing your hosting, and also add in any Google Apps mail info, as needed.
Now comes the hard part–waiting for the DNS info to propagate around the world so that other people can start seeing your website and email can be delivered. While you wait is a good time to start adding some content to your website. My two primary recommendations here are jemdoc (for academics, particularly those whose webpages have a mathematical slant) and wordpress (for everyone else.) If you like the look and feel of jemdoc but wanted a more blog-style setup, one option is my own tcjblog. If you like online, live editing of Wordpress are not interested in the blog styling, keep in mind that it is easy to create static pages as well.
Now you’re set! Enjoy your online presence!