Drupal Development

I’ve been building websites, applications, and online systems with Drupal since 2010 - which in Drupal years probably makes me something close to a dinosaur already. Over the past 15+ years I’ve worked across multiple Drupal generations, from older procedural builds to modern Drupal 10 and 11 architectures. This section is where I share practical Drupal knowledge, including custom modules, debugging tricks, workflow improvements, performance optimizations, and the countless small fixes that usually come only from maintaining real production systems for years.

Alongside Drupal itself, a large part of the work involves the surrounding infrastructure that keeps everything running reliably. That includes Ubuntu servers, Nginx configurations, deployment workflows, caching, SSL, database tuning, automation scripts and more.

How to Install Drupal 11 with Nginx, PHP-FPM 8.3, MySQL, phpMyAdmin on Ubuntu 24.04 - Linode Guide

In this article, you will learn how to set up a webserver for serving Drupal 11 websites running with Nginx, PHP-FPM 8.3, MySQL, and phpMyAdmin on Ubuntu 24.04For the following tutorial, I used…

| 1,450 seen

How to Install Composer on Ubuntu (24.04) for Easy Drupal Module & Theme Updates

As a Drupal developer, keeping your modules up to date is crucial for security and performance. To streamline this process, I use Composer—a powerful dependency manager for PHP. It allows me to…

| 372 seen

How to Install Drupal 10 with Nginx, PHP-FPM 8.1, MySQL, phpMyAdmin on Ubuntu 23.04 - Linode Guide

In this article, you will learn how to set up a webserver for serving Drupal websites running with Nginx, PHP-FPM 8.1, MySQL, and phpMyAdmin on Ubuntu 23.04 For the following tutorial, I used…

| 1,674 seen

How To Fix Drupal AMP Error with Google Analytics

AMP for Drupal is a really powerful module, that can give your Drupal-powered website an impressive website traffic boost. But it will only work if there are no AMP-related issues - like Custom…

| 40 seen

How to Install Drupal 9 with Nginx, PHP-FPM 8.1, MySQL, phpMyAdmin on Ubuntu 22.04 - Linode Guide

In this article, you will learn how to set up a webserver for serving Drupal websites running with Nginx, PHP-FPM 8.1, MySQL, and phpMyAdmin on Ubuntu 22.04 For the following tutorial, I used…

| 469 seen

How to Fix "Unable to install bootstrap, bootstrap.settings already exists in active configuration"

As this was already the second time i faced the "Unable to install bootstrap, bootstrap.settings already exists in active configuration." problem i decided to share a quick and simple…

| 122 seen

How To Upgrade Drupal 7 to 9 (With Multilingual Support)

In this article, I will keep notes on how I upgraded the multilingual Drupal 7 site to a multilingual Drupal 9 site. Turns out I had originally built this website on Drupal 7 more than 10 years ago…

| 40 seen

Adding Custom CSS stylesheet to Drupal Olivero theme

Just recently I migrated my blog from Drupal 7 to the Drupal 9 platform, and this time I decided to stick with what I get, instead of building it all from scratch. I really like the default…

| 341 seen

How To Update to PHP 7.4 Ubuntu 16.04 Drupal 7 Nginx

I was facing problems with some Drupal modules not being supported, before upgrading to PHP 7.4 version.   As I had running Ubuntu 16.04 server with Nginx and PHP 7.0 FPM on in I felt a…

| 283 seen

How To Display Drupal 8 Block on all Taxonomy pages (taxonomy/term/)

Today working on my favorite website - optionsbrew.com, for a moment I faced a small issue - how to display block (s) on the default taxonomy/term page. I remember I was doing such tricks back in…

| 46 seen

How To Add CAPTCHA Protection to Drupal 8 Webform

Recently I launched a new Drupal 8 website and was surprised by a spam amount we got via website's contact form (built with Webform module).  As the website was new, I was manually…

| 239 seen

How To Create a Custom Drupal 8 Theme based on Bootstrap

When building a new Drupal website I prefer working with a Bootstrap theme and apply a subtheme  Just like in the case with Drupal 7, theming a subtheme based on Bootstrap is super simple - in…

| 55 seen

How to Install Drupal with Nginx, PHP-FPM 7.4, MySQL, phpMyAdmin on Ubuntu 20.04 - Linode Guide

In this article, you will learn how to setup webserver for serving  Drupal  websites running with Nginx, PHP-FPM 7.4, MySQL and phpMyAdmin on Ubuntu 20.04 For the following tutorial,…

| 141 seen

File Permissions for gmap_markers.js

Time after time I'm facing this issue with gmap markers. As mostly this happens when I'm doing something on the server side with file permissions, I decided to keep the notes here is the problem…

| 20 seen

Simple CSS trick to Make Table Responsive

Working on the OptionsBrew.com project (website is powered by Drupal 8) I faced the following responsive table issue while browsing content with a table on smaller screens (phone)Broken…

| 62 seen

Drupal 7 Fix: SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'.

I was migrating Drupal 7 website to a newer infrastructure (PHP 7.4) and during the migration process when tried to connect to the MySQL database  I faced following error - SQLSTATE[42000…

| 1,164 seen

How To Block IP Address in Drupal 8

Unlike in Drupal 7 version where IP banning is enabled by default, with Drupal 8 version, there is one more step added - IP banning must be enabled from the extend section. Here is how. (source)…

| 140 seen

How To HTTPS Secure Drupal 8 Running Nginx with Let's Encrypt on Ubuntu 18.04

Let's Encrypt have done some very good job, providing SSL certificates that everyone can use absolutely for free. Encrypted HTTPS websites should be default in 2020. I have been…

| 51 seen

How to Install Drupal 8 with Nginx, PHP-FPM 7.2, MySQL, phpMyAdmin on Ubuntu 18.04 - Linode Guide

In this article, you will learn how to setup Drupal 8 with Nginx, PHP-FPM 7.2, MySQL and phpMyAdmin on Ubuntu 18.04 For the following tutorial, I used very much the information from my previous…

| 82 seen

How To Enable Google Adsense ads.txt file for Drupal on Nginx

Around early September 2019, in my Google AdSense dashboard, I noticed a warning informing me to create a separate ads.txt file.  I followed the on-screen instruction and did what was asked.…

| 64 seen

Receive weekly trade ideas and portfolio adjustments directly to your inbox.

I share ongoing portfolio progress with a focus on generating income through covered calls on quality stocks. Each update includes positioning changes, trade rationale, and forward-looking adjustments based on current market conditions.

Latest articles

Embedded thumbnail for Mumbai & Goa / India Trip

Mumbai & Goa / India Trip

It has already become something of a tradition for us - escaping the cold during our daughter’s winter school break and trading grey skies for warmth, color, and a slower rhythm of life. Each year, we carve out about three weeks to leave Tbilisi behind and head somewhere sunnier. And more often than not, that “somewhere” turns out to be India.Our…

India |

RWA Tokenization in Georgia: Key Takeaways from DGFI & Forbes Conference in Tbilisi

On April 24, 2026, DGFI, in collaboration with Forbes Georgia, hosted a conference on Real-World Asset (RWA) tokenization at the Radisson Blu Iveria Hotel in Tbilisi. The event brought together representatives from financial institutions, regulators, brokerage houses, and emerging fintech players to discuss the evolving landscape of tokenized…

Living in Georgia |