Restaurant Imeruli Ezo

| Restaurant reviews | 17 seen

Restaurant Imeruli Ezo is a nice roadside restaurant located in Natakhtari (this area is famous for its restaurants)

We made a lovely dinner here at the start of June 2020, returning from our adventures at the Poppy fields near Mchadijvari

Inside yard at Imeruli Ezo

In direct translation from Georgian to English - Imeruli Ezo - means - Imeretian yard. And yes they are serving here Imeretian style food.

The food at Imeruli Ezo

We ordered some salads, mcvadi, badrijani, Turkish Coffee, and some Georgian lemonades. 


How To Exlude URL's Form Google AdSense Auto Ads

| Blogging | 13 seen

Google AdSense auto ads have been available for some time already, in the past I have used them with mixed success. 

Fast forward to 2020 and I decided to give them another shot. But there was one thing worrying me - I don't want to show Google Ads on every single page, and I want to take control of it. As my blog is built with Drupal, in the past I have used a few tricks to get what I want. 

Auto ads offer a simple and innovative way for you to monetize your content. With Auto ads, you place one piece of code on all pages across your site. Auto ads will then scan your site and automatically place ads where they’re likely to perform well and potentially generate more revenue.

Google offers excluding specific URLs for showing auto ads on.

The first step I decided to set up and run Google Auto Ads for a couple of days, and then use Google Analytics to filter out URLs with most AdSense views/clicks (You should connect both AdSense and Analytics to have such feature)

Filtering pages with most Google AdSense views /clicks in Google Analytics

Now there are 4 pages from top 10 pages I don't want Google Ads be shown, now all I have to do is go to the Google AdSense auto ads settings, and manually paste the URLs I want to be excluded:

Login to your Google AdSense account

From the left top menu, click Ads - > Overview

And here you should have a screen offering to enable/disable auto ads, as well configuration settings:

Google Auto ads management

Manage page exclusions for Google auto ads

Click save and you are done!


How To Create a Custom Drupal 8 Theme based on Bootstrap

| Drupal Development | 43 seen

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 a few words - download and enable a Drupal 8 bootstrap theme, then in the Drupal themes folder create a new theme folder and make a custom info.yml file

here is a live example from OptionsBrew.com theme

  • in the themes folder, create a new folder -> optionbrew
  • in the optionbrew folder create a new file - > optionsbrew.info.yml

in the optionsbrew.info.yml file paste following:

core: 8.x type: theme base theme: bootstrap name: 'OptionsBrew' description: 'A custom Drupal Bootstrap 3 based sub-theme for OptionsBrew.com.' package: 'Bootstrap' regions: navigation: 'Navigation' navigation_collapsible: 'Navigation (Collapsible)' header: 'Top Bar' highlighted: 'Highlighted' help: 'Help' content: 'Content' sidebar_first: 'Primary' sidebar_second: 'Secondary' footer: 'Footer' page_top: 'Page top' page_bottom: 'Page bottom'

Save the file and clear the cache for the Drupal website. Now when accessing admin - > appearance, you should see your custom Drupal 8 theme 

Custom Drupal 8 theme

Now Install and set as default

here you go, we just created and enabled a custom Drupal theme based on Bootstrap 3, now it's up to you how you will theme it

When using Bootstrap subtheme I usually do very little rewriting, mostly with some custom css stylying

How To apply Custom css and js to Drupal theme

Here is a good read on apply css and js for Drupal 8: Adding stylesheets (CSS) and JavaScript (JS) to a Drupal theme

Defining a library

Define all of your asset libraries in a *.libraries.yml file in your theme folder. If your theme is named optionsbrew, the file name should be optionsbrew.libraries.yml. Each "library" in the file is an entry detailing CSS and JS files (assets), like this:

global-styling: version: 1.x css: theme: css/layout.css: {} css/style.css: {} css/colors.css: {} global-scripts: version: 1.x js: js/navmenu.js: {}

To be available everywhere in the theme, the global-styling/global-scripts libraries must then be added to your theme's info.yml (in this case optionsbrew.info.yml)

libraries: - optionsbrew/global-styling

Hope it helps!


Happy Kids Saldus

| Entertainment | 14 seen

Happy Kids Saldus is a cool kid's amusement park in the town of Saldus, Latvia.

I first read about in on a local Latvian Daily Business newspaper, and soon as I had the chance took our baby girl to play here.

Amusement park "Happy Kids" at the Saldus bypass road has created a place to celebrate children's parties and other holidays.

Happy Kids indoor amusement park in Saldus

We visited this park on March 2020, back then the entrance fee was like EUR3/h per kid or EUR 5 for 2 hours. 

Popular party place for kids parties in the area

Playground for the little ones (toddlers)


June 2020 Dividend Income Report - $82.11

