Moved this website (www.tanay.co.in) from an older version of Drupal 7 to Drupal 9. And switched the DNS to this new site, just a while earlier.
The migration was fairly straight forward using the Migrate Drupal UI module. I had attempted moving this site to D8 5 years ago. It was a bit messy, and I chose to leave it in Drupal 7. My observations from back then are detailed here.
I have been away from Drupal for over a couple of years now, until very recently. And I was expecting no smoother experience than last time. But it was surprisingly easy. Zero code. (Although this website doesn't have any custom functionality that I chose to port over.)
I had some IMCE editor and upload plugins on D7, that allowed copy-paste of content and images directly by from Google Docs, where I used to draft my posts. And those plugins saved images and rendered them in a not so straight forward way, without extensions. I was expecting that these existing images wouldn't work out of the box, but they did, on Apache at least, with some htaccess directives. I initially setup on the server an OpenLiteSpeed (OLS) server instead of Apache. But these images wouldn't render. Had a thread with OLS team, that tried helping. But it wasn't a comprehensive fix and the fix was breaking a few other things. And after trying multiple things, I chose to stick with good old Apache.
A snippet from my conversation thread with the LiteSpeed team.
Litespeed is some tech I would watch out for in the years to come, although they are at this point far away from being a dependable Apache alternative. I am especially intrigued by their Drupal caching plugin https://github.com/litespeedtech/lscache-drupal/ - which claims to increase performance of Drupal by rendering cache from the webserver, without invoking PHP. Yet to try it out. Not sure if it works with Apache, probably not. Also, not sure if anything would be preventing it to be ported to work with Apache/Nginx, as well.
Got introduced to panels that provide a UI on top of Linux servers, when I was trying out Litespeed. Because, the same company that created LiteSpeed web server also build this panel called CyberPanel. I am not a big fan of such panels and would rather do things myself on the terminal. But wanted to try them out as they made me nostalgic of the days when I tinkered with Cpanel (yet another Panel) and WHMCS, selling small hosting packages via geniehost.com (a domain which I later sold away to the current owner, a hosting company with the same name based out of Australia). While Cyberpanel was nice and flashy, I had to switch to Apache for the reason mentioned above. Found KeyHelp while looking out for alternatives. Seems to work fine so far. Gives the feel of having a fully loaded shared hosting, with all the bells and whistles, while actually being a dedicated server. This server is a $6/month Debian box from DigitalOcean.
Drupal Planet - Did the change in term IDs mess up Drupal Planet feed?
After I moved the site to D9, switched the DNS, and it has been a few hours. Then I realized, I may have sent some spam on Drupal Planet feed. Because, Drupal planet feed is based on RSS feeds, and I had used a specific term for tagging content that is relevant to Drupal Planet, and now, the terms IDs would have changed, and now my D9 site would have pushed a bunch of irrelevant posts to Drupal Planet. Was pretty sure this was an embarrassing situation to spam so many users with irrelevant posts. Fortunately, just realized the D9 site has the same term ids as the D7 site prior to migration. That is not the usual out-of-the-box behavior of Drupal Migrate module, back when I used it for migrating content on work projects. Whatever caused that to change, at least in Drupal Migrate UI, is a good change. This would have been a pitfall otherwise.
Setting up a LAMP stack
Setting up a LAMP stack from scratch is something I haven't done in the recent past. This was something I used to do day in day out, with my buddy Ramesh Babu (drupal.org profile), while we worked for Harvest Technologies in Hyderabad, back in the day like 2011-2012. Ramesh passed away due to Covid a couple of months ago, leaving his family in a tough situation. Definitely missing him. He would have been the first one I would have called when I messed up setting this server up right the first time. Working on web development these days makes your more abstracted from LAMP stack due to the likes of Lando, DDev for local, and the likes of Acquia, Pantheon for the cloud.
Feels good to have this site moved to D9. This was long overdue.