How to Install vsftpd (ftp server) on CentOS 8 / RHEL 8

FTP, short for File Transfer Protocol, is a protocol that provides access to files residing on a server. It’s one of the earliest protocols that enabled users to download files over the internet.  With the FTP protocol, users can download and upload files on servers with ease.

Vsftpd, short for Very Secure FTP daemon, is a secure FTP daemon that is an upgrade of FTP protocol. It enforces secure connections to FTP servers by encrypting traffic send to and from the server, and by so doing, the file transfer is kept safe and secure from hackers.

In this topic, we shine the spotlight on the installation of vsftpd on CentOS 8 / RHEL 8.

Step 1) Install vsftpd using dnf command

Right off the bat, we are going to install vsftpd. To achieve this, we will run the command below:

$ sudo dnf install vsftpd


Press ‘y’ and hit ENTER to get underway with the installation. The installation takes a few seconds and will complete in no time. The output below confirms that vsftpd has been successfully installed.


The output indicates that we have installed vsftpd version 3.0.3-31.el8.x86_64. To confirm this, execute the following command:

[[email protected] ~]$ rpm -q vsftpd
[[email protected] ~]$

The output should tally with the version printed on the terminal upon successful installation. To retrieve more detailed information about Vsftpd, append the -i flag at the end as shown:

$ rpm -qi vsftpd

This will print additional information on the screen such as the Architecture, install date, license and signature to mention a few.


With vsftpd installed, we need it running to facilitate access to file shares.

To start the vsftpd service, run the command:

$ sudo systemctl start vsftpd

You may also want to enable it to start automatically upon a reboot. To achieve this, run the command

$ sudo systemctl enable vsftpd --now

To verify the status of vsftpd on your system, run:

$ sudo systemctl status vsftpd


If you see the “active: (running)” directive in green as indicated on the terminal, then the vsftpd service is up and running.

Step 2) Create a ftp user and its directory

Next, we will create a user that we will use to access the FTP server. In this case, the user will be ftpuser but feel free to give your user a name of your choice.

$ sudo adduser ftpuser
$ sudo passwd ftpuser

With the FTP user in place, we will proceed and create the FTP directory and assign the following permissions and directory ownership.

$ sudo mkdir -p /home/ftpuser/ftp_dir
$ sudo chmod -R 750 /home/ftpuser/ftp_dir
$ sudo chown -R ftpuser: /home/ftpuser/ftp_dir

We also need to add the FTP user to the /etc/vsftpd/user_list file to allow the user access to the vsftp server.

$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'

Step 3) Configure vsftpd via its configuration file

So far, we have managed to install and confirm that vsftpd is up and running.  Further adjustments are necessary for Vsftpd to allow users access to the server.

The default configuration file for vsftpd is the /etc/vsftpd/vsftpd.conf file. The file is replete with directives that help fortify your FTP server’s security.

In this section, we will make …

Read More

How to Add Windows Host to Zabbix Server for Monitoring

In the previous article, we looked at how you can add Linux servers on the Zabbix server for monitoring. In this guide, we switch gears and focus our spotlight on how you can add a Windows host system to the Zabbix server for monitoring.

For this tutorial, we will add the Windows server 2019 datacenter edition to Zabbix Server.

Step 1) Download Zabbix Agent for Windows Server

As we saw when adding Linux hosts, the first step when adding a host to the Zabbix server is to install the Zabbix agent on the host system first. With that in mind, head out to the official Zabbix agents download page and download the Zabbix Window’s agent.

By default, this will download it in the ‘Downloads’ folder as shown.


Once downloaded, right-click on the zipped file and select ‘Extract All’ to unzip it as shown.

This unzips it into 2 folders: bin and conf folder. The bin folder contains the Zabbix agent executable file while the conf folder contains the Zabbix agent configuration file – zabbix.agentd.conf


Step 2) Edit the Zabbix configuration file

We need to make a few changes to the zabbix configuration file for the Zabbix agent to communicate with the Zabbix server. Therefore, open the zabbix configuration file – zabbix.agentd.conf – and modify the parameters as shown:

Server=<IP address of the Zabbix server>
ServerActive=<IP address of the Zabbix server>
Hostname=<The FQDN of the Windows server>

Save the changes and exit the file.

Step 3) Install and start Zabbix Agent on Windows server

