Why I Switched from Digital Ocean and WordPress to Squarespace: A Good Life Lesson




So mid-this summer I decided that I needed to have a permanent home on the web, especially somewhere where people could go and find out about my professional life and not just read my political views or details about my personal life.

So mid-this summer I decided that I needed to have a permanent home on the web, especially somewhere where people could go and find out about my professional life and not just read my political views or details about my personal life.

I’ve ran blogs for myself ever since my teenage years but you guys know how that typically goes, it’s cool for a week and then you forget about it. But I’ve always used WordPress for myself just because I liked having control over the server. So that’s what I did, I went on Digital Ocean, created myself a CentOS droplet, popped WordPress on it and good to go!

Not really.

As I started to add more and more content, it began crashing more and more frequently. As it had turned out it was a problem uniquely tied to Digital Ocean and one of the WordPress plugins I was using. However, the last time it had went down, I had just sent my resume out to several potential employers — with my website listed. I had already brought it up from going down once that day so the second time, I was pretty much done. After all, I’m a tech guy! I didn’t want potential employers trying to visit my site and it be down! I could just imagine, “We’re not going to hire him! He can’t even run a website!”

So I immediately grabbed my debit card, went over to Squarespace, signed up for an account, paid it for the year and within a few hours had everything transferred and back up and running. To be fair, I’ve had a lot of experience with Squarespace in the past. It’s been my go to web platform for my IT clients for years, mostly because I could go in and set everything up initially, spend a few hours with the client and show them around and they could make changes to their site themselves without having to call me.

But my point is this: save your energy for the most important work. Hell, I have web servers, application servers, database servers, caching servers, VOIP servers, Active Directory servers, etc that I’ve been managing and running 24/7 for years with very little downtime. So sure, I could have went over to AWS, spun up a few small instances, placed them behind a load balancer, blah, blah, blah and STILL have to be the one who manages it and have to be the one who fixes it when it has problems.

Sometimes it’s not worth the time or the energy just to be able to say you did it all yourself. I’m not sure if it’s because I’m getting older or what but I’m beginning to start picking my battles more carefully.


CentOS: My Preferred Server Operating System

Every time I need to setup a new server, unless the application(s) I’m planning to host on it requires different, my go to operating system has been CentOS for the past decade or so, mostly because of how rock solid it is (I don’t think I’ve ever had a CentOS server crash on me). That’s partly because it is a derivative from Red Hat Linux. In fact, Red Hat not only owns the trademarks for CentOS, it also employees their primary developers.
I hardly ever setup a Linux server with a GUI so most of the time I install it with the minimalist image which works great for my LAMP servers, SAMBA servers and script servers. Because of its association with Red Hat, most mainstream Linux applications have support and documentation for CentOS. Another extremely important thing to look for in server operating systems is the lifecycle, meaning how long will the CentOS team maintain the release of a version and provide security updates and such. Most CentOS versions have a lifecycle for a decade so you won’t have to worry about being forced to upgrade anytime soon after you implement a CentOS server.

I wouldn’t recommend using CentOS as a workstation at all given that its GUI is extremely slimmed down but for a server operating system you are hard pressed to find a OS as solid as CentOS.

Virtualization Platforms

I’ve always been fascinated with virtualization. I remember back in my high school days, I had to duel boot my desktop with Windows and Linux because I wanted to use both operating systems.
Then I got my hands on a copy of VMWare Workstation and it was huge! I could have virtual desktops for every operating system that I wanted!

Fast forward to 2017, most of the servers that I manage are virtualized. Early on when I was first just getting started with server virtualization, my go to platform was VMWare ESXi and it still is a great product. However, nowadays if I need a bare-metal virtualization server, I typically go with Citrix XenServer just because it feels more polished.

Surprisingly, I’m typically not a fan of the Windows Server family unless I really have to run something that requires Windows Server (Active Directory, Exchange, IIS, etc) but their Hyper-V hypervisor is really great! I use it whenever I can’t dedicate an entire server to a bare-metal virtualization server.

Then there’s personal use. It should come as no surprise that if I’m in need of a virtual machine for testing purposes, etc on my personal equipment, I just use Oracle’s VirtualBox. Other than because it’s free and open source, it’s cross platform so it runs on Windows, Mac and Linux.

So there you have it. I don’t really have a favorite virtualization platform. As with most things, I just choose the right tool for the job.

My Web Server Backup Script

I thought I would share this simple script that I wrote for my web server to back it up every night.
This simple python script:

  • Creates a temporary directory to copy everything to
  • Copies everything in my home directory
  • Copies everything from my root web directory
  • Copies my php.ini file (I hate resetting up my php.ini file)
  • Dumps all of the databases that I may have in MariaDB into a nice SQL dump file
  • Tars everything up into a single file
  • Then uses one of my favorite Linux CLI tools, RClone to copy the tar file to my Google Drive
  • Cleans up the temp directory that it created
#!/usr/bin/python

import os, time

f=str(time.time())
c="cwfraziercom"
p="/var/backup/"

os.popen("mkdir "+p)
os.popen("cp -r /root "+p)
os.popen("cp -r /var/www/ "+p)
os.popen("cp /etc/php.ini "+p)
os.popen("mysqldump -u root -pPassword > "+p+"sql.sql --all-databases")
os.popen("tar -zcvf /var/backup.tgz "+p)
os.popen("/root/rclone/rclone copy /var/backup.tgz g:/Backups/WebServers/"+c+"/"+f+"/")
os.popen("rm -rf "+p)
os.popen("rm -rf /var/backup.tgz")

I then just schedule the script to run every night by scheduling it as a cron job.

Also, just in case you’re wondering, the reason that I assign the file name as the value of the current epoch time is so each backup file has a unique file name. I keep all of my backups forever so the last thing I want is overlapping file names and accidentally overwriting old backups.

Digital Ocean: Great VPS for Personal Projects

When I first started my business, the first thing that I had to host for a client was their email and website. I forget how I found them but for a couple years I rented a VPS from a company called Server Intellect which I later upgraded to a full on dedicated server. And then I came across Amazon Web Services and used their EC2 service to launch and run servers for my clients whenever I needed to. In fact, I was the consultant that helped manage one of my local community colleges, (Taft College) transition from hosting their website on-premise to Amazon Web Services.
I’ve always preferred AWS over Microsoft’s Azure or Google’s Compute Cloud quite honestly just because I am so familiar with it and already had my account setup as well as server images for different setups that I had.

However, probably around a year ago I switched all of my personal stuff such as scripts and my website over to Digital Ocean. Although I still advise businesses to use Amazon Web Services just because they have so many more advanced options and integrations with their other services, I recommend Digital Ocean for people like me who essentially just want to tinker around or just need to have a VPS for personal use in the cloud.

Digital Ocean refers to its server instances as “Droplets”. One of the things that I love about them is that all of their droplets comes with SSD hard disks (and you can really tell). Also, their entry level prices are unbeatable, starting at $5 for a droplet. But probably the thing that I love most about them is the simplicity of their console. They make it ridiculously simple to spin up a new VPS in a matter of minutes.

So the next time you need a VPS, give Digital Ocean a look!