Setting Up This Site

What Technology to Use

I considered setting up the site using .NET core since I do most of my hobbyist programming in C#. But it really isn’t the right tool for the job when it comes to personal blog site so I settled back on WordPress.

I guess if I ever end up customizing it too much I’ll end up programming in PHP. (All the PHP memes don’t make it sound much fun.)

Selecting a Hosting Provider

After some research it came down to A2Hosting or VeeroTech. The managed WordPress plans on A2Hosting really caught my eye but they do seem like an overkill for a simple personal site. I went with the VeeroTech WordPress Pro option instead.

One thing I like about VeeroTech is that the actual pricing is not buried in promotions. Seems like the right way to do business. Simple and to the point.

Connecting the Domain with the Hosting Provider

All that was needed was to add the specified nameservers to my domain through the domain provider. The change takes a bit of time to take effect. Takes a tiny bit of patience to wait for it. (F5, did I do it right? F5, did I do it right? …. doesn’t help much)

Setting Up WordPress

WordPress was already installed with this plan. I performed the additional actions suggested by the hosting provider including installing Wordfence Security for security and LiteSpeed Cache for faster loading of the site.

I also enabled Akismet Anti-Spam to reduce comment spam. It requires a sign-up and an API key but I had one sitting my emails from eight years ago when I dabbled with setting up another personal WordPress site. (That one had a grand total to two posts during its lifetime. Let’s see how this one fares.)

Setting up SSL

The WordPress admin login page was on an insecure http connection so I decided to setup https before continuing. Otherwise wherever I would log in to my account the password would be susceptible to network packet sniffing.

Went with the one offered by the hosting provider in the admin panel for the sake of convenience. Basically just followed the steps and instructions to set it up.

SSL not Enforced

Even though the https is now setup, the site still can be accessed over http. I’d like to route all requests to https. To do that, I added the following at the start of the .htaccess file in the public_html folder:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://usman.io/$1 [R=301,L,NE]

Mail Isn’t working with WordPress

The built in mail feature doesn’t work well as it gets filtered by large mail providers like Gmail. Time to setup something more robust. A little bit of googling later I decided on MailGun. (Skipped Gmail because it requires setting up a Google developer account and seems like a hassle.)

I followed the instructions in this location to set it all up.

After I was done setting up emails through MailGun I did end up receiving the original email I sent from the vanilla WordPress installation. Well I guess the emails will be just a bit quicker now on-wards (hopefully).

WWW Not Working

By default usman.io but www.usman.io doesn’t. Using cPanel I had to add an ‘A’ record with name www.usman.io and record value the site IP address to make it work. (A number of other records in there had the site IP address so I just copied it from there). And now the site works with both www and without.

All Done!

Let the mundane blog posts commence!