With all the configurations in order, run command prompt as administrator and install Zabbix using the syntax as shown:

C:\> {full system path to zabbix_agentd.exe) –config  {full system path to} –install

In my case, the command will be:

C:\>C:\Users\winnie95atieno\Downloads\bin\zabbix_agentd.exe --config C:\Users\winnie95atieno\Downloads\conf\zabbix_agentd.conf --install


From the output, we can see that the Zabbix agent has successfully been installed.

To start Zabbix, use the syntax:

C:\> {full system path to zabbix_agentd.exe) –start

The command will therefore be:

C:\>C:\Users\winnie95atieno\Downloads\bin\zabbix_agentd.exe --start


To confirm that the Zabbix agent is running, head out to the ‘Windows Services’ application and confirm that the Zabbix agent is up and running.


Step 4) Configure Windows firewall for Zabbix Agent

By default, the Windows firewall is enabled and blocks incoming and going connections. We are therefore going to make a few changes to allow traffic from the Windows Server host to the Zabbix server.

First, we are going to allow ICMP protocol for the Zabbix server to establish network communication with the Windows host and report any errors when they occur. Therefore, run Windows Powershell with Administrative privileges and execute the command as shown:

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol="icmpv4:8,any" dir=in action=allow

Next, allows port 10050 – which is the default port that Zabbix listens to  – on the firewall.

netsh advfirewall firewall add rule name="Open Port 10050" dir=in action=allow protocol=TCP localport=10050


To this point, we have successfully installed and configured the Zabbix agent on the Windows host system. The Zabbix agent should be sending system metrics to the Zabbix server. Let’s now go over and see how you can add the Windows host on the Zabbix server.

Step 5)  Add a Windows host

Read More

How to Add Linux Host in Zabbix Server for Monitoring

In the previous article, we have covered how to Install Zabbix Server on CentOS 8. In this guide, we go a step further and show you how you can add a Linux host to the Zabbix Server so that we can monitor various metrics such as CPU load, memory utilization, swap usage, and disk utilization to mention a few.

But first, we need to install the Zabbix Agent on the remote host which is going to ship the metrics of the remote system to the Zabbix server for monitoring. In this guide, we will install the Zabbix agent on Ubuntu 20.04 LTS and CentOS 8.

How to Install Zabbix agent on Ubuntu Linux?

To get started with the installation of Zabbix agent, follow the steps below:

Step 1) Adding the Zabbix repository and Installing Zabbix agent

By default, the Zabbix repository is not included in the Ubuntu repository.  We, therefore, need to manually add it before installing the Zabbix agent. At the time of penning down this guide, the latest version of Zabbix is Zabbix 5.0. Therefore, we are going to add the Zabbix agent that corresponds to that version.

To so do, first download the repository’s Debian package:

For Ubuntu 20.04 (Focal Fossa)

$ wget

After the package is downloaded, update the package list and install  the zabbix-agent using the dpkg package manager as shown:

$ sudo apt update
$ sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

For Ubuntu 18.04 (Bionic Beaver)

For Ubuntu 18.04, execute the commands below to add the repository

$ wget
$ sudo apt update
$ sudo dpkg -i zabbix-release_5.0-1+bionic_all.deb

For Ubuntu 16.04 (Xenial Xerus)

$ wget
$ sudo apt update
$ sudo dpkg -i zabbix-release_5.0-1+xenial_all.deb

Step 2) Configure Zabbix agent

With the successful installation of the Zabbix agent, we need to make a couple of tweaks for the remote system to communicate with the Zabbix server. We are going to make a few adjustments in the configuration file which is /etc/zabbix/zabbix_agentd.conf

In the file locate the Server and hostname attributes and set them to correspond to the server’s parameters. In our case, we have:


Once done, save & exit the configuration file.

Also, ensure that you can reach the Zabbix server by pinging its IP address and hostname.

For the changes to come into effect, restart the Zabbix-agent as shown:

$ sudo systemctl restart zabbix-agent

To ensure it is running, check its status using the command:

$ sudo systemctl status zabbix-agent


From the output, it’s clear that the Zabbix agent is up and running.

Step 3) Configure the firewall rules for zabbix-agent

Finally, we need to configure the firewall to open port 10050 which the zabbix-agent listens on. Therefore, run the commands below:

$ sudo ufw allow 10050/tcp
$ sudo ufw reload

