Drupal Website Development

The Drupal Wesbite Development section covers practical insights, tutorials, and notes from over 15 years of experience working with Drupal and web infrastructure.

Alongside Drupal development, this includes hands-on work with server environments such as Ubuntu, Nginx, and tools like XTRF, as well as broader topics around deployment, configuration, and performance optimization. The focus is on real-world solutions, debugging, and maintaining production systems rather than theory.

More recently, there has been a shift toward “vibe coding” — rapidly building and iterating on tools with the help of AI. This approach has led to the development of several practical applications for financial markets, including options scanners and other data-driven utilities.

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,441 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…

| 370 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,673 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…

| 339 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

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 |

Building a Frame House in Latvia: Kitchen Installation, Ground Tilling & IKEA Trip

As usual, we planned our spring around the school break at BIST (British International School of Tbilisi). This year we again split the time — one week in Latvia working on the frame house in the west, and the other in Berlin for business meetings related to the translation company.Returning after winter always comes with surprises. This year didn…

Frame house - Capšu Zeme |