Welcome to the first post of my personal space on the web!
Detailing current setup for making this come true is the intent of this blog post, in convergence with the openness I like about technology and its user community.
So, what will you need to do something like this for yourself?
- A custom domain (in my case, bmartins.pt, owned since 2014)
- A hosting provider (I’ll be sticking with GCP but you can opt for Azure or AWS)
- An environment on where to run this on (like a GNU/Linux server, a CMS – WordPress, in my case -, and a web server)
- Security (as always!)
Purchasing a domain name
For the first bullet of the previous list, you’ll need to buy o domain from a registrar of your preference. I usually go for dominios.pt but you’re free to choose yours, based on pricing or whatever your requirements are.
Also, and although obvious to the majority of us, you’ll need to pick a DNS management provider, so you can control your zone’s records. Most people usually stick with that provider’s management tools but I really love the work that Cloudflare guys do on this subject. Kudos to them!
Choosing your hosting provider
Once again, this topic will depend on your preferences. Nowadays, there are a lot of providers out there, being them public or private cloud providers, so you’re free to choose one of them based on your liking.
I’ve opted for Google Cloud Platform, since I’m already a G Suite user and I love the integration between Google’s different service offerings for the web.
If you want more control over your data, then choose another type of hosting like doing it yourself in your Raspberry Pi or whatever device you may have for this purpose.
Another topic that can generate some controversy because there are plenty of choices here, too!
First of all, because you can choose between a SaaS, PaaS or IaaS solution, and then because there are a lot of operating systems and web servers for this purpose, so it’s really up to you and your management skills!
Since I’m still a “virtual machines” guy, I just chose a publicly available image in the Marketplace that fits my needs:
- It runs an OS I know how to manage – Ubuntu
- It’s already setup with a light web server daemon, so my GCP instance may be short on size to, hopefully, handle future requests
- WordPress CMS is in a “ready-to-setup” phase, so no worries about copying files or setting up databases
Last but not least… Security!
For this part, you may think of security in multiple vectors, but at least consider the following:
- OS – make sure your operating system (and its packages) are fully patched and up to date. Do it on a regular basis!
- CMS – since WordPress is not packaged, you need to make sure that you also patch its core code and plugins regularly
- Instance – keep your server away from the bad guys by using a Web Application Firewall:
- Make sure you have automatic SSL certificate issuance in place
- DDoS protection is a must, so consider using it
- Protect management ports and URLs when not using them (like /wp-admin directory and SSH port)
And that’s it. Hope you’ve liked it and comment with your setup!