To confirm that the port is open, run:

$ sudo ufw status


Up to this mark, you have successfully installed the Zabbix agent on Ubuntu and your system is ready to be added to the Zabbix server for monitoring.

How to install zabbix agent on CentOS 8 / RHEL 8?

For CentOS 8 / RHEL 8 systems, the steps for installing the Zabbix agent are pretty much similar.

Step 1) Adding the Zabbix repository

Begin …

Read More

How to Install Kubernetes (k8s) on Ubuntu 20.04 LTS Server

Kubernetes (k8s) is a free and open-source container orchestration tool. It is used for deploying, scaling and managing containerized based applications. In this article we will demonstrate how to install Kubernetes Cluster on Ubuntu 20.04 LTS Server (Focal Fossa) using kubeadm. In my lab setup I have used three Ubuntu 20.04 LTS server machines. Following are the system requirements on each Ubuntu system.

  • Minimum of 2 GB RAM
  • 2 Core (2 vCPUs)
  • 15 GB Free Space on /var
  • Privileged user with sudo rights
  • Stable Internet Connection

Following are the details of my lab setup:

  • Machine 1 (Ubuntu 20.04 LTS Server) – K8s-master –
  • Machine 2 (Ubuntu 20.04 LTS Server) – K8s-node-0 –
  • Machine 3 (Ubuntu 20.04 LTS Server) – K8s-node-1 –


Now let’s jump into the Kubernetes installation steps

Step1) Set hostname and add entries in /etc/hosts file

Use hostnamectl command to set hostname on each node, example is shown below:

$ sudo hostnamectl set-hostname "k8s-master"     // Run this command on master node
$ sudo hostnamectl set-hostname "k8s-node-0"     // Run this command on node-0
$ sudo hostnamectl set-hostname "k8s-node-1"     // Run this command on node-1

Add the following entries in /etc/hosts files on each node,    k8s-master    k8s-node-0    k8s-node-1

Step 2) Install Docker (Container Runtime) on all 3 nodes

Login to each node and run the following commands to install docker,

$ sudo apt update
$ sudo apt install -y

Now start and enable docker service on each node using beneath systemctl command,

$ sudo systemctl enable docker.service --now

Run the following command to verify the status of docker service and its version,

$ systemctl status docker
$ docker --version


Step 3) Disable swap and enable IP forwarding on all nodes

To disable swap, edit /etc/fstab file and comment out the line which includes entry either swap partition or swap file.

$ sudo vi /etc/fstab


Save & exit the file

Run swapoff command to disable the swap on the fly

$ sudo swapoff -a

To enable the ip forwarding permanently, edit the file “/etc/sysctl.conf” and look for line “net.ipv4.ip_forward=1” and un-comment it. After making the changes in the file, execute the following command

$ sudo sysctl -p
net.ipv4.ip_forward = 1

Step 4) Install Kubectl, kubelet and kubeadm on all nodes

Run the following commands on all 3 nodes to install kubectl , kubelet and kubeadm utility

$ sudo apt install -y apt-transport-https curl
$ curl -s | sudo apt-key add
$ sudo apt-add-repository "deb kubernetes-xenial main"
$ sudo apt update
$ sudo apt install -y kubelet kubeadm kubectl

Note : At time of writing this article , Ubuntu 16.04 (Xenial Xerus ) Kubernetes repository was available but in future, when the kubernetes repository is available for Ubuntu 20.04 then replace xenial with focal word in above ‘apt-add-repository’ command.

Step 4) Initialize Kubernetes Cluster using kubeadm (from master node)

Login to your master node (k8s-master) and run below ‘kubeadm init‘ command to initialize Kubernetes cluster,

$ sudo kubeadm init

Once the cluster is initialized successfully, we will get the following output


To start using the cluster as a regular user, let’s execute the following commands, commands are already there in output just copy paste …

Read More

How to Install Zabbix Monitoring Tool on CentOS 8/RHEL 8

Zabbix is an open source monitoring tool that can be deployed on-premises or on the cloud depending on that you intend to monitor. With Zabbix, you can monitor a variety of devices: from physical servers, and network devices such as routers and switches on your IT infrastructure as well as cloud infrastructure.

