Putting together this blog is the culmination of a lot of research and work. Not to mention trial and error. But I don’t mind sharing; in fact, I feel like that’s kind of the point of the Internet, right?
For starters, I should say that you do not need any particularly powerful or specialized equipment to get a website running these days. In fact, this entire site has been set up and is managed from a Chromebook I got for free for attending a conference at work. Almost everything I need to do for the blog is done via web service, so computing power is less important than you think.
There are pretty awesome free, hosted solutions that you can jump into with virtually no tech knowledge (WordPress.com, Weebly.com, Wix.com, not to mention Google Sites, etc.) but for a more complete platform that you’ll have a lot more ownership of – and flexibility to do with what you like – I might recommend a virtual server running a LAMP stack (Linux, Apache, MySQL, and PHP) on which you can install whatever you like. There are plenty of other sites that will outline which blogging or CMS solution is best for you (I like Joomla or WordPress mahself), so this will focus more on the behind the scenes work.
Setting Up A Cloud-Served Website – The Hard Way
- Choose and secure your domain name. Kind of a no-brainer, but you’ll want to know what your site is called before you get started. There are free domains out there, but even the premium .com/.net/.org names usually don’t cost too much (unless you’re going for something really popular, in which case it could cost you thousands!)
- Choose your server host. You can pretty much name your price, from free solutions (see AWS, check out the free tier) to, well, as much as you want to pay. Frankly, though, if you’re paying more than $5-$10 a month for your personal-use server, I think you’re over-paying.
- Choose your server platform. Linux or Windows are probably the most common out there, and certainly at the lower price points, you’ll probably find yourself choosing Linux and learning the command line. Which is a good thing, TBH. I like Linux because of the massive support network each distro enjoys, and the infinite flexibility you get from piecing it together yourself. Also, there’s the bonus that so much of it is open software (ipso facto, free or nearly so). Most hosting services ask you to choose which OS you want, and deployment is automatically taken care of in the background while you wait. And if you don’t get a choice and you’re on a budget, chances are you’ll be on Linux. 🙂
- Install your LAMP stack. Linux is the operating system, Apache is the server software, mySQL is your database, and PHP is how you serve up dynamic content. Again, all free or nearly free. There are tutorials to set up each on the OS of your choice, but I found this one for Ubuntu 18.04 LTS to be quite good.
- Secure your site with SSL. While not technically necessary, securing your site with a digital certificate is, I believe, a must. Not only do you get higher Google rankings with a secure site, but the information you are sharing – or collecting – is protected between you and your audience. You may also have noticed that some sites have a “Not Secure” label to the left of their URL in Chrome (and other browsers); this does not mean that your standard http:// site is malicious, but it definitely will feel that way for the casual Internet user. I like Let’s Encrypt and recommend its use to any and everyone. There’s a great guide on setting up your own trusted secure connection (again for Ubuntu 18.04 LTS) available at DigitalOcean.
- Install your blogging software or CMS. At this point, all you’d need to do is set up your content. I like Joomla or WordPress, which are sort of the juggernauts of the blogging/website space, if for no other reason than the support. Sure, every CMS (Content Management System) has its merits, and I’m sure that there are some that, in a variety of contexts, are better than either Joomla or WordPress. But those alternatives tend to take an investment in time or money to get just right because they don’t have the same depth or breadth of extensions, templates, themes, or user support. (NOTE: WordPress.org provides the WordPress CMS for you to install on your own server. Visit WordPress.com to explore free and hosted WP blogging solutions.)
- Take a test drive. Try typing your domain name into your browser and see what happens! For me, I got nothing until I went into my domain manager and updated my A Record to point to the fixed IP address my server is running on. Just my experience – your mileage may vary!
Of course, this is the process in broad strokes, and if you’ve never played with the infrastructure side of the Internet, it can be pretty daunting. There’s nothing wrong with ponying up for any of the “Build Your Website in 5 Minutes or Less!” services, as long as you don’t mind the limits of the services offered, and the price. But if you have some time and are willing to try, setting up your own site from scratch can be an enlightening and rewarding experience!