Site icon Alex Wang's Blog

Behind My Websites Part 1: Backend Stack

photo of gray building

Introduction

Welcome to my first series, where I will be discussing the backstory of all of my websites. (Thanks to some inspiration from @Not_Oles over at the LowEndSpirit forum 😉 )

In this article I’ll be focusing on the backend of my websites. This means all of the software and hardware (infrastructure) that runs “behind the scenes”. I hope you’ll find this series interesting, and please let me know your feedback in the comments.

Software Stack

Operating System

Let’s start off with the basics: the operating system. All of my websites currently run on Linux distributions (typically Ubuntu or Debian). The only website that ran on another OS was Unixfy.net, which used to be based on Umbraco, an ASP.NET CMS which only runs correctly on Microsoft’s IIS web server (which obviously only works on Windows Server). At the time of writing, Unixfy.net is now a Jamstack app deployed on Netlify (which is powered by Linux servers, to my knowledge).

I still have a few services, like my Active Directory cluster and Veeam deployments that run on Windows Server, but all of my websites are now on Linux.

Languages

Seeing as PHP remains an extremely popular language for web applications, it’s no surprise that the vast majority of my websites are powered by PHP. However, some of my sites, like landing pages, are simply static HTML – sans server side processing.

Web / Application Servers

Most of my websites are hosted on my personal ApisCP machine, which uses the Apache web server. I also have other sites hosted on one of my DirectAdmin shared hosting accounts, which uses the LiteSpeed Web Server. Some of my other web apps (like Confluence, share.unixfy.net, etc.) run inside of Docker containers and are reverse-proxied by Nginx. I use docker-compose to manage my Docker deployments.

I used to use Traefik and Caddy to reverse proxy, but it appears they aren’t well-liked in the Low-End hosting community. Not to mention, they are both relatively annoying to configure and slow compared to Apache or Nginx.

Exhibit A: Caddy is not well-liked in the LowEnd community.

Web Apps/CMS

Most of my dynamic websites, including this blog, are powered by the WordPress CMS. However, I also regularly use a variety of other software for various purposes:

I’ve been trying to consolidate the different software I use for the sake of maintainability, but sometimes that is simply not possible 🙂

WordPress Themes and Plugins

As I am an an avid WordPress user, and I have been asked before about what themes and plugins I use, I’ll also list the main plugins I use on my WordPress sites.

Themes

I pretty much exclusively use these themes on all of my WordPress websites. For sites that need greater customization (or that will be edited by people with less technical experience), I usually go with Divi theme; otherwise I’ll go with GeneratePress. This blog uses the GeneratePress theme.

Plugins

I install all of these plugins on nearly all of my websites. I put a lot of time into selecting and curating which plugins I choose to deploy, so I think this list is comprised of the best plugins available today. (Do note the list is not exhaustive: a few of my sites have plugins that I don’t universally deploy, typically because I need the plugin for some sort of specific purpose, e.g. Advanced Custom Fields.)

Hardware Stack

Infrastructure Providers

All of my websites are hosted on virtual servers (VPS) at various providers. I stick to HVM/Fully virtualized (e.g. KVM, VMware) servers because I believe there are greater privacy concerns to be had with paravirtualized (e.g. OpenVZ) servers. I used to use a dedicated server, but this wasn’t economical for me, considering how underutilized the server was.

This is a brief list of the providers I’ve used the most, for the longest, and which I overall just like:

This list is far from exhaustive, but these are just the providers I’ve had the best experience with so far. And yes, I do use Amazon Web Services – in fact, at the time of writing, this blog is hosted on an EC2 instance.

SaaS/PaaS

In addition to the applications and sites I self-host, I also use some SaaS products – usually in situations where it’s not economical or feasible for me to host or build similar solutions myself.

Conclusion

You might now be wondering, why do you put so much time and effort into using tons of different things for your websites? The answer is simple: IT is one of my favorite hobbies, and I really enjoy learning about it.

Were you surprised by this post? Or maybe you were disappointed… let me know your thoughts in the comments. Thank you for reading!

Exit mobile version