The latest release of Zabbix is Zabbix 5.0 LTS. Zabbix gives users the ability to perform the following tasks:

  • Monitor web services
  • Monitor multiple network devices using the  SNMP protocol.
  • Monitor various database servers such as Oracle, PostgreSQL, MySQL and Microsoft SQL Server.
  • Monitor virtual machines and Hypervisor platforms such as VMware vCenter
  • Monitor crucial system metrics such as CPU load, network utilization and available disk space.

In this guide, we walk you through the installation of Zabbix monitoring tool on CentOS 8 / RHEL 8.


Before getting started, ensure that the following requirements are fulfilled:

  • An instance of CentOS 8 with a minimum of 2GB RAM and 10 GB available disk space.
  • A regular login user with sudo privileges
  • Stable Internet Connection

Let’s now jump in and get on with the installation.

Step 1) Apply Updates and Disable / Turn off SELinux

It is always recommended to apply all the available updates before starting Zabbix installation, so run the following dnf command:

$ sudo dnf update -y

For Zabbix to run smoothly without any issues, it’s recommended that you turn off SELinux. SELinux is enabled by default and you can check the status by running the command:

$ sestatus

To disable SELinux, run the following sed command:

$ sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Reboot your CentOS 8 or RHEL 8 system for the changes to come to effect.

$ sudo reboot

Step 2) Install LAMP stack

Zabbix is both a front-end and back-end tool and requires a web server, a database engine and PHP installed to function. All these components comprise a LAMP stack. You will, therefore, need to install Apache web server, a database engine (MariaDB is preferred), PHP and requisite PHP modules as shown:

$ sudo dnf install -y httpd mariadb-server php php-cli php-common php-mbstring php-mysqlnd php-xml php-bcmath php-devel php-pear php-gd


Once above packages have been installed successfully then start the webserver and MariaDB database engine as shown

$ sudo systemctl enable httpd --now
$ sudo systemctl enable mariadb --now

Step 3) Create a database for Zabbix

Once the LAMP stack is in place, you need to configure a database for Zabbix server to store its files.

Before setting up the database for Zabbix, first set mysql root password, disable remote root logins and delete test database. Execute “mysql_secure_installation” command, example is shown below:

$ sudo mysql_secure_installation



Now, log in to MariaDB server

$ mysql -u root -p

Use the same root password that you have set in above command.

To create the database (zabbix_db), run the command:

CREATE DATABASE zabbix_db CHARACTER SET utf8 collate utf8_bin;

The create a database user (zabbix_user) and grant then grant all rights on the database.

GRANT ALL ON zabbix_db.* TO 'zabbix_user'@'localhost' IDENTIFIED BY '[email protected]@123#';

Finally, reload the grants table for the changes to take effect and exit



The database for Zabbix is in place, now configure Zabbix repository and install Zabbix …

Read More

Top 5 Open Source Linux Caching Tools Recommended by Geeks

Hello All!

Welcome back to LinuxTechi! Caching of data is highly important for any website or application out there as it can largely help in reduce the server load. In this article, we’ll be looking at the top 5 open source linux caching tools recommended by linux system administrators or geeks. So, without wasting much time, let’s jump directly into the article.

5) Varnish Cache

Varnish cache finds the fifth position in our list of the top 5 open source linux caching tools recommended by Linux system administrators. It is a popular HTTP accelerator used in more than 3 million websites. Administrators say that adding the Varnish cache increases the website to a considerable extent.

As the name implies, this caching HTTP reverse proxy tool will store the contents of a website when you visit a website. Next time when you visit the website again, if there are no changes made in the web page, then you will be getting the content only from the cache and not from the website.

This means that the content delivery is lightning fast and you don’t need to wait for the content to be downloaded from the server. It is open-source and highly flexible and serves as a versatile tool as well. It is compatible with all modern Linux distros, Solaris, and FreeBSD platforms.

Remote Dictionary Server (Redis) doesn’t come with a native support for SSL, but it provides able support to logging, authentication and authorization using VMODS. It can also act as a web application firewall as well as a load balancer.

What We Like
  • Open Source
  • Highly flexible
  • Excellent performance
  • Compatible with OS X, FreeBSD, Linux, and Solaris etc
  • Supports logging
What We Don’t Like
  • No native support for SSL/TLS

4) Hazelcast IMDG

Next in our list is another open-source in-memory data grid called Hazelcast IMDG. It is highly powerful, quick, lightweight, and extendable as well. One of the major highlights of this linux caching tool is that it is compatible with Windows, Mac OS X, Linux, and all platforms that has got Java installed.