| Investments | 10 seen

Welcome to the thirty-eight (#38) dividend income report, covering earnings I've made from dividend-paying stocks and peer to peer lending in June 2020.

Just like the previous months, the last June we also spent in a self-isolation (because of Covid-19) here in Georgia. More of the strict lockdown measurements were lifted (inner tourism, restaurants and hotels were opened for public)  we did a few weekend trips with an overnight stay at local resorts here in Georgia.  Baby girl is started to attend her pre-school, she is doing great - talking a lot, putting together sentences, mixing languages, figuring out new words. Awesome. Quite fascinating what a 23-month-old can do. Development is very rapid.

Lopota Lake resort in Georgia

From the perspective of dividend income -  last June was very bad, we barely took $82.11, most of our dividends are trimmed or halted for now. There is a light at the end of the tunnel, but relying on dividends these days is very hard.

Compared to the previous June in 2019, when we almost took $300 in dividend income, our monthly dividend has decreased by -72.59%  (-$217.49). A year ago we did set a goal to take at least $400 this month, now this didn't happen. Scary. What even scarier our dividend income level last June was at the level we received back in June of 2017. 

Luckily, an additional $1,150.29 was made from options trading.   As options trading is not a passive form of making money while you are sleeping it wouldn't be fair to include them in dividend income reports. Check out our options income report here: June 2020 Options Income Report - $1,150.29

If counted all together (dividends + options) it seems we have made $1,198.40 in total last month.

We were able to generate about 6.53% income yield from our portfolio last June (that's about 78.36% annualized)

One of our monthly goals is to generate at least 2.5% income yield from the portfolio. As longs it's above to it - it's awesome.

Interest income in June 2020

From the stocks and peer to peer lending we got following income last month:

Ticker

Earnings

EDI

€13.93

USA

€12.72

Mintos

€10.58

EDF

€9.69

RA

€7.53

NCV

€6.44

PEI

€4.54

AWP

€3.63

BAC

€2.86

PFE

€2.01

Total EUR 73.97 / USD 82.11

In total there were 10 companies paying us dividend in June 2020 that is 8 companies less than in June 2019

Monthly income

I've been tracking my journey towards million dollars in a savings account since January 2017. More than three years already. The result, so far, looks quite good. Dividends are growing (even when they are not)

Monthly dividend Income chart as of June 2020

The cumulative earnings for 2020 now are $964.83  which is exactly 26.80% from my goal of 2020 ($3,600). On average, it would ask us to generate $439.20 every month for the next 6 months to reach this goal. Right, now the goal looks unattainable, as for now, I cannot see even a single $300 month for 2020, but this could change later, during the year as we are trying to add more quality stock to the portfolio. 

2019 in Review and Financial Goals for 2020

Goals for June 2021

This is my favorite part of the reports - trying to forecast/set goals for the next year. But before setting a goal for 2020, let's see what I forecasted/said a year ago (June 2019)

For 2020, I'm looking to take at least $400 in dividend income. 

Nah... we didn't even come close... our dividend stock portfolio wasn't immune against the market downturn and most of our stocks get trimmed or halted dividend payments. In the case of the recovery, there is hope. I will be optimistic and say we are still looking to crack that $300/mo goal in June 2021


Poppy fields near Mchadijvari

| Tourism objects | 227 seen

Summers in Georgia are very beautiful, traveling around the country is a pleasure. One such travel happened at the start of June 2020, when we decided to find the real poppy field.

Let me explain, a couple of weeks ago we already started to search for a poppy field here in Georgia to make lovely family photos, we did found one little field near Marneuli, and we even took very good portrait photography,  but this time we decided to find a real, rich with flowers, good for photography, and luckily thanks to the hints on Facebook we got location details - Poppy fields near Mchadijvari

Poppy fields near Mchadijvari in Georgia

The destination is quite easy reachable from Tbilisi, in about an hour we were here, with a little stop at Tsilkani Cathedral

Using Google Maps we added following route - Tbilisi - > Tsilkani cathedral - Mchadijvari. Once in the Mchadijvari, there is a Mchadijvari cathedral, and on the right side there is road, some 500 meters and there is a little unpaved road, another 300-400 meters and our destinations was reached

Poppy fields near Mchadijvari in Georgia

It looks like a small painting. I was using macro photography here.

Poppy fields near Mchadijvari in Georgia

What a lovely afternoon spent in beautiful Georgia


Saint Dimitri Tesalonikeli Fathers Moanstery near Mtksheta

| Churches and Monasteries | 10 seen

This is a little monastery near Mtskheta, best reached via Mtskheta-Shiomghvime monastery road.

That's how we actually discovered this place at the end of May 2020 - during a random drive to the Shio-Mgvime monastery, we looked for some nice picnic areas to dine outdoors, we did a few stops here and there until noticed this place.

We didn't picnic here, but in the nearby forest after a brief trip to the monastery.

Probably not as impressive as the Jvari monastery or Svetistkhoveli cathedral in Mtshekta this place has some magic.

Little wooden roadside in Georgian 

The monastery complex is at the end of the road. Next to the monastery, there is a forest park and some horseback riding activities.

At the entrance of the entrance, we met monks, and they allowed us to come inside to take look around and take some photographs. 

A little church

There is a little church inside. What's interesting they are using solar power to generate electricity here. Very modern and sustainable. 

Wooden log houses inside the monastery

I'm not an expert on monastery living, but I have seen these loghouses around the world.

We are planing come back to this road and visit more monasteries, and they are many here.

 

 


Average Monthly Salary in European Union 2020

| Macroeconomics | 524 seen

In 2020 three were 27 member states in the European Union (EU), 19 of the 27 EU member states have adopted the euro (€) as their common currency.

In this article, I've compared the gross monthly average salary for 2020. As I have been writing these articles since 2014, I've left the United Kingdom, just for reference.

Update: Average Monthly Salary in European Union 2022

I wouldn't call the below written scientific research or take it too seriously, as most of the data in this article are taken from Wikipedia's article List of European countries by average wage. 

All calculations are done using Google Spreadsheets. The data provided below might not be 100% accurate but they should give an overall insight on average salary levels across European Union member countries.

Countries are ranked by average gross salary in 2020

    2020 2018     Rank Country Gross Gross Change EUR Change % 1 Denmark €5,179.00 €5,191.00 -€12.00 -0.23% 2 Luxembourg €5,143.00 €4,412.00 €731.00 16.57% 3 Germany €4,035.00 €3,703.00 €332.00 8.97% 4 Ireland €3,867.00 €3,133.00 €734.00 23.43% 5 Austria €3,811.00 €3,632.00 €179.00 4.93% 6 Belgium €3,401.00 €3,401.00 €0.00 0.00% 7 Finland €3,380.00 €3,380.00 €0.00 0.00% 8 Sweden €3,194.00 €3,340.00 -€146.00 -4.37% 9 United Kingdom €3,161.00 €2,498.00 €663.00 26.54% 10 France €3,097.00 €2,957.00 €140.00 4.73% 11 Netherlands €2,855.00 €2,855.00 €0.00 0.00% 12 Italy €2,442.00 €2,534.00 -€92.00 -3.63% 13 Spain €2,279.00 €2,189.00 €90.00 4.11% 14 Cyprus €1,992.00 €1,779.00 €213.00 11.97% 15 Slovenia €1,855.00 €1,626.00 €229.00 14.08% 16 Estonia €1,472.00 €1,221.00 €251.00 20.56% 17 Portugal €1,418.00 €1,158.00 €260.00 22.45% 18 Lithuania €1,381.00 €885.00 €496.00 56.05% 19 Malta €1,379.00 €1,379.00 €0.00 0.00% 20 Czechia €1,280.00 €1,149.00 €131.00 11.40% 21 Croatia €1,214.00 €1,081.00 €133.00 12.30% 22 Poland €1,191.00 €1,102.00 €89.00 8.08% 23 Hungary €1,154.00 €955.00 €199.00 20.84% 24 Latvia €1,152.00 €1,013.00 €139.00 13.72% 25 Slovakia €1,086.00 €980.00 €106.00 10.82% 26 Romania €1,075.00 €787.00 €288.00 36.59% 27 Greece €1,060.00 €1,092.00 -€32.00 -2.93% 28 Bulgaria €690.00 €586.00 €104.00 17.75%

Data source: List of European countries by average wage

This is a list of countries containing monthly (annual divided by 12 months) gross (before taxes) and net income (after taxes) average wages in Europe in EUR currency.The table above reflects the average (mean) wage as reported by various data providers. In less developed markets, actual incomes may exceed those listed in the table due to the existence of grey economies.

The average salary in the European Union in 2020

The gap (in terms of monthly gross salary) between the richest (Denmark) and the poorest (Bulgaria) is 7.5. Which actually is increasing, as in 2018 the gap between Denmark and Bulgaria was more 7.15 times.

There is one thing that should be kept in mind, not all countries in this list have adopted EUR currency, in fact, there are 8 out of 27 countries in the EU using their national currencies instead of EUR. ( Bulgaria, Croatia, Czechia, Denmark, Hungary, Poland, Romania, Sweden)


Oskars Kalpaks Museum and Memorial Place "Airītes"

| Museums | 16 seen

Oskars Kalpaks Museum and Memorial Place "Airītes" is a branch of the Latvian War Museum established in memory of the hero of the Latvian War of Independence Colonel Oskars Kalpaks in "Airītes", Zirņi Parish, Saldus Region.

On March 6, 1919 during the liberation battles of Latvia, colonel Oskars Kalpaks, commander of the First Latvian Special Battalion; Nikolajs Grundmanis, the First Commander of the Battalion's Special Company; Peteris Krievs, Lieutenant-General of the Cavalry Squad and Johans-Hans Srinders, Lieutenant of the Baltic Home Guard Artillery died near Airites.

Airītes

From 1922-1933 monuments in remembrance of the four heroes were unveiled here, and the Oskars Kalpaks Memorial was opened in 1936. During the Soviet occupation, the Airites Museum and memorial ensemble were closed down. The memorial was reopened in 1988, and the renovated museum opened its doors in 1990. The museum's exhibition shows the role of Oskars Kalpaks and his battalion during the liberation battles


Church of the Archangels of Mchadijvari

| Churches and Monasteries | 14 seen

Mchadijvari Archangels Church is an architectural and historical monument in Georgia,  in the center of the village of Mchadijvari. 

We discovered this church when searching for the poppy fields in Georgia, at the start of June 2020 (hint poppy fields are next to the church, some 5000 meters on the right.

Church of the Archangels of Mchadijvari

The above picture is made from the Dusheti - Mchadijvari-Odzisi highway site. This time we actually didn't visited the cathedral, but here is what I was able to find out from Georgian Wikipedia

There is a construction inscription on the church. According to the inscription, the church was built in 1668 by Domenti Catholicos, and the castle-fence by Constantine Mukhranbaton in 1746 .

Shortly after the construction of the church, during one of the raids on Kartli, the Leks surrounded the village of Mchadijvari, but the church survived the demolition. In 1746, Constantine Mukhranbaton rebuilt the village and built a fortress around the church of Mchadijvari: "to be built and built without harm from men and enemies and the Marbies."

View towards Mchadijvari from the poppy fields

The view looks like from some medieval painting, kind of Johan Brotze works (I'm not sure if he ever has been to Georgia, but if we had, he would most probably paint this place)


Khatsiri Forest Park

| Tourism objects | 22 seen

Khatsiri Forest park is a nice recreational area next to the town of Tianeti in Georgia. 

We discovered this place by accident after spending a day at Kuzh Park in Tianeti (sometimes we love to drive to the Tianeti town to walk in the Kuzh park with our baby girl).

Way back home to Tbilisi we decided to make a stop here at Khatsiri Forest Park - let me say in one word - WOW. I was impressed.

Picnic area at Khatsiri Forest park

We are planning to come here often and make a picnic quite often. Also this is yet another addition to our picnic places around Georgia.

View to the town of Tianeti

Local farmers are grazings cows and sheep in these meadows.

There is a little church a top of the hill

i didn't find much information online about this place, but if you happen be around town of Tianeti, give it a try.

Pine trees at Khatsiri forest park


Minimum Wages in European Union 2020

| Macroeconomics | 16 seen

In 2020 there were 21 out of 27 European Union member states with an official minimum wage set by the government.

In this article I've listed them all, also this is the first year I'm not including data for the UK in this table

Turns out this is already the seventh (#7) article about minimum wages in European Union featured on the blog.

    Gross 2020 Gross 2019 Change Change % 1 Luxembourg €2,142.00 €2,071.00 €71.00 3.31% 2 Netherlands €1,636.00 €1,615.00 €21.00 1.28% 3 Ireland €1,616.00 €1,563.00 €53.00 3.28% 4 Belgium €1,594.00 €1,563.00 €31.00 1.94% 5 Germany €1,584.00 €1,599.00 -€15.00 -0.95% 6 France €1,539.00 €1,521.00 €18.00 1.17% 7 Spain €1,108.00 €1,050.00 €58.00 5.23% 8 Slovenia €941.00 €886.00 €55.00 5.84% 9 Malta €777.00 €747.00 €30.00 3.86% 10 Greece €758.00 €758.00 €0.00 0.00% 11 Portugal €741.00 €700.00 €41.00 5.53% 12 Poland €611.00 €524.00 €87.00 14.24% 13 Lithuania €607.00 €555.00 €52.00 8.57% 14 Estonia €584.00 €540.00 €44.00 7.53% 15 Slovakia €580.00 €520.00 €60.00 10.34% 16 Czech Republic €575.00 €514.00 €61.00 10.61% 17 Croatia €546.00 €505.00 €41.00 7.51% 18 Hungary €487.00 €464.00 €23.00 4.72% 19 Romania €466.00 €449.00 €17.00 3.65% 20 Latvia €430.00 €430.00 €0.00 0.00% 21 Bulgaria €312.00 €286.00 €26.00 8.33%   Average EU €934.95 €898.10 €36.86 3.94%

Data source: List of European countries by minimum wage

It should be noted: The calculations are based on the assumption of a 40-hour working week and a 52-week year, with the exceptions of France (35 hours), Belgium (38 hours), United Kingdom (38.1 hours), Ireland (39 hours), and Germany (39.1 hours). Most of the minimum wages are fixed at a monthly rate, but there are countries where the minimum wage is fixed at an hourly rate or weekly rate.

As it already happened for the previous years, there are no changes in the country with the highest and lowest minimum wage. Luxembourg as usual ranks #1 with more than EUR 2,000 gross minimum wage in 2020, while Bulgaria takes the last spot with minimum wage EUR 312 Making a gap between highest and lowest salary in European Union 6.63 times. That's huge, but shrinking (for 2018, the gap was 7.62 times)

Minimum wage map in European Union 2020

When visualizing data on the map, its' clearly visible that higher minimum wages are set in the Western European countries, despite the higher growth rates are found in Eastern European countries.


Eat For Fit - Healty Food Home Delivery in Tbilisi

| Living in Georgia | 159 seen

Eat for fit is my favorite healthy food home delivery service here in Tbilisi.

Recently these loss-weight / dietary food delivery companies have started to pop up like mushrooms in the forest after the rain here in Tbilisi. We have tried a dietary menu from Eat for fit twice - and both times the result has been excellent. 

One thing should be added - we are the gym goers - and the great weight-loss results comes both from the physical activities and well-balanced food. Eat for Fit are great with calories counting and they cook really delicious food. There has not been a day I felt starvation. All was well calculated and prepared individually. 

We paid about GEL 32 (February 2020) for 5 meals for a day, meals were delivered using Glovo courier service every evening for the next day.

Eat for Fit packaging

Each day there were 5 items, like for breakfast, dinner, snacks, and supper. For snacks, there were fruits and dietary fitness snacks.

Cottage cheese with dills

When the meal plan was made - Eat For Fit asked is there some food I don't like and if there were, these foods were removed from the menu.   So no surprises here. 

Dessert from Eat for Fit

I'm ready to order more these lovely desserts.

Dinner from Eat For Fit

 


Tsilkani cathedral

| Churches and Monasteries | 37 seen

The Tsilkani cathedral of the Mother of God is a Georgian Orthodox church in the village of Tsilkani, Mtskheta Municipality, in Georgia's eastern region of Mtskheta-Mtianeti.

Originally built in the 4th century, the church was repeatedly remodeled in the Middle Ages. The extant edifice is a domed cross-in-square design, contained in a walled enclosure with corner towers. It is inscribed on the list of the Immovable Cultural Monuments of National Significance.

We discovered this church in early June 2020, when traveling the Natkhtari - Tsilkani - Mukhrani highway (we were in the searches for poppy fields, which we later found some 10 km from this church)

Tsilkani Cathedral

The Tsilkani cathedral stands in the centre of the eponymous village—northwest of the ancient city of Mtskheta—on the left bank of the Narekvavi, a tributary of the Aragvi River. The village, home to a Late Bronze Age burial mound and other archaeological finds, is also notable for a 4th–5th-century Christian crypt, with a Greek inscription on its wall

Church cupola at Tsilkani Cathedral

The Tsilkani church is credited by the medieval Georgian chronicles to King Bakar (r. c. 365–380), son of Mirian III, the first Christian king of Kartli—Iberia of the Classical sources. Originally a hall church, the cathedral was remade into a three-nave basilica in the 5th or 6th century and, eventually, reconstructed as a domed church in the 12th or 13th century. The church was further renovated in the 16th–17th century. The church was also associated in medieval Georgian tradition—elaborated in the hymns by the 13th-century cleric Arsen Bulmaisimisdze—with the monk Jesse from Antioch who came as part of the Thirteen Assyrian Fathers in Kartli around 545. It is maintained that Jesse's tomb is still preserved in the church. The cathedral was the seat of bishops of Tsilkani, first heard of in 506.

The cathedral was home to the venerated Virgin Hodegetria of Tsilkani, a 9th-century icon of the Virgin and the Child attended by the archangels. The icon was repainted and refurbished at the turn of the 12th century, but the faces painted in encaustic tempera were left untouched. In 1926, the icon was moved for preservation to the Georgian National Museum in Tbilisi.

Outer walls of the cathedral complex

The extant church, measuring 28 × 24 m and built largely of dressed sandstone blocks, is a cross-in-square building, with a semicircular apse and a central dome held up on four free-standing piers. The base of the dome is pierced with 12 windows. The interior is additionally lit with 10 windows cut in the walls. The church has three entrances. To the south porch is attached a small hall church with a semicircular apse and two niches, connected via a doorway to the cathedral's south nave. The church bears remnants of the coarse wall paintings, dated from the 15th century to the 18th.

The cathedral is enclosed in a late-18th-century stone curtain wall, measuring 58 × 72 m. The wall is pierced by an arched brick gate on the southwest and a number of embrasures and contain rounded corner towers, one of which, on the southeast, is topped by a 19th-century hexagonal belfry.


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

| Servers | 130 seen

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, I used very much the information from my previous guide with Ubuntu 18.04, but I decided to rewrite it for Ubuntu 20.04 version as it is shipped with php7.4 version and will work for Drupal 7, Drupal 8 and most probably for Drupal 9

Prerequisites

  • Ubuntu 20.04 
  • Root privileges.

You can get a cheap VPS starting just $5/mo from Linode. That's what I did - bought a new nanode from Linode

Deploying server with Linode

Literally in a couple of seconds, the new server was up and running - that's what I love sticking with Linode for years

Follow basic security guide, see: Securing Your Server

I will use Putty for Windows to access SSH

Secure your server

Create the user, replacing example_user with your desired username. You’ll then be asked to assign the user a password:

adduser example_user


Add the user to the sudo group so you’ll have administrative privileges:

adduser example_user sudo

Disallow root logins over SSH. This requires all SSH connections to be by non-root users. Once a limited user account is connected, administrative privileges are accessible either by using sudo or changing to a root shell using su -.

sudo nano /etc/ssh/sshd_config

Under # Authetification section change to

# Authentication: ... PermitRootLogin no

Update the Ubuntu system

sudo apt-get update

Install Nginx and PHP-FPM

Install Nginx with the following apt command:

sudo apt-get install nginx -y

Next, install php7.4-fpm with php-gd extension that is required by Drupal core:

sudo apt-get install php7.4-fpm php7.4-cli php7.4-gd php7.4-mysql php7.4-xml -y

Configure Nginx and PHP-FPM

In this step, we will configure Nginx to use php-fpm to serve HTTP requests for PHP pages. Go to the php-fpm directory "/etc/php/7.4/fpm" and edit the "php.ini" file:

sudo nano /etc/php/7.4/fpm/php.ini

Un-comment the cgi.fix_pathinfo line and change the value to "0"

When using nano command you can use CTRL+W to locate that line. Once changed press CTRL+O to save changes and CTRL+X to exit from nano editor

Now we should modify the default Nginx virtual host configuration. Edit the "default" file and enable the php-fpm directive.

sudo nano /etc/nginx/sites-available/default

Un-comment  location ~ \.php$ section, so it look like this

location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.4-cgi alone: #fastcgi_pass 127.0.0.1:9000; # With php7.4-fpm: fastcgi_pass unix:/run/php/php7.4-fpm.sock; }

CTRL+O and CTRL+X

Then test the Nginx configuration with the command "nginx -t" to ensure that it is valid:

nginx -t

If there is no error, restart nginx and the php-fpm service:

systemctl restart nginx systemctl restart php7.4-fpm

PHP Info file (Optional)

Next, test that php-fpm is working properly with Nginx by creating new PHP info file in the web directory "/var/www/html"

cd /var/www/html/ echo "<?php phpinfo(); ?>" > info.php

Visit the info.php file at the server IP  in a web browser.

Configure the VirtualHost for Drupal

We will install Drupal 8 in the directory "/srv/www/0dtespxtrading.com". Please replace my domain name in your installation with the domain name of the website that you want to use this Drupal installation for. So let's create the directory:

sudo mkdir -p /srv/www/0dtespxtrading.com/{public_html,logs} sudo usermod -a -G www-data admin sudo chown -R www-data:www-data /srv/www sudo chmod -R 775 /srv/www sudo nano /etc/nginx/sites-available/0dtespxtrading.com

Paste the Nginx configuration for Drupal 8:

server { server_name 0dtespxtrading.com; root /srv/www/0dtespxtrading.com/public_html; ## <-- Your only path $ access_log /srv/www/0dtespxtrading.com/logs/access.log; error_log /srv/www/0dtespxtrading.com/logs/error.log; listen 80; listen [::]:80; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Very rarely should these ever be accessed outside of your lan location ~* \.(txt|log)$ { allow 192.168.0.0/16; deny all; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { # try_files $uri @rewrite; # For Drupal <= 6 try_files $uri /index.php?$query_string; # For Drupal >= 7 } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # In Drupal 8, we must also match new paths where the '.php' appears in the middle, # such as update.php/selection. The rule we use is strict, and only allows this pattern # with the update.php front controller. This allows legacy path aliases in the form of # blog/index.php/legacy-path to continue to route to Drupal nodes. If you do not have # any paths like that, then you might prefer to use a laxer rule, such as: # location ~ \.php(/|$) { # The laxer rule will continue to work if Drupal uses this new URL pattern with front # controllers other than update.php in a future release. location ~ '\.php$|^/update.php' { fastcgi_split_path_info ^(.+?\.php)(|/.*)$; #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; include snippets/fastcgi-php.conf; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drpal >= 7 try_files $uri @rewrite; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }

CTRL+O and CTRL + X

The Drupal virtual host file has been created, now we have to activate it by creating a symlink to the file in the "sites-enabled" directory:

ln -s /etc/nginx/sites-available/0dtespxtrading.com /etc/nginx/sites-enabled/

Test the Nginx configuration and if there are no errors restart Nginx:

nginx -t systemctl restart nginx

Install MySQL

sudo apt-get install mysql-server ​sudo mysql_secure_installation

Install phpMyAdmin

sudo apt-get install phpmyadmin

Hit ESC when the installation prompts you for auto-configuration because there is no option for Nginx.

Make an easily accessible symlink

sudo ln -s /usr/share/phpmyadmin/ /srv/www/0dtespxtrading.com/public_html/phpmyadmin

Install and Configure Drupal

Enter the directory that we created earlier and download Drupal with wget. I'm using the latest Drupal 8.8.6. release as of May 20, 2020, make sure you are downloading latest version by visiting Drupal 8 download page and writing down the last numbers (version)

cd /srv/www/0dtespxtrading.com sudo wget https://ftp.drupal.org/files/projects/drupal-8.8.6.tar.gz sudo tar -xvzf drupal-8.8.6.tar.gz sudo cp drupal-8.8.6/* public_html/ -R sudo chown www-data:www-data public_html -R

Now visit your Drupal site in the web Browser, you should see the following screen

Drupal 8 welcome screen

Now, it's just time to connect the database and set up your Drupal 8 website


Latest video

Embedded thumbnail for Tsikhisdziri &amp; Batumi Botanical Garden

Tsikhisdziri & Batumi Botanical Garden

After returning from our amazing trip to Thessaloniki, we decided to extend our holiday a bit longer — this time in beautiful Tsikhisdziri. Huge thanks to Eto for kindly offering her cozy apartments at Bambo Beach, where we enjoyed a full week of relaxation by the sea.During our stay, we explored local gems like Shukura Tsikhisdziri (შუქურა…
Embedded thumbnail for Summer in Latvia 2025

Summer in Latvia 2025

Summer in Latvia movie is out - Join us on our July (2025) journey through Latvia: installing a bathtub in our countryside cottage, setting up a pop-up store at Bangotnes, celebrating a birthday in Vērbeļnieki, traveling via Riga to Jaunpiebalga, Vecpiebalga, Smiltene, and Valka. From sipping sparkling wine with swallows to running 4K morning…
Embedded thumbnail for Chateau Ateni. Gori

Chateau Ateni. Gori

This time (May 2025), our journey takes us to Gori and the enchanting Chateau Ateni - a hidden gem where authentic Georgian cuisine blends seamlessly with avant-garde natural wines, soulful traditional dance, and even the charming surprise of a small chick farm.What makes this trip extra special is sharing it with our Latvian/Georgian friends,…

Living in Georgia

12 Rounds Boxing Club in Tbilisi

Sometimes even the most loyal gym-goers need to shake things up—and that's exactly what I did this month. After years of training at the "luxurious Axis Tower gym", I decided to take a short break. Not because I had any complaints about…

Tbilisi Circus: A Historic Landmark with a Surprising Past

Tbilisi Circus is an iconic part of the city's cultural landscape. Having lived in Georgia since 2011, I have passed by the Tbilisi Circus almost every day. However, it wasn’t until I attended a show that I truly appreciated its grandeur…

Foraging for Mushrooms near Tsodoreti Lake: A Day in the Suburbs of Tbilisi

Back in June 2024, I first came across Tsodoreti Lake during one of the Tbilisi Trails races, which turned out to be one of the most challenging runs of my life. While I tackled the 10K trail route, my partner and our kiddo took a gentler…

Axel Georgian Business Angel Networking Event: Exploring Opportunities in Tbilisi

In mid-October 2024, I had the pleasure of attending the Axel Georgian Business Angel networking event, held right here in Tbilisi. Having passively observed the Georgian tech scene for over a decade, this event provided the perfect…

Frame House

Frame House Upgrades: Big Windows, New Porch, and Apple Trees Planted in Latvia

In mid-April, during our kiddo’s Easter school break, we traveled to Latvia for about 10 days — a trip packed with projects, energy, and transformation. A lot of pre-planning had gone into it before we even arrived: we ordered the windows…

Frame House in Latvia: Outdoor Patio, Inner Walls, and More

As June came to an end, our family embarked on a journey from Tbilisi to Latvia, skipping Renee's school year for the last week and focus on our frame house project. Here's a glimpse into our busy but rewarding time working on the house.We…

Spring Break Project: Building Progress on Our Frame House in Latvia

As the chill of winter slowly gives way to the warmth of spring, it's the perfect time to roll up our sleeves and dive back into the construction of our dream frame house in Latvia. During this Spring break from British International…

Piece of Life

Postcards from Marseille

It’s been nearly two years since our last trip to Marseille, a sun-drenched jewel on France’s southern coast that left an indelible mark on our memories. That summer of 2023, we set out to explore the city’s vibrant beaches and winding old town, arriving and departing through the bustling hub of Marseille St. Charles train station. As I sit…

Christmas Eve at Palolem Beach: Fire Shows, Old Monk

While we just celebrated Orthodox Christmas in Georgia, I can’t help but delve into the memories of our Western Christmas last year (2024), spent on the serene shores of Palolem Beach in Goa, India. That evening was magical in every way, filled with vibrant energy, beautiful scenery, and a new discovery that made the night unforgettable.Palolem…

A Family Guide to Borjomi: Hiking Trails and Sulfur Bath Tips

As summer came to a close, we continued our family's tradition of visiting Borjomi. This year marked yet another memorable trip at the end of August 2024, reaffirming our love for this beautiful Georgian town. Visiting Borjomi at least twice a year has become a cherished routine, a piece of life that we look forward to, blending relaxation,…

Travel guides

Embedded thumbnail for Summer in Latvia 2025

Summer in Latvia 2025

Summer in Latvia movie is out - Join us on our July (2025) journey through Latvia: installing a bathtub in our countryside cottage, setting up a pop-up store at Bangotnes, celebrating a birthday in Vērbeļnieki, traveling via Riga to…

Embedded thumbnail for Birthday in Thessaloniki, Greece

Birthday in Thessaloniki, Greece

Turning 40 is a milestone worth celebrating in style, and what better way than in Thessaloniki — a city that seamlessly blends history, culture, and cuisine. From affordable flights and boutique stays to seafood feasts and hidden beaches,…

Embedded thumbnail for Azeula Fortress, Tbilisi Sea, and Ateni Sioni

Azeula Fortress, Tbilisi Sea, and Ateni Sioni

August ended with yet another packed and memorable weekend in Georgia. This time, our journey took us from the hills near Kojori to the refreshing waters of the Tbilisi Sea, and finally to the historical town of Gori, where we enjoyed a…

Hotel Reviews

Stays & Trails La Maison Hotel Review in Panaji

At the tail end of 2024, just before catching our flight back to Delhi, we decided to book a one-night stay at Stays & Trails La Maison Fontainhas in Panaji, Goa. After weeks staying in Palolem beach, we wanted to wrap up our trip with…

Schuchmann Wines Château: A Long-Awaited Stay in Georgia’s Premier Winery Hotel & Spa

It took us over a decade to finally make it to Schuchmann Wines Château & Spa, and it was well worth the wait! We’ve spent years recommending this stunning winery hotel to visiting friends and business partners, yet somehow, we had…

Hotel Belvedere Prague: A Practical Stay with Easy Access

During our recent trip to Prague in mid-October 2024, we stayed at Hotel Belvedere. My partner attended the MEET Central Europe Translators conference, and we were joined by one of our office employees, so we opted to book two rooms. …

Review: Art Hotel Prague – A Cozy Stay in a Tranquil Part of Prague

During our recent trip to Prague in October 2024, we opted for a one-night stay at the Art Hotel Prague. We arrived at the hotel via Bolt taxi from Václav Havel Airport, which was straightforward and efficient. At about EUR 120 per room…

Toursim objects

Plage des Catalans: A Shrinking Memory in Marseille

Plage des Catalans, a sandy crescent tucked along Marseille’s coastline, holds a special place in my travel tapestry. I first visited this beach in the summer of 2003, a carefree stop during my early adventures in the city. Back then, it felt like a haven—close to the bustling port yet offering a slice of Mediterranean calm. When I returned…

Colva Beach: Golden Sands and Tranquility in Goa

Colva Beach, located in South Goa, is known for its expansive golden sands and tranquil atmosphere. Stretching for several kilometers along the Arabian Sea, the beach offers a peaceful escape from the busier tourist hubs in the region. Its wide shoreline, framed by swaying palm trees, provides plenty of space for visitors to relax, stroll, or…

Charles Bridge: A Timeless Landmark in Prague

The Charles Bridge (Karlův most) in Prague is one of the most iconic and historic landmarks in Europe. Built in the 14th century under the reign of King Charles IV, this Gothic stone bridge spans the Vltava River, connecting Prague's Old Town with the Lesser Town (Malá Strana). Adorned with a series of 30 Baroque statues and surrounded by…

Macroeconomics

Servers and Drupal

Genealogy