The main advantage of using Hazelcast IMDG is for its incredible speed as you don’t want to rely on any remote storage and can handle millions of transactions per second. With Hazelcast you get a restart rate faster by 2.5X times faster than your SSDs.

You can easily upgrade the cluster nodes without needing to worry about disrupting the services. Admins are provided with a management center to quickly have a look at the cluster activities, REST APIs and configurable watermarks as well.

What We Like
  • Quickest
  • Highly scalable IMDG
  • Continuous processing
  • Hassle-free upgrade process
  • 5x faster restart times than SSDs
  • Compatible with Intel Optane DC Persistent Memory for RAM
  • Easy to use
  • Clear documentation
What We Don’t Like
  • Lower consistency

3) Couchbase

When it comes to caching, most companies choose Couchbase as it is highly reliable caching tool. It comes with a built-in layer specially designed for caching that provides the core-functionality to high-speed reading and writing of data. The Couchbase server works with the disk space utility to ensure that the caching layer always has adequate space to store the cached data.

In Couchbase server, the cached data is stored in a key-value format. …

Read More

How to Install Memcached (Caching Server) on CentOS 8

Memcached is a high-performance, opensource in-memory key-value caching service that comes in handy in a variety of ways. First, it helps speed up the applications by caching session data, user authentication tokens, and API calls. Furthermore, it provides a mechanism that helps in sharing data across multiple application instances.

So, what are the benefits of using Memcached?  We can summarize the advantages into two: improving application performance and reducing the cost of running your applications since it’s free.

Let’s now see how you can install and configure Memcached on CentOS 8.

What you need

As you get started out, ensure you that the following requirements are fulfilled:

  • Access to CentOS 8 server
  • A standard user with sudo or elevated privileges

Without much further ado, let’s roll up our sleeves and get busy.

Step 1)  Install Memcached caching server

To install the Memcached caching server, first update the system package list using the command:

$ sudo dnf update -y

Since the Memcached package alongside its dependencies is present on the AppStream repositories, we will install Memcached using the default package manager as shown:

$ sudo dnf install -y memcached libmemcached


Finally, you will get the output below to indicate that the installation was successful.


To be sure that Memcached is installed on CentOS 8, execute:

$ rpm -q memcached

For more detailed information about Memcached, use the -qi arguments as shown. This displays more in-depth information such as the Memcached version, Architecture, install date, build date and so much more.

$ rpm -qi memcached


Step 2) Configure Memcached

The Memcached default configuration file is /etc/sysconfig/memcached. By default, it listens on port 11211 and on the localhost,  system denoted by as observed on line 5.

[[email protected] ~]$ cat -n /etc/sysconfig/memcached
     1  PORT="11211"
     2  USER="memcached"
     3  MAXCONN="1024"
     4  CACHESIZE="64"
     5  OPTIONS="-l,::1"
[[email protected] ~]$

If the application you intend to connect to Memcached is located on the same server as Memcached, please leave the default configuration as it is.

If you have an application running on a remote system, on the same LAN and you’d want it to connect to the Memcached server, adjust line 5 by replacing the localhost address with the IP address of the remote system.

For example, the remote system on which our application is hosted has an IP Therefore, adjust the configuration file as shown.

[[email protected] ~]$ sudo vi /etc/sysconfig/memcached
      1 PORT="11211"
      2 USER="memcached"
      3 MAXCONN="1024"
      4 CACHESIZE="64"
      5 OPTIONS="-l,::1"

Save and exit the configuration file.

Step 3: Configure the firewall to allow traffic to Memcached server

Additionally, we need to allow traffic to the Memcached server by opening the default port ( port 11211) on the firewall.

Therefore, run the commands below:

$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent
$ sudo firewall-cmd --reload

Step 3) Start and enable memcached service

With all the configurations done with, start, and enable Memcached as shown:

$ sudo systemctl start memcached
$ sudo systemctl enable memcached

To confirm that Memcached is up and running, run the command:

$ sudo systemctl status memcached


Integrating Memcached with PHP

As we stated earlier, Memcached can be used in speeding up applications. For that to happen, you need to install a language-specific client on the server. For example, …

Read More

The Costs of Ransomware

Businesses, beware! Ransomware attacks have developed through the years, with attackers implementing more covert and advanced techniques, while at the same time learning from the mistakes in implementation that occurred in earlier generations of attacks. Moreover, a number of attacks have become more devious with a new component that involves data leaks, which in turn makes companies vulnerable, as they are exposed to graver threats than traditional data loss that used to be the only threat posed by ransomware.

So, how has ransomware threatened so many institutions?  How has it evolved into a more threatening event? Are businesses ready and have they equipped themselves with the necessary tools to combat these attacks? Finally, can the government do anything about this, since there have been some government institutions that have been affected?

Not just business, but whole towns!

The trends that have been prevalent in 2019 indicate that not only will these attacks be more present, but they are likely to happen more. And this will not only affect businesses, but also entire towns. In fact, it has been reported that for every six towns in the state of Massachusetts, one is a victim of ransomware.

Many towns recovered their files from backups, but at least 10 handed over taxpayer money to hackers to unlock their data, records obtained by the NBC10 Boston Investigators show.

Inside the Bay State, a handful of attacks against cities and towns have garnered widespread attention, though the problem may be more prevalent than many imagine.



The academe is not spared

Even higher institutions of learning have also fallen victim to cybercriminals peddling ransomware. Niagara University had to cancel classes on the second week of February as their computer system came under attack. The university’s IT personnel discovered on February 12 that ransomware attacked has caused some of its email servers to lockdown.

These attacks can be very serious, like the attack which crippled Erie County Medical Center recently. Some companies have been driven out of business because they can’t gain access to their own computer systems.



The new danger

What sets the new wave of ransomware cybercriminals apart from the older generations is that they have taken extortion to a new level by exposing data that they stole online and threatening whole batches of data if they do not get paid by the companies in exchange of unencrypting the data they got.

The Italian foods company Fratelli Beretta saw all the data exfiltrated from 53 systems (a total of 3GB) posted online by Maze. And more recent victims have had smaller dumps posted. Stockdale Radiology, a radiology clinic in Bakersfield, California, saw screenshots of affected systems and data from the clinic’s fax server posted—including patient data transmitted from another MRI clinic.



Recovery comes with a price

Not only is being victimized by ransomware an expensive experience, but recovering from it is also more expensive as well.

It’s getting more and more expensive for victims of ransomware attacks to recover. The average cost more than doubled in the final quarter of 2019. According to a new report from Coveware, a typical total now stands at $84,116. That’s a little over double the previous figure of

Read More

Linux Lite 5.0 Step-By-Step Installation Guide with Screenshots

Within one year of Linux Lite 4.0 (code-named Diamond) launch, the Linux Lite team has released their latest version code-named Emerald. It is renowned as one of the finest Linux distributions and lightweight distro ever released. The latest version Emerald comes equipped with lots of new features.  In this article, we’ll look at the new features in Emerald along with a detailed step-by-step guide to install Linux Lite 5.0 with screenshots.

New Features of Linux Lite 5.0

Let’s look at the new features released with the emerald version:

  • UEFI Support
  • Added XFCE screensaver
  • Integrity added during live boot
  • FireWallD replaces GUFW
  • Enhanced updates notification feature
  • Enhanced Whisker Menu added
  • HiDPI Settings
  • Leafpad replaced by Mousepad
  • Chromium removed and Chrome added
  • Modified logout screen design
  • Enhanced Help Manual
  • Welcome screen modifications

Linux Lite 5.0 Step-by-Step Installation Guide

To install Linux Lite 5, please adhere to the steps provided below. But before you start the actual installation process, you need to check whether you have the minimum system requirements to install Linux Lite 5.0 in your system.

Step 1) Check Minimum Requirements

To install Linux Lite 5.0 in your system, you need to have at least:

  • 1GHz processor
  • 1024 MB RAM
  • 10 GB HDD/SD
  • Bootable Media (USB drive)
  • Stable Internet Connection (Optional)

Step 2) Download Linux Lite 5.0 ISO

To start the installation proceedings, you must download a copy of Linux Lite 5.0 ISO in your system. You can download the latest copy of the here.

Step 3)  Create a USB Boot Disk

Once the download is completed, burn the ISO image into a USB / DVD disk to create a bootable disk. Once you have successfully created the boot disk, restart your system and don’t forget to change the boot settings from bios so that your system boots up from the USB disk.

Step 4) Start Linux Lite

Once your system restarts and boots from the USB disk, you can see the Linux Lite 5.0 welcome screen. In the welcome screen, you can see five different options including:

  • Start Linux Lite
  • Start Linux Lite safe mode
  • Install Linux Lite now
  • OEM install Linux Lite for manufacturers
  • Run memtest
  • Restart


If you want to start with the installation directly, you can click “Install Linux Lite now“. If you face any issues in booting, then you can choose the option “Start Linux Lite safe mode” or else if you want to check if you have supported hardware to install Linux Lite 5.0, then click “Start Linux Lite” that will run a hardware check and proceed with the installation process. For this installation guide, lets hover over the “Install Linux Lite now” option and press the enter key.

Step 5) Install Linux Lite

Next the Linux Lite installer will get started and you will be asked to select the language of your choice. Choose your preferred language and click “Continue


Step 6) Choose Keyboard layout

In the next screen, select your preferred keyboard layout and click “Continue” to proceed with the installation.


Step 7) Updates & Other Software

In the next screen, you will be asked to whether you need to download the updates during the install process and install third party software. It …

Read More

How to Install KVM on Ubuntu 20.04 LTS Server (Focal Fossa)

KVM is a free and open source virtualization tool for Linux like operating systems. When we install KVM on a Ubuntu Server then it becomes Type-2 KVM hypervisor. Minimum requirement for KVM is that server should have CPU virtualization extensions like Intel-VT and AMD-V. KVM is also known as Kernel based virtual machine because during KVM installation a kernel module (kvm-intel.ko / kvm-amd.ko) is loaded into the kernel.

In this article, we will demonstrate how to install and configure KVM hypervisor on Ubuntu 20.04 LTS server. We are assuming you already have freshly installed Ubuntu 20.04 LTS Server. Let’s deep dive into the KVM installation steps:

Step 1) Confirm Whether Server Support Hardware Virtualization

Login to your Ubuntu 20.04 LTS server and run following grep command,

[email protected]:~$ grep -E -c "vmx|svm" /proc/cpuinfo
[email protected]:~$

Above output confirms that server supports hardware virtualization. If the output is not greater than zero then reboot your server, go to its bios settings and enable VT technology.

If you wish to verify whether your server is capable of running KVM virtual machines then install “kvm-ok” utility using below apt command,

[email protected]:~$ sudo apt install -y cpu-checker

Once the “cpu-checker” package is installed, run “kvm-ok” command and verify its output

[email protected]:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
[email protected]:~$

Above output confirms that KVM based virtual machines can be installed on our server.

Step 2) Install KVM, virt-manager and bridge-utils

Run the beneath apt command to install KVM, bridge-utils, virt-manager and other kvm dependencies.

[email protected]:~$ sudo apt install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst

Once all the packages have been installed successfully, verify whether KVM module is loaded into loaded or not using lsmod command,

[email protected]:~$ lsmod | grep -i kvm
kvm_intel             286720  0
kvm                   663552  1 kvm_intel
[email protected]:~$

Step 3) Start and verify libvirtd service

When we install KVM then libvirtd service get started automatically, run below command to verify its status,

[email protected]:~$ sudo systemctl status libvirtd.service

Output above command would look like below,


In case libvirtd service is not started by any reason then run following command to start and enable it

[email protected]:~$ sudo systemctl enable libvirtd --now

Step 4) Setup Network Bridge for KVM Virtual Machines

In this step, we will configure a network bridge for KVM VMs so that VMs can be accessed from outside. Though a virtual bridge “virbr0” is created automatically when we install KVM, but this is only used for testing purpose.

To create a network bridge, we need edit the file “/etc/netplan/00-installer-config.yaml” Following is the content of my server’s file before making the changes.

[email protected]:~$ cat /etc/netplan/00-installer-config.yaml


Add network bridge entries, remove IP from enp0s3 interface and assign the same IP to the network bridge(br0). After making the changes, content of the file would look like below:

[email protected]:~$ sudo vi /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
      dhcp4: no
      dhcp6: no
  version: 2
      interfaces: [enp0s3]
      addresses: []
        addresses: [,]


Run “netplan apply” command to activate the bride br0 and to make above changes into the effect.

[email protected]:~$ sudo netplan apply
[email protected]:~$

Run below commands to …

Read More