×

This article covers the installation methods( Yum package manager or via direct download method), you can easily install Apache Maven on CentOS. Apache Maven is basically a software project management and comprehension tool. 


How to check Apache Maven on Linux?

Use the following command to check the version of installed Maven on your system:

$ mvn -version



This article covers method to permanently disable SELinux on CentOS 7. SELinux, also known as Security-Enhanced Linux, is a security feature embedded in the Linux kernel. SELinux leverages Mandatory Access controls (MAC) to confine users to certain rules and policies and prevents them from performing unauthorized tasks on the Linux system as specified by the IT administrator

To Check SELinux status, simply run the command:

# sestatus



This article covers PostgreSQL 13 installation on Rocky Linux 8.4. Basically, PostgreSQL is the world's most advanced open source database system. And with the release of PostgreSQL 13 there are significant improvements to the indexing and lookup system that benefit large databases, and faster response times for queries that use aggregates or partitions.


How to Enable and Start PostgreSQL Service ?

To enable and start the PostgreSQL database service so that it can start automatically with system boot:

$ sudo systemctl start postgresql-13
$ sudo systemctl enable postgresql-13

To confirm everything is working fine, check the status of PostgreSQL service:

$ sudo systemctl status postgresql-13



This article covers the installation of a puppet server on both master and client nodes and how to connect them. Ensure that you sign the puppet agent node certificate for both the master and client-side.

Puppet is a free and open-source automated administrative engine for Linux, Unix, and Windows operating systems. It is used for deploying, configuring, and managing servers and performs administrative tasks such as adding users, installing packages, and many more. It helps system admins to free up time and mental space by automating tasks on thousands of physical and virtual machines. It uses a client-server model. Where Puppet master controls configuration information for Puppet agents while Puppet agents talk to and pull down configuration profiles from the Puppet master.



This article covers the installation steps of Flatpak on the CentOS 8 system. With Flatpak, users can easily install new packages or applications from the flathub repository in an isolated space.

Flatpak is a package management system that aims to enable  users and developers to install and manage software packages on Linux systems regardless of the Linux distribution, runtime, dependencies and the type of package management. A flatpak application runs in a sandboxed environment. This is an isolated environment that is bundled with all the dependencies, libraries and everything that is needed for the app to run smoothly. 


How to Enable Flatpak in Red Hat / CentOS / Fedora ?

For RedHat / CentOS 8 and Fedora 22 and later versions, invoke the command below to enable flatpak:

$ sudo dnf install flatpak

For earlier versions of Red Hat and CentOS use the YUM package manager:

$ sudo yum install flatpak



This article covers how to add and remove users in the sudo group to manage the sudo privileges of the users. sudo is a command-line program that allows trusted users to execute commands as root or another user.



This article covers how to Install JFrog Artifactory on Ubuntu. JFrog Artifactory is the world’s most advanced repository manager designed to integrate with the majority of continuous integration and delivery tools. With JFrog Artifactory, delivering an end to end automated solution with artifacts tracking from development to production becomes a reality.

Jfrog provides you with an interactive, responsive user interface. It has more features than other artifactory management tools. For more information please visit the official site of JFrog. https://jfrog.com/open-source



This article covers how to enable SSH on a CentOS machine and connect to it using a client machine. If you want to make your remote access secure, Read our post on the Best Ways to Secure Your SSH Server.

SSH provides the ability to transfer files between remote systems. When a user logs into a remote system using SSH, they receive a command prompt allowing them to enter commands on the remote system as if they were sitting at the remote system and had opened a terminal session.


How to Install OpenSSH Server Software Package ?

Enter the following command from your terminal to start the installation process:

$ sudo yum –y install openssh-server openssh-clients

This command installs both the OpenSSH client applications, as well as the OpenSSH server daemon, sshd.



This article covers how to add a user as well as how to remove it in case you no longer need it. We also described how to add and remove a user to and from a group. If you are using Ubuntu distribution, visit how to add or remove users in Ubuntu

You may need to create separate account for every user want to connect this system. To add new users in system there are two commands available in your system, useradd and adduser. adduser command is the enhanced version of useradd command. adduser command uses useradd command in backend. 



This article covers how to Run Jenkins Server in Docker Container with Systemd. Jenkins is an opensource automation server that is designed to help software developers build, test and deploy applications and thereby streamline the continuous integration and delivery process. 

To create a system group for Jenkins, run the command:

$ sudo groupadd --system jenkins

Then create Jenkins system user:

$ sudo useradd -s /sbin/nologin --system -g jenkins jenkins

And finally add Jenkins user to docker group as shown:

$ sudo usermod -aG docker jenkins

To confirm that Jenkins user is added to the docker group, run the id command as shown:

$ id jenkins



This article covers how to change the ssh port on Ubuntu Linux server. You can easily change the SSH Port for Your Linux server. For better security, consider using SSH passwordless authentication with SSH public/private key pair.

The ssh port defined in sshd_config file. This file located in /etc/ssh/sshd_config location.

To open the new port run the following commands on Fedora/CentOS/RHEL/Oracle Linux using FirewallD:

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


How to Restart the sshd service ?

Type the following command on a CentOS/RHEL/Fedora Linux:

$ sudo service sshd restart

OR if you are using CentOS/RHEL/Fedora Linux with systemd:

$ sudo systemctl restart sshd

OR if you are using Ubuntu/Debian/Mint Linux:

$ sudo service ssh restart

OR if you are using Ubuntu/Debian/Mint Linux with systemd:

$ sudo systemctl restart ssh

Or if you are using FreeBSD Unix, enter:

$ sudo service sshd restart



This article covers how to install harbor on Ubuntu. The process is the same for all the other distribution of Linux. Harbor is a component of vSphere with Kubernetes. Harbor provides an enterprise-class registry service. 

Harbor is deployed in a dedicated system namespace on the Supervisor Cluster and is composed of several vSphere Pods. 

Image registries provide a centralized repository for an organization to store container images. 

Public image registries can be used to store container images. However, for security reasons, it is better to use an on-premises image registry. 

You use an on-premises image registry for the following purposes: 

Store container images securely. 

Control access to container images. 

vSphere with Kubernetes is integrated with Harbor and is also compatible with other container image registries. 


Harbor key features includes:

  • Security and vulnerability analysis.
  • Content signing and validation.
  • Extensible API and web UI.
  • Image replication.
  • Role-based access control.
  • Multitenant.


After Harbor installation has succeeded, access Harbor web console on https://registry_domain.

Then Login with:

  • Username: admin
  • Password: Set-in-harbor.yml



This article covers how to Install putty on CentOS 8. With putty, you can easily connect your Linux system to a remote system. Putty is a free and open source ssh & telnet client. Putty is available for Windows, Linux, Unix and macOS. Using putty, we can access the remote servers and switches over ssh protocol. It can also be used to take serial console of remote systems.


How to perform Putty Installation on CentOS / RHEL / Fedora ?

Putty package is available in the default CentOS and RHEL repositories. So, to install putty run:

$ sudo yum install putty -y

Or

$ sudo dnfs install putty -y



This article covers how to install Go on CentOS 8. Go language was designed to resolve the common criticisms of other languages while maintaining their positive characteristics and most widely used for writing servers these days.


Run the below command to see the version of the Go language:

$ go version



This article covers how to install GitLab on your local devices or server. Also, you will learn how to integrate the GitLab CE into our local Ubuntu system. GitLab CE, or Community Edition, is an open-source application primarily used to host Git repositories, with additional development-related features like issue tracking. It is designed to be hosted using your own infrastructure, and provides flexibility in deploying as an internal repository store for your development team, a public way to interface with users, or a means for contributors to host their own projects.



This article covers how to install the Nginx server on a CentOS machine and add a firewall rule to allow traffic coming towards the Nginx server. Also, we've discussed how to remove Nginx from CentOS.

The Nginx is a free, open source, lightweight and high-performance web server designed for high-traffic use cases. It is also acting as a popular Web server behind the Apache Web server and Microsoft's IIS. Nginx is more resource-friendly than Apache. It can be served in front of other web servers as a reverse proxy.


How to Install Nginx Web Server ?

1. Install the nginx package with:

$ sudo dnf install nginx

2. After the installation is finished, run the following commands to enable and start the server:

$ sudo systemctl enable nginx
$ sudo systemctl start nginx

This will make Nginx start at system boot.



This article covers how to install and manage multiple Java versions on CentOS 7 system. At the end you also learned how to set default Java version. Java is used for developing anything from lightweight mobile to desktop applications.


How to Install Java 8 on CentOS ?

1. Update the system before installing any new programs:

$ yum -y update

2. Install Java 8:

$ yum install java-1.8.0-openjdk

3. Verify Java is Installed

$ java -version



This article covers how to install LAMP stack on CentOS 7. LAMP is a stack of applications that work together on a web server to host a website. With that being said, each individual program serves a different purpose.

In LAMP: 

  • Linux serves as the server's operating system that handles all the commands on the machine.
  • Apache is a web server software that manages HTTP requests to deliver your website's content.
  • MySQL is a relational database management system (RDBMS) whose function is to maintain user's data on a server.
  • PHP is a scripting language for server-side communication.


To install Apache easily using CentOS's package manager, yum:

1. Run the command.

$ sudo yum install httpd

2. Once it installs, you can start Apache on your server.

$ sudo systemctl start httpd.service

3. You can do a spot check right away to verify that everything went as planned by visiting your server's public IP address in your web browser.

http://your_server_IP_address/


Important PHP Modules:

  • php-bcmath.x86_64 : A module for PHP applications for using the bcmath library.
  • php-cli.x86_64 : Command-line interface for PHP.
  • php-common.x86_64 : Common files for PHP.
  • php-dba.x86_64 : A database abstraction layer module for PHP applications.
  • php-devel.x86_64 : Files needed for building PHP extensions.
  • php-embedded.x86_64 : PHP library for embedding in applications.
  • php-enchant.x86_64 : Enchant spelling extension for PHP applications.
  • php-fpm.x86_64 : PHP FastCGI Process Manager.
  • php-gd.x86_64 : A module for PHP applications for using the gd graphics library.



This article covers how to install Skype on your CentOS 7 desktop system. Running Skype on CentOS/Fedora allows you to make Skype calls, group video calls, instant messaging, phone number calls, and screen sharing.


How to Install Skype on CentOS | Fedora ?

The easiest and quickest way to install Skype on Fedora 34/33/32/31/30 is by using the RPM package. 


1. Download the package using wget command:

$ wget https://repo.skype.com/latest/skypeforlinux-64.rpm

2. Install Skype by running the commands:

### On CentOS and Red Hat systems ###
$ sudo yum localinstall skypeforlinux-64.rpm
### On Fedora 22+ systems ###
$ sudo dnf localinstall skypeforlinux-64.rpm

3. Use the following command to launch Skype from the command line and accept terms and conditions for the first time.

$ skypeforlinux



This article covers how to create a new SSH key pair and set up an SSH key-based authentication. You can set up same key to multiple remote hosts on CentOS system. Also, you will learn how to disable SSH password authentication.

SSH, or secure shell, is an encrypted protocol used to administer and communicate with servers. When working with a CentOS server, chances are, you will spend most of your time in a terminal session connected to your server through SSH.

SSH keys are typically configured in an authorized_keys file in . ssh subdirectory in the user's home directory. Typically a system administrator would first create a key using ssh-keygen and then install it as an authorized key on a server using the ssh-copy-id tool.

The public key should be stored in the ~/. ssh/authorized_keys file on the server.


To Create the RSA Key Pair:

1. Execute the command below to create a key pair on the client machine (usually your computer):

$ ssh-keygen

2. Press ENTER to save the key pair into the .ssh/ subdirectory in your home directory, or specify an alternate path.


Best Practices to improve SSH Key Security:

  • Discover all SSH Keys and Bring Under Active Management.
  • Ensure SSH Keys Are Associated With a Single Individual.
  • Enforce Minimal Levels of User Rights Through PoLP.
  • Stay Attentive to SSH Key Rotation.
  • Eliminate Hardcoded SSH Keys.
  • Audit All Privileged Session Activity.



This article covers how to stop and disable FirewallD on your CentOS 7 system. Firewalld is a complete firewall solution that has been made available by default on all CentOS 7 servers. It is highly recommended that you have another firewall protecting your network or server before, or immediately after, disabling firewalld.


How to manage Firewalld ?

1. To disable firewalld, run the following command as root:

$ systemctl disable firewalld

2. To Stop Firewalld, execute the following command as root:

$ systemctl stop firewalld

3. To check the status of firewalld, run the following command as root:

$ systemctl status firewalld



This article covers how to install Apache Cassandra on Ubuntu 20.04 LTS. Apache Cassandra is an open-source non-relational database that delivers high performance, linear scalability, and continuous availability. All these features make Cassandra an ideal platform for mission-critical data.

To learn more about Apache Cassandra, visit its official documentation site.


How to install Java on Ubuntu ?

1. To check whether Java is installed, run the command:

$ java -version

2. To install OpenJDK, execute the following apt command:

$ sudo apt install openjdk-8-jdk

3. Once again, confirm that Java is installed by running the command:

$ java -version


How to Install Apache Cassandra in Ubuntu ?

1. First, install the apt-transport-https package to allow access of repositories via the https protocol:

$ sudo apt install apt-transport-https

2. Next, Import the GPG key using following wget command as shown:

$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -

3. Then add Apache Cassandra's repository to the system’s sources list file as shown:

$ sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'

4. Before installing Apache Cassandra, you need to update the package list first:

$ sudo apt update

5. Then install the NoSQL database using the command:

$ sudo apt install cassandra

6. Usually, Apache Cassandra starts automatically. To confirm its status, run the following command:

$ sudo systemctl status cassandra

7. Additionally, you can verify the stats of your node by running the command:

$ sudo nodetool status



This article covers how to change timezone in CentOS 7. A time zone is basically a region of the globe that observes a uniform standard time for constitutional, business and cultural purposes.

To get detailed information your CentOS server's date, time, and timezone you use the timedatectl command:

$ timedatectl

To Delete the current /etc/localtime file or symlink:

$ sudo rm -rf /etc/localtime



This article covers how to change the hostname on CentOS 7 using different methods. By default, your server is started with the server's given name as the hostname. Some software such as cPanel requires a valid fully qualified domain name (FQDN) for the hostname to be used during their licensing verification system.


To Change a server's hostname:

1. Using a text editor, open the server's /etc/sysconfig/network file. The following example shows how to open this file in the GNU nano text editor:

# sudo nano /etc/sysconfig/network

2. Modify the HOSTNAME= value to match your FQDN hostname, as shown in the following example:

HOSTNAME=myserver.domain.com

3. Open the file at /etc/hosts. To update the information for internal networking, change the host that is associated with the main IP address for your server, as shown in the following example:

127.0.0.1      localhost localhost.localdomain
123.45.67.89   hostname.domain.com   hostname

4. Run the hostname command. This command enables you to change the hostname on the server that the command line remembers, but it does not actively update all of the programs that are running under the old hostname. The following code provides an example:

# hostnamectl set-hostname hostname.domain.com
# hostname
hostname.domain.com
#

5. Use the following command to restart networking on your server to ensure that changes persist on restart:

# /etc/init.d/network restart



This article covers how to change SSH port on your Linux system. SSH (Secure shell) is a cryptographic network protocol used to connect to a remote server securely and it transfer the data in encrypted form between the host and the client.

The default TCP port for SSH is 22, and by changing this default port to the other, it can prevent automated bots and malicious users from being brutally forced into the server.

Before changing the default SSH port number, can check the current port with the below command:

# netstat -ntlp | grep ssh


To change the SSH port:

1. Open the main SSH daemon configuration file /etc/ssh/sshd_config:

# vi /etc/ssh/sshd_config

2. Now search line begins with Port 22 and add hashtag (#) in front of that line. 

3. Then add a new Port line below with the custom port.

Note: Replace the sample port number with the custom port number that needs to be set.

4. Save and exit.


How to Restart the SSH daemon for the changes to take effect ?

Run the below commands to restart the SSH daemon and verify that the port changed:

# systemctl restart sshd
# netstat -ntlp | grep ssh



This article covers how to disable FirewallD and install and iptables on CentOS 7 server. The iptables service stores configuration in /etc/sysconfig/iptables and /etc/sysconfig/ip6tables , while firewalld stores it in various XML files in /usr/lib/firewalld/ and /etc/firewalld/ . 

Note that the /etc/sysconfig/iptables file does not exist as firewalld is installed by default on Red Hat Enterprise Linux.

FirewallD is a complete firewall solution that can be controlled with a command-line utility called firewall-cmd. If you are more comfortable with the Iptables command line syntax, then you can disable FirewallD and go back to the classic iptables setup.


To Install and Use Iptables Linux Firewall:

1. Connect to your server via SSH.

2. Execute the following command one by one: 

$ sudo apt-get update 
$ sudo apt-get install iptables

3. Check the status of your current iptables configuration by running:

$ sudo iptables -L -v


Location of iptables rules on CentOS ?

CentOS 7 uses FirewallD by default. If you would like to manage iptables/ip6tables rules directly without using FirewallD, you may use the old good iptables-services service which will load the iptables/ip6tables rules saved in /etc/sysconfig/iptables and /etc/sysconfig/ip6tables when it is started during boot time.



This article covers how to configure and manage the FirewallD service on your CentOS system. A Linux firewall used to protect your workstation or server from unwanted traffic. You can set up rules to either block traffic or allow through. You can add or delete or update firewall rules without restarting the firewall daemon or service. The firewall-cmd act as a frontend for the nftables. In CentOS 8 nftables replaces iptables as the default Linux network packet filtering framework. 


To Start and enable firewalld, run the commands:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

To Stop and disable firewalld, run the commands:

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

To Check the firewalld status, run the command:

$ sudo firewall-cmd --state

To Command to reload a firewalld configuration when you make change to rules, run the command:

$ sudo firewall-cmd --reload

To Get the status of the firewalld service, run the command:

$ sudo systemctl status firewalld



This article covers how to install and Secure MariaDB on a CentOS 7 server. MariaDB is a fork of MySQL managed by the original MySQL developers. It's designed as a replacement for MySQL, uses some commands that reference mysql, and is the default package on CentOS 7.


To Install MariaDB 5.5 on CentOS 7:

1. Install the MariaDB package using the yum package manager: 

$ sudo yum install mariadb-server

2. Once the installation is complete, start the MariaDB service and enable it to start on boot using the following commands: 

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb


To install MariaDB on CentOS 8:

1. Open the terminal application. Another option is to log in using the ssh command:

 ssh user@centos-8-server-ip

2. Install the MariaDB on CentOS 8 by running the command:

$ sudo yum install mariadb-server

3. Secure the MariaDB server in CentOS 8 by running the command:

$ sudo mysql_secure_installation

4. Finally test MariaDB installation by running the command:

$ mysql -u root -p


MariaDB vs MySQL:

Even though MariaDB is a fork of MySQL, these two database management systems are still quite different: 

MariaDB is fully GPL licensed while MySQL takes a dual-license approach.

MariaDB supports a lot of different storage engines. 

In many scenarios, MariaDB offers improved performance.



This article covers how to install LEMP stack on CentOS 7. LEMP stands for the Linux operating system, with the ENginx web server (which replaces the Apache component of a LAMP stack). The site data is stored in a MySQL-based database, and dynamic content is processed by PHP.

A LEMP software stack is basically a group of open source software that is typically installed together to enable a server to host dynamic websites and web apps.


To install Nginx on CentOS:

1. Add the CentOS 7 EPEL repository, run the following command:

$ sudo yum install epel-release

2. Now that the EPEL repository is installed on your server, install Nginx using the following yum command:

$ sudo yum install nginx

3. Once the installation is finished, start the Nginx service with:

$ sudo systemctl start nginx



This article covers how to Install phpMyAdmin with Apache on CentOS 7 system. phpMyAdmin is a database utility used for managing MySQL databases through a graphical web-based interface. It can be configured to manage a local database (on the same system), or a remote database (over a network).


To Install EPEL Repository:

1. Get access to the EPEL repository – the Extra Packages for Enterprise Linux, by running the command.

$ sudo yum install -y epel-release

2. Once that operation finishes, it's a good idea to refresh and update the EPEL repository.

$ sudo yum –y update


To Install Apache Web Server:

1. Install Apache on CentOS use the command.

$ yum install httpd -y

2. Verify the status of Apache by running with the command.

$ systemctl status httpd


To install PHPMyAdmin on CentOS, enter the command:

$ sudo yum -y install phpmyadmin



This article covers how to use the certbot Let’s Encrypt client to obtain a free SSL certificate and use it with Nginx on CentOS 7. 

Let's Encrypt is a new Certificate Authority (CA) that provides an easy way to obtain and install free TLS/SSL certificates, thereby enabling encrypted HTTPS on web servers. It simplifies the process by providing a software client, Certbot, that attempts to automate most (if not all) of the required steps. 

Currently, the entire process of obtaining and installing a certificate is fully automated on both Apache and Nginx web servers.


To Install the Certbot Let's Encrypt Client:

1. Enable access to the EPEL repository on your server by typing:

$ sudo yum install epel-release

2. Once the repository has been enabled, you can obtain the certbot-nginx package by typing:

$ sudo yum install certbot-nginx


How to Install Nginx on CentOS ?

1. To install Nginx, run the command:

$ sudo yum install nginx

2. Then, start Nginx using systemctl:

$ sudo systemctl start nginx


How to configure firewall on CentOS ?

If you have a firewall enabled, make sure port 80 and 443 are open to incoming traffic.

1. If you have a firewalld firewall running, you can open these ports by typing:

$ sudo firewall-cmd --add-service=http
$ sudo firewall-cmd --add-service=https
$ sudo firewall-cmd --runtime-to-permanent

2. If have an iptables firewall running, the commands you need to run are highly dependent on your current rule set. For a basic rule set, you can add HTTP and HTTPS access by typing:

$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT



This article covers how to create an Nginx server block configuration to host multiple website on a single CentOS server.

Server Blocks, often referred to as Nginx virtual host are a feature of the Nginx web server that allows you to host multiple websites on one server.

To Test NGINX configuration file, run the command:

$ sudo nginx --t

If the syntax is OK, the output tells you the test was successful.


To restart your Nginx web server and confirm that it's running as expected:

$ sudo systemctl restart nginx
$ sudo systemctl status Nginx


To Enable HTTPS on Domain Hosted on Nginx:

You may consider encrypting your domain using Lets Encrypt SSL to add a layer of protection and secure traffic to and from the webserver:

$ sudo dnf install certbot python3-certbot-nginx
$ sudo certbot --nginx



This article covers how to Install and configure Nginx on your CentOS 7 server. Now you can deploy your applications and use Nginx as a web or proxy server. 

Nginx is a high performance web server software. It is a much more flexible and lightweight program than Apache HTTP Server.


To Install Nginx Web Server on CentOS 8:

1. Install the nginx package with:

$ sudo dnf install nginx

When prompted, enter y to confirm that you want to install nginx. After that, dnf will install Nginx and any required dependencies to your server.

2. After the installation is finished, run the following commands to enable and start the server:

$ sudo systemctl enable nginx
$ sudo systemctl start nginx

This will make Nginx start at system boot.


To configure Firewall Rules on CentOS for Nginx:

1. Run the following command to permanently enable HTTP connections on port 80:

$ sudo firewall-cmd --permanent --add-service=http

2. To verify that the http firewall service was added correctly, you can run:

$ sudo firewall-cmd --permanent --list-all

3. To apply the changes, you'll need to reload the firewall service:

$ sudo firewall-cmd --reload



This article covers how to install MariaDB on Ubuntu 18.04 server. Also, you will learn how to secure and connect to MariaDB server. MariaDB is an open-source relational database management system, commonly used as an alternative for MySQL as the database portion of the popular LAMP (Linux, Apache, MySQL, PHP/Python/Perl) stack. Basically, It is intended to be a drop-in replacement for MySQL.


How to Install MariaDB ?

1. To install it, update the package index on your server with apt:

$ sudo apt update

2, Then install the package:

$ sudo apt install mariadb-server



This article covers how to secure Apache with Let's Encrypt SSL on CentOS 7 using Certbot client. Also, you will learn how to set up a cronjob for automatic certificate renewal. Basically, A security certificate is critical for securing traffic sent from web browsers to web servers. Let's Encrypt certificate is a free, open and automated certificate authority that you can use to encrypt your site. The certificate expires after every 90 days and auto-renews at absolutely no cost.


To Install Certbot in CentOS 8.

Certbot is a client that automates the installation of the security certificate. It fetches the certificate from Let's encrypt authority and deploys it on your web server without much of a hassle.

1. Before downloading certbot, first, install packages that are necessary for the configuration of an encrypted connection:

$ sudo dnf install mod_ssl openssl

2. Download certbot using the curl command:

$ sudo curl -O https://dl.eff.org/certbot-auto

3. Next, move the certbot file to the /usr/local/bin directory and assign the execute file permissions:

$ sudo mv certbot-auto /usr/local/bin
$ sudo chmod 755 /usr/local/bin/certbot-auto


To Assign the permissions to the Document root of a domain:

$ sudo chown -R apache:apache /var/www/domain.com

For the changes to come into effect, restart the Apache service:

$ sudo systemctl restart httpd



This article covers how to install and secure a MySQL server on a CentOS 7 server. MySQL is one of the most widely used database management systems for websites and server applications.


To start the MySQL server daemon with the following command:

$ sudo systemctl start mysqld

systemctl doesn't display the outcome of all service management commands, so to be sure we succeeded, we'll use the following command:

$ sudo systemctl status mysqld

To configure MySQL, run the following command:

$ sudo mysql_secure_installation

To Current MySQL Version, run the command:

$ mysql -u root -p


Terms used in Managing MySQL User Permissions:

  • SELECT – users can read through the database using the select command.
  • CREATE – they can generate new tables.
  • DROP – allows users to remove tables.
  • DELETE – users can take out rows from tables.
  • INSERT – lets users add in rows into tables.
  • UPDATE – enable them to update the rows.
  • GRANT OPTION – they can grant or remove the privileges of other users.



This article covers method to easily configure Apache virtual hosts. You repeat same procedure for multiple domain.

You can use yum to install Apache through CentOS's default software repositories:

$ sudo yum -y install httpd

Next, enable Apache as a CentOS service so that it will automatically start after a reboot:

$ sudo systemctl enable httpd.service


How to Set Up Local Hosts File ?

If you are on a Mac or Linux computer, edit your local hosts file with administrative privileges by typing:

$ sudo nano /etc/hosts

The details that you need to add are the public IP address of your VPS followed by the domain that you want to use to reach that VPS:

127.0.0.1   localhost
127.0.1.1   guest-desktop
server_ip_address example.com
server_ip_address example2.com

This will direct any requests for example.com and example2.com on our local computer and send them to our server at server_ip_address.



This article covers how to install specific version of PHP 7 on CentOS 7 Linux server. PHP is a programming language often used to automate server tasks. It is part of the LAMP (Linux, Apache, MySQL, PHP) stack, which is a bundle of software used for running internet servers and services. PHP handles dynamic content, database requests, and processing and displaying data.


To Verify PHP Version:

You can Check which version of PHP you are running with the command:

$ php –v


To Install PHP with Apache on CentOS:

1. Start by installing the yum-utils package by entering the following command in a terminal window:

$ sudo yum install yum-utils –y

2. Then, enable the epel-release repository by entering the following:

$ sudo yum install epel-release –y

3. Finally, add the following software repositories that contain the PHP packages:

$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

4. For PHP 7.3, you can enable PHP 7.3. Install the release with the following commands:

$ sudo yum-config-manager ––enable remi–php73
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql –y



This article covers how to install Apache on your CentOS 7 system. You can now ready to start deploying your applications and use Apache as a web server.

Basically, The Apache HTTP server is the most widely-used web server in the world. It provides many powerful features including dynamically loadable modules, robust media support, and extensive integration with other popular software.


To Install Apache on CentOS:

1. Update the local Apache httpd package index to reflect the latest upstream changes:

$ sudo yum update httpd

2. Once the packages are updated, install the Apache package:

$ sudo yum install httpd

3. Enable firewalld's http service with the following command:

$ sudo firewall-cmd --permanent --add-service=http

4. Configure Apache to serve content over HTTPS, you will also want to open up port 443 by enabling the https service:

$ sudo firewall-cmd --permanent --add-service=https

5. Finally, reload the firewall to put these new rules into effect:

$ sudo firewall-cmd --reload



This article covers how to create a user with sudo privileges. You can now log in to your CentOS server with this user account and use sudo to run administrative commands.

Performing server administration as a non-root user is a best practice.

For security, your first task when deploying a CentOS instance is to create a non-root user with sudo access.


How to Add a New User Account on CentOS Linux System ?

1. To Create a new user account with the adduser command:

# adduser example_user

2. Set a strong password for the new user (new_user) with passwd.

# passwd new_user



This article covers how to install and configure the Memcached caching server on CentOS 8 system through the command-line tool.

Now, you can easily install and configure the Memcached server on your CentOS 8 system easily. 

Memcached is a free and open-source high-performance in-memory key-value data store.

Typically, it used as a caching system to speed up applications by caching various objects from the results of database calls.


To install memcached on CentOS, perform the following tasks as a user with root privileges:

1. Install memcached and its dependencies:

$ yum -y update
$ yum install -y libevent libevent-devel
$ yum install -y memcached
$ yum install -y php-pecl-memcache

2. Change the memcached configuration setting for CACHESIZE and OPTIONS:

i. Open /etc/sysconfig/memcached in a text editor.

ii. Locate the value for CACHESIZE and change it to at least 1GB. For example

CACHESIZE="1GB"

iii. Locate the value for OPTIONS and change it to localhost or 127.0.0.1

3. Save your changes to memcached and exit the text editor.

4. Restart memcached.

$ service memcached restart

5. Restart your web server.

For Apache:

$ service httpd restart



This article covers how to download, configure, and install Moodle powered by the LAMP stack on RHEL 8.

Moodle is the world’s most popular learning management system for building robust online learning sites.

How to open HTTP and HTTPS for Moodle Learning Platform in CentOS 8 ?
To open HTTP and HTTPS services in the firewall to allow traffic to the NGINX web server, run the commands below:

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https

# firewall-cmd --reload



This article covers the different methods to perform the installation of NodeJS on the CentOS 8 system.

Now that NodeJS is installed on your CentOS 8 system, you can use it to deploy a NodeJS application on the system.
Node.js is a cross-platform, runtime environment that was built on Chrome's JavaScript. This environment is designed to execute JavaScript code on the server-side.

To check Node version number, run the command:

# node --version



This article covers how to install atom editor on CentOS 8 using the command-line application.

Atom is a free and open-source text and source code editor for OS X, Linux, and Windows with support for plug-ins written in Node.js, and embedded Git Control, developed by GitHub

To install latest version of Atom using .rpm package on your CentOS 8 machine:
1. First, go to the Atom official website and download the Atom .rpm package:

# sudo curl -SLo atom.x86_64.rpm  https://atom.io/download/rpm

2. You can now install Atom using dnf command:

# sudo dnf localinstall atom.x86_64.rpm

3. Now that Atom is installed on your CentOS system you can launch it from the command line by typing atom or by clicking on the Atom icon (Applications -> Programming -> Atom).



This article covers how to install the latest Gradle version on CentOS 8 system. 

Also you will learn how to set up the environment variable in the Gradle configuration file.

Gradle is an open-source build automation system.

It supports multiple programming languages such as Java, C++, and Python development. It is based on the concepts of Apache Ant and Apache Maven.


To verify if Gradle is installed properly use the gradle -v command which will display the Gradle version:

# gradle -v




This article covers how to install the VS code package on CentOS 8 using the command line application. Visual Studio Code is a free and open-source, cross-platform IDE or code editor that enables developers to develop applications and write code using a myriad of programming languages such as C, C++, Python, Go and Java to mention a few.


To Install Visual Studio Code on Debian, Ubuntu and Linux Mint:

1. Update your system by running the command.

$ sudo apt update

2. Once updated, proceed and install dependencies required by executing.

$ sudo apt install software-properties-common apt-transport-https

3. Next, using the wget command, download the repository and import Microsoft’s GPG key as shown:

$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

4. Once you’ve enabled the repository, update the system and install Visual Studio Code by running the command:

$ sudo apt update
$ sudo apt install code



This article covers CouchDB installation on CentOS Linux System. 

Apache CouchDB is an open-source database management system, developed by Apache Software Foundation. It is a NoSQL document-store database developed in ErLang.

CouchDB uses multiple formats and protocols to store, transfer, and process its data, it uses JSON (JavaScript Object Notation) to store data, JavaScript as its query language using MapReduce, and HTTP for an API.

Unlike a relational database, a CouchDB database does not store data and relationships in tables. Instead, each database is a collection of independent documents. Each document maintains its own data and self-contained schema.

CouchDB software includes a native web interface i.e. Fauxton for administration of CouchDB database server.


To Install CouchDB Yum Repository on CentOS 8:

1. Create a repo file by using vim editor.

# vi /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo

2. And add following directives in this file.

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

3. Build cache for newly installed yum repositories.

# dnf makecache

4. Now we can install CouchDB software by using dnf command.

# dnf install -y couchdb



This article covers how to install and configure Ansible on Ubuntu 20.04. Ansible is a widely used automation tool in DevOps and used by thousands of developers and sysadmins to configure and deploy applications on servers.

It saves time and minimizes the effort required to handle a multitude of servers in a complex IT infrastructure. 


To install Ansible on Ubuntu:

1. First, refresh your system’s package index with:

# sudo apt update

2. Following this update, you can install the Ansible software with:

$ sudo apt install ansible

Press Y when prompted to confirm installation.


To check if Ansible is able to connect to these servers and run commands via SSH:

From your local machine or Ansible control node, run:

$ ansible all -m ping -u root

This command will use Ansible's built-in ping module to run a connectivity test on all nodes from your default inventory, connecting as root.

The ping module will test:

i. if hosts are accessible;

ii. if you have valid SSH credentials;

iii. if hosts are able to run Ansible modules using Python.



This article covers the installation of Fail2ban and the configuration of an sshd filter. There are so many options to configure but we focused on the basic ones. Feel free to peruse the Fail2ban man pages by running man fail2ban to discover what more you can do with it.

Fail2ban is a free, open-source and widely used intrusion prevention tool that scans log files for IP addresses that show malicious signs such as too many password failures, and much more, and it bans them (updates firewall rules to reject the IP addresses). 

By default, it ships with filters for various services including sshd.


To install  and configure Fail2ban on CentOS/RHEL 8:

1. After logging into your system, access a command-line interface, then enable the EPEL repository on your system:

# dnf install epel-release

OR

# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

2. Afterward, install the Fail2ban package by running the following command:

# dnf install fail2ban

3. To start and enable the fail2ban service for now and check if it is up and running using the following systemctl command:

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban



This article covers the installation of the LAMP stack (i.e., Linux, Apache, MariaDB, and PHP) on RHEL 8.

LAMP stands for Linux, Apache, MariaDB/MySQL and PHP, all of which are open source.


With the yum commands below, install LAMP stack:

# Will automatically update

$ sudo yum -y update

# Will automatically install Apache/HTTPD

$ sudo yum -y install httpd


To Install MariaDB Database Server on CentOS 8/RHEL 8:

1. Enter the following command to install MariaDB on CentOS 8/RHEL 8.

# dnf install mariadb-server mariadb -y

2. After it's installed, we need to start it.

# systemctl start mariadb

3. Enable auto start at system boot time.

# systemctl enable mariadb

4. Check status:

# systemctl status mariadb



This article covers how to install and use the Docker-compose on CentOS 8 system. By using the Docker-compose, you can deploy multiple Docker applications with container services through a single command. 

Basically, Docker Compose is a tool that can be used to define and run multiple containers as a single service. With Docker Compose, you can link multiple containers and deploy an application from a single command. 

It is mainly used in the development, testing and staging environment. 

Docker Compose uses a YAML file to define a complex stack in a file and running it with a single command.


To install Docker on CentOS:

1. Before starting, make sure you have Docker installed on your server. If not installed, you will need to add Docker-CE repository to your system. 

You can add it with the following command:

$ dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

2. Once the repository is added, install the latest version of docker using the following command:

# dnf install docker-ce --nobest -y
# systemctl start docker
# systemctl enable docker

3. You can verify the docker version with the following command:

$ docker --version



This article covers how to install ansible AWX on Ubuntu 20.04. You have got a basic idea about managing hosts, inventories, and projects from AWX ansible.

Ansible AWX is an open source tool which provides a web-based user interface, REST API, and task engine for easy and collaborative management of Ansible Playbooks and Inventories.

AWX allows you to centrally manage Ansible playbooks, inventories, Secrets, and scheduled jobs from a web interface. 


To Install Ansible on Ubuntu:

Run the following commands,

# sudo apt update
# sudo apt install ansible



This article covers how to add a user to sudoers using different methods, limit root access with sudo and remove a user from sudoers.

Sudo is a very handy tool for system administrators that allow them to provide root access to a user with granularity.


Steps to Add Sudo User on Ubuntu ?

1. Log into the system with a root user or an account with sudo privileges.

2. Open a terminal window and add a new user with the command:

# adduser newuser

The adduser command creates a new user, plus a group and home directory for that user.

You may get an error message that you have insufficient privileges. (This typically only happens for non-root users.) Get around it by entering:

# sudo adduser newuser

3. You can replace newuser with any username you wish. The system will add the new user; then prompt you to enter a password. Enter a great secure password, then retype it to confirm.


To Add User to Sudo Group:

1. In a terminal, enter the command:

# usermod -aG sudo newuser

Replace newuser with the username that you entered in Step 1.

Again, if you get an error, run the command with sudo as follows:

# sudo usermod -aG sudo newuser

The -aG option tells the system to append the user to the specified group. (The -a option is only used with G).



This article covers MongoDB installation on CentOS 8 system.

Instead, it uses JSON-like documents with dynamic schemas, meaning that, unlike relational databases, MongoDB does not require a predefined schema before you add data to a database. 

You can alter the schema at any time and as often as is necessary without having to set up a new database with an updated schema.


How to Start the MongoDB Service and Test the Database on Ubuntu?

1. Run the following systemctl command to start the MongoDB service:

# sudo systemctl start mongod

2. Then check the service's status:

# sudo systemctl status mongod

This command will return output like the following, indicating that the service is up and running

3. After confirming that the service is running as expected, enable the MongoDB service to start up at boot:

# sudo systemctl enable mongod


How to Managing the MongoDB Service on Ubuntu?

1. The systemctl status command checks the status of the MongoDB service:

# sudo systemctl status mongod

2. You can stop the service anytime by typing:

# sudo systemctl stop mongod

3. To start the service when it’s stopped, run:

# sudo systemctl start mongod

4. You can also restart the server when it’s already running:

# sudo systemctl restart mongod

5. If you ever wish to disable this automatic startup, type:

# sudo systemctl disable mongod

6. Then to re-enable it to start up at boot, run the enable command again:

# sudo systemctl enable mongod



This article covers how to perform Docker installation and Configuration. Also, you will learn how to install Docker CE on the CentOS 8 system. Docker container technology allows you to run applications in a specific and isolated environment.

Docker Community Edition (CE) is the new name for the free Docker product.

To Install Docker CE on Linux:
1. Remove all existing docker applications (that might currently be installed) in order to make sure we are using a clean installation.:

# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. Add an external repository that will help us obtain the Docker software:

# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

3. Check what versions of docker we have in the repository:

# dnf list docker-ce

4. Install the version that best matches our CentOS server version:

# dnf install docker-ce --nobest

5. We can double-check if the installation was successful by using the version command:

# docker -v



This article covers how  to setup Gitlab on CentOS Linux.

Gitlab is an application tool that is used for source code management. It allows you to plan your development process; code, and verify; package software, and release it with an in-built continuous delivery feature; automate configurations management, and monitor software performance.


To be able to access the GitLab interface you'll need to open ports 80 and 443. 

To do so run the following commands:

$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload



To install Postfix service to send notification emails, and enable it to start at system boot, then check if it is up and running using following commands:

# yum install postfix
# systemctl start postfix
# systemctl enable postfix
# systemctl status postfix



This article covers how to Install MySQL Version 8 on Red Hat Enterprise Linux 8. Now, you should now have a fully functioning MySQL server version 8 running on your Server.


To Install MySQL 8.0 On CentOS 8 / RHEL 8:

1. Install MySQL 8.0 from MySQL Dev Community

Add the official repository of MySQL to install the MySQL community server:

$ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

Make sure the MySQL repository has been added and enabled by using the following command:

$ yum repolist all | grep mysql | grep enabled


To Manage MySQL server Service on Linux:

1. After the installation of MySQL, start MySQL server service using the following command:

$ systemctl start mysqld

2. The below command will Enable MySQL server at system startup:

$ systemctl enable mysqld

3. Verify that MySQL server is started using the following command:

$ systemctl status mysqld



This article covers how to secure Red Hat Enterprise Linux 8 with UFW. UFW may not be intended to provide complete firewall functionality, but it does provide an easy way to create and manage simple firewall rules.

A firewall is a way to protect machines from any unwanted traffic from outside. 

It enables users to control incoming network traffic on host machines by defining a set of firewall rules. 

These rules are used to sort the incoming traffic and either block it or allow through.

Note that firewalld with nftables backend does not support passing custom nftables rules to firewalld, using the --direct option.


How to start, stop, restart firewalld service on an RHEL 8?

By now you know about firewalld zones, services, and how to view the defaults. It is time to activate and configure our firewall.

1. Start and enable firewalld

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

2. Stop and disable firewalld

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

3. Check the firewalld status

$ sudo firewall-cmd --state

4. Command to reload a firewalld configuration when you make change to rules

$ sudo firewall-cmd --reload

5. Get the status of the firewalld service

$ sudo systemctl status firewalld


When to use firewalld, nftables, or iptables:

1. firewalld: Use the firewalld utility for simple firewall use cases. The utility is easy to use and covers the typical use cases for these scenarios.

2. nftables: Use the nftables utility to set up complex and performance critical firewalls, such as for a whole network.

3. iptables: The iptables utility on Red Hat Enterprise Linux 8 uses the nf_tables kernel API instead of the legacy back end. 

The nf_tables API provides backward compatibility so that scripts that use iptables commands still work on Red Hat Enterprise Linux 8. For new firewall scripts, Red Hat recommends to use nftables.



This article covers LibreOffice installation on CentOS 8 distribution. LibreOffice is a powerful and open-source office suite that can be used on Linux, Mac as well as on Windows.

It provides various features such as word documentation, spreadsheets, data processing, drawing, presentation design, Math calculation, and more.


How to uninstall Old LibreOffice or OpenOffice Versions ?

If any previously installed LibreOffice or OpenOffice versions you have, remove it using following command.

# yum remove openoffice* libreoffice* [on RedHat based Systems]
$ sudo apt-get remove openoffice* libreoffice*	[On Debian based Systems]



This article covers the complete installation guide of VirtualBox on the CentOS 8 system.

Oracle VirtualBox is a virtualization software solution that allows you to create and run virtual machines on a single hardware machine.

With VirtualBox, your existing operating system stays unaffected by the virtual environment.


To Start VirtualBox on Linux:

Use the command:

$ VirtualBox

The VirtualBox manager interface will prompt you.

Alternatively, you can use the graphical interface and access the application:

Application >> System Tools >> Oracle VM VirtualBox



This article covers how to install Cockpit on Ubuntu 20.04 system. Cockpit is a free and open source web console tool for Linux administrators and used for day to day administrative and operations tasks. 


To Install the Cockpit package on Ubuntu 20.04 LTS Server, run the command:

$ sudo apt update
$ sudo apt install cockpit -y

Once cockpit package is installed successfully then start its service using the following systemctl command,

$ sudo systemctl start cockpit

Run the following to verify the status of cockpit service,

$ sudo systemctl status cockpit


Features of Cockpit:

Cockpit allows you to perform:

1. Service Management – Start, stop, restart, reload, disable, enable, mask e.t.c

2. User Account Management – Add users, delete, Lock, assign Administrator role, set password, force password change, Add Public SSH keys e.t.c.

3. Firewall Management

4. Cockpit Container management

5. SELinux Policy management

6. Journal v2

7. iSCSI Initiator configurations

8. SOS-reporting

9. NFS Client setup

10. Configure OpenConnect VPN Server

11. Privileged Actions – Shutdown, Restart system

12. Join Machine to Domain

13. Hardware Device Management

14. System Updates for dnf, yum, apt hosts

15. Manage the Kubernetes Node



This article covers how to install XAMPP on your CentOS system. XAMPP is an easy to install and use Apache distribution packaged with MariaDB, PHP, and Perl.

XAMPP was first developed by a project team called Apache Friends. As an open-source Apache distribution of a PHP development environment, it consists of cross-platform software (X): Apache (A), MariaDB (M), PHP (P) and Perl (P). 


To install XAMPP on CentOS 8 Linux system:

1. Update system

Ensure your CentOS system is updated.

$ sudo dnf -y update
$ sudo dnf -y install libnsl

2. Download XAMPP on CentOS 8

Install wget on CentOS 8:

$ sudo dnf -y install wget

Download XAMPP installer. Choose the installer matching the PHP version you want to have.

### PHP 8.0 ###

$ wget https://www.apachefriends.org/xampp-files/8.0.1/xampp-linux-x64-8.0.1-0-installer.run

### PHP 7.4 ###

$ wget https://www.apachefriends.org/xampp-files/7.4.14/xampp-linux-x64-7.4.14-0-installer.run

### PHP 7.3 ###

$ wget https://www.apachefriends.org/xampp-files/7.3.26/xampp-linux-x64-7.3.26-0-installer.run

3. The binary installer should be executable.

### PHP 8.0 ###

$ chmod a+x xampp-linux-x64-8.0.1-0-installer.run

### PHP 7.4 ###

$ chmod a+x xampp-linux-x64-7.4.14-0-installer.run

### PHP 7.3 ###

$ chmod a+x xampp-linux-x64-7.3.26-0-installer.run

4. Then run the XAMP installer:

### PHP 8.0 ###

$ sudo ./xampp-linux-x64-8.0.1-0-installer.run

### PHP 7.4 ###

$ sudo ./xampp-linux-x64-7.4.14-0-installer.run

### PHP 7.3 ###

$ sudo ./xampp-linux-x64-7.3.26-0-installer.run


How to Start and use XAMPP on CentOS 8:

XAMPP is installed to /opt/lampp/. To start XAMPP services, run:

$ sudo /opt/lampp/lampp start

To verify installation of XAMPP on CentOS 8 visit the Apache web page:

http://localhost


Stopping and Uninstalling XAMPP on CentOS 8:

To stop XAMPP services run:

$ sudo /opt/lampp/lampp stop

To uninstall XAMPP on CentOS 8, run:

$ cd /opt/lampp
$ sudo ./uninstall
$ sudo rm-rf /opt/lampp



This article covers method to Install and Use Firewalld in CentOS in order to increase the security of your Linux system. Note that the host-based firewall like firewalld is recommended by compliances like PCI DSS. 

FirewallD is a complete firewall solution that manages the system's iptables rules and provides a D-Bus interface for operating on them. Starting with CentOS 7, FirewallD replaces iptables as the default firewall management tool.

Firewalld services are predefined rules that apply within a zone and define the necessary settings to allow incoming traffic for a specific service.


How to install Firewalld on CentOS?

Firewalld is installed by default on CentOS 7, but if it is not installed on your system, you can install the package by running the command:

$ sudo yum install firewalld

Firewalld service is disabled by default. You can check the firewall status with:

$ sudo firewall-cmd --state

If you just installed or never activated before, the command will print not running. Otherwise, you will see running.

To start the FirewallD service and enable it on boot type:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld


To open HTTP and HTTPS ports add permanent service rules to the dmz zone:

$ sudo firewall-cmd --permanent --zone=dmz --add-service=http
$ sudo firewall-cmd --permanent --zone=dmz --add-service=https

Make the changes effective immediately by reloading the firewall:

$ sudo firewall-cmd --reload

Zones provided by FirewallD:

1. drop: All incoming connections are dropped without any notification. Only outgoing connections are allowed.

2. block: All incoming connections are rejected with an icmp-host-prohibited message for IPv4 and icmp6-adm-prohibited for IPv6n. Only outgoing connections are allowed.

3. public: For use in untrusted public areas. You do not trust other computers on the network, but you can allow selected incoming connections.

4. external: For use on external networks with NAT masquerading enabled when your system acts as a gateway or router. Only selected incoming connections are allowed.

5. internal: For use on internal networks when your system acts as a gateway or router. Other systems on the network are generally trusted. Only selected incoming connections are allowed.

6. dmz: Used for computers located in your demilitarized zone that have limited access to the rest of your network. Only selected incoming connections are allowed.

7. work: Used for work machines. Other computers on the network are generally trusted. Only selected incoming connections are allowed.

8. home: Used for home machines. Other computers on the network are generally trusted. Only selected incoming connections are allowed.

9. trusted: All network connections are accepted. Trust all of the computers in the network.



This article covers how to install sublime text editor on the CentOS 8 system through the terminal. Sublime text editor is quite similar to vim editor. Sublime text has a built-in Python API available in Windows, Linux, and Mac OS.


To install Sublime Text on Ubuntu:

1. Install the GPG key:

$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -

2. Ensure apt is set up to work with https sources:

$ sudo apt-get install apt-transport-https

3. Select the channel to use:

i. Stable

$ echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

ii. Dev

$ echo "deb https://download.sublimetext.com/ apt/dev/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

4. Update apt sources and install Sublime Text:

$ sudo apt-get update
$ sudo apt-get install sublime-text


To fix yum-config-manager command not found:

You need to Install yum-utils by running the command below:

$ yum install yum-utils



This article covers how to install TeamViewer on the CentOS system. Additionally, you will learn how to install, launch, and update TeamViewer on CentOS.

We have also covered how to uninstall TeamViewer in case you no longer need it on your system. 

For some more help regarding TeamViewer, run teamviewer help in Terminal.

TeamViewer is a Robust cross-platform solution that provides secure remote access, remote control, and remote support solution across devices. 

The data traffic between devices are encrypted which makes the TeamViewer very secure. 

This software is available for “Linux, Windows, Mac, Chrome OS” and even for mobile devices like "iOS, Android, and so on".


To Install TeamViewer on CentOS 8:

1. Enable EPEL Repo on CentOS 8

You can install EPEL repo using the below command. This command will enable the repo if it is not already installed:

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

2. Now you can proceed further to install TeamViewer on CentOS 8:

$ sudo yum install teamviewer.x86_64.rpm -y

3. Once the package is installed you can start using team viewer:

$ teamviewer



This article covers how to install skype on the CentOS 8 system. One is using the RPM skype repository and another one is through the snap tool. 

Running Skype on CentOS/Fedora allows you to make Skype calls, group video calls, instant messaging, phone number calls, and screen sharing.


To Install Skype on CentOS:

1. Execute the command;

$ sudo yum localinstall skypeforlinux-64.rpm

2. Press y when prompted to confirm installation.


To Launch Skype on CentOS:

After successful installation, search Skype on your Desktop Environment search bar.



This article covers how to install Apache web server on CentOS 8 distribution. With Apache we server, you can host web pages over the network. Apache is available within CentOS's default software repositories, which means you can install it with the dnf package manager.


To install Apache on CentOS:

1. Execute the command below to install the Apache package:

$ sudo dnf install httpd

After confirming the installation, dnf will install Apache and all required dependencies.

2. If you also plan to configure Apache to serve content over HTTPS, you will also want to open up port 443 by enabling the https service:

$ sudo firewall-cmd --permanent --add-service=https

3. Next, reload the firewall to put these new rules into effect:

$ sudo firewall-cmd --reload

After the firewall reloads, you are ready to start the service and check the web server.


To check your Apache Web Server:

1. Apache does not automatically start on CentOS once the installation completes, so you will need to start the Apache process manually:

$ sudo systemctl start httpd

2. Verify that the service is running with the following command:

$ sudo systemctl status httpd

You will receive an active status when the service is running.


To manage the Apache Process on CentOS:

Now that the service is installed and running, you can now use different systemctl commands to manage the service.

1. To stop your web server, type:

$ sudo systemctl stop httpd

2. To start the web server when it is stopped, type:

$ sudo systemctl start httpd

3. To stop and then start the service again, type:

$ sudo systemctl restart httpd

4. If you are simply making configuration changes, Apache can often reload without dropping connections. To do this, use this command:

$ sudo systemctl reload httpd

5. By default, Apache is configured to start automatically when the server boots. If this is not what you want, disable this behavior by typing:

$ sudo systemctl disable httpd

6. To re-enable the service to start up at boot, type:

$ sudo systemctl enable httpd

Apache will now start automatically when the server boots again.



This article covers how to install Zimbra mail server on CentOS & RHEL systems. Zimbra offers two editions, the commercially supported edition called 'Network Edition' & a free/open-source version called 'Open Source Edition'. 

Zimbra Collaboration Suite (ZCS) is a collaborative software suite that includes a mail & chat server with a web client.


Main components of Zimbra Mail and Collaboration Server are:

1. Zimbra Core: These are basic libraries, utilities, monitoring tools, and basic configuration files.

2. Zimbra LDAP: This has the OpenLDAP LDAP directory server that provides authentication and configs store for users and other zimbra components.

3. Zimbra MTA (mail routing server): Has Postfix mail transfer agent (MTA) that receives email via SMTP and routes each message to the appropriate Zimbra mailbox server using Local Mail Transfer Protocol (LMTP). It also includes the anti-virus and anti-spam components.

4. Zimbra Store (Zimbra server): The mailbox server includes Data store, Message store and Index store for the mailboxes on the server. When a mail arrives, the Zimbra server schedules a thread to have the message indexed in the index store.

5. Zimbra-SNMP: This is an optional component for for monitoring and it runs on every server (Zimbra server, Zimbra LDAP, Zimbra MTA). Swatch is used to watch the syslog output to generate SNMP traps.

6. Zimbra Logger: This is an optional component for the mailbox server. It installs tools for syslog aggregation, reporting, and message tracing. This is required for the message trace feature.


To Edit your hosts file on Ubuntu:

1. $ nano –w /etc/hosts

You should have this line

Ip_address server.domain.com server

Update it as per your server information.

2. Press ctrl key + o to save

3. Press ctrl key + x to exit

4. Restart your server to take effect all the changes

$ reboot


To install Zimbra on Ubuntu server:

1. Install Zimbra prerequisites

$ apt-get update 

$ apt-get install libgmp10 libperl5.18 libaio1 pax sysstat sqlite3

2. Download Zimbra Email Server

$ wget https://files.zimbra.com/downloads/8.6.0_GA/zcs8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

3. Unpack the file

tar xzvf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

4. Go to Zimbra forder

cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116

5. Begin installation

./install.sh

NOTE : While running the install.sh command you will be prompted with the following questions.

Do you agree with the terms of the software license agreements? [N] Y

Install zimbra-ldap [Y] Enter

Install zimbra-logger [Y] Enter

Install zimbra-mta [Y] Enter

Install zimbra-dnscache [Y] N Enter

Install zimbra-snmp [Y] Enter

Install zimbra-store [Y] Enter

Install zimbra-apache [Y] Enter

Install zimbra-spell [Y] Enter

Install zimbra-memcached [Y] Enter

Install zimbra-proxy [Y] Enter

The System will be modified. Continue? [N] Y Enter

NOTE: Do not install dnscache because we already installed bind9.

Sometimes it takes for a while to install some packages.

You will receive this error:

DNS ERROR resolving server.domain.com server

Change hostname [Yes] Enter

Please enter the logical hostname for this host [server.domain.com] domain.com

Ports conflicts detected! – Press Enter /Return key to continue Enter

Setup a password for admin account.



This article covers how you can easily adjust the time, date, and time zone of your system in CentOS 8.

To change the time zone in Linux systems use the sudo timedatectl set-timezone command followed by the long name of the time zone you want to set.


How to Synchronize Time on Installed Linux Operating Systems ?

1. On the Linux machine, log in as root.

2. Run the ntpdate -u <ntpserver> command to update the machine clock. For example, ntpdate -u ntp-time.

3. Open the /etc/ntp. conf file and add the NTP servers used in your environment.

4. Run the service ntpd start command to start the NTP service and implement you configuration changes.


Importance of man command in Linux:

man command in Linux is used to display the user manual of any command that we can run on the terminal. 

It provides a detailed view of the command which includes NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUES, ERRORS, FILES, VERSIONS, EXAMPLES, AUTHORS.



This article covers how to install Wine on CentOS 8. With the use of this package, you can easily use the native Windows applications on CentOS 8. However, you can also remove this package from your CentOS 8 system to conserve the memory whenever you want.


How to Install Wine 4 on CentOS 8:

Install EPEL Repos on CentOS 8

Wine is not included in the default CentOS 8 repositories but however available on EPEL repos. Therefore, run the command below to install EPEL repos:

$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm


To run Wine on CentOS 8:

Wine command takes the following syntax.

$ wine program [arguments]

To obtain help on Wine usage;

$ wine --help

Consult man pages for Wine for more insight.

$ man wine

Before you can use Wine to run Windows applications, reboot your system to setup the Wine environment.

$ systemctl reboot



This article covers how to install python2 and python3 on CentOS 8. By default, python2 and python3 are not installed on CentOS 8. To install both, you need to install all python packages separately according to python versions. Also, you can run python2 and python3 environments on your system. 

The 'alternatives --auto python' command is used to set any python version as the default. 


To run Python in Linux:

A widely used way to run Python code is through an interactive session. 

To start a Python interactive session, just open a command-line or terminal and then type in python, or python3 depending on your Python installation, and then hit Enter .


Python comes preinstalled on most Linux distributions, and is available as a package on all others. 

However there are certain features you might want to use that are not available on your distro's package. 

You can easily compile the latest version of Python from source.


Installing Python 3 on Linux:

1. To see which version of Python 3 you have installed, open a command prompt and run

$ python3 --version

2. If you are using Ubuntu 16.10 or newer, then you can easily install Python 3.6 with the following commands:

$ sudo apt-get update

$ sudo apt-get install python3.6

3. If you're using another version of Ubuntu (e.g. the latest LTS release) or you want to use a more current Python, we recommend using the deadsnakes PPA to install Python 3.8:

$ sudo apt-get install software-properties-common

$ sudo add-apt-repository ppa:deadsnakes/ppa

$ sudo apt-get update

$ sudo apt-get install python3.8

4. If you are using other Linux distribution, chances are you already have Python 3 pre-installed as well. If not, use your distribution's package manager. For example on Fedora, you would use dnf:

$ sudo dnf install python3


To see if pip is installed, open a command prompt and run:

$ command -v pip



This article will cover how to install and remove the PostgreSQL server and create a database in PostgreSQL on CentOS 8. Also you will learn how to add tables in the database by using the SQL query.

PostgreSQL is available from CentOS 8's default AppStream software repository, and there are multiple versions which you can install. 

You can choose between these versions by enabling the appropriate collection of packages and dependencies that align with the version you want to install, with each collection referred to as a module stream.


To List out the available streams for the postgresql module using the dnf command:

$ dnf module list postgresql



This article covers the different methods for the installation of Google Chrome on the CentOS 8 system using the terminal commands and graphical method. 

Once the installation of chrome is complete, now you can feel free to add chrome extensions and favorite themes from the web store of Google Chrome.


To install Google Chrome 78 on a RHEL/CentOS/Fedora Linux:

1. Open the Terminal application. Grab 64bit Google Chrome installer.

2. Type the following command to download 64 bit version of Google Chrome:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

3. Install Google Chrome and its dependencies on a CentOS/RHEL, type:

sudo yum install ./google-chrome-stable_current_*.rpm

4. Start Google Chrome from the CLI:

google-chrome &


To upgrade Google Chrome from an older version:

You can simply update it by typing the following yum command:

$ sudo yum update google-chrome-stable

OR use the following dnf command to update it on a Fedora Linux:

$ sudo dnf update google-chrome-stable


To uninstall Chrome from Ubuntu:

1. Open the Terminal: It should be present on your desktop or taskbar.

2. Type sudo apt-get purge google-chrome-stable and press Enter to uninstall the Chrome browser.

3. Type sudo apt-get autoremove and press Enter to clean up the Package Manager to ensure that there are no lingering files.



This article will guide you on how to install and configure the Zabbix server on #Linux. You have also learned how to install and configure the Zabbix agent on the Zabbix server and the client #machines. Now you can easily keep track of the servers and monitor their health.

Zabbix server is the central process of #Zabbix software. The server performs the polling and trapping of data, it calculates triggers, sends notifications to users.

The server can itself remotely check networked services (such as web servers and mail servers) using simple service checks.

You can now start the Zabbix server and agent by running the commands:

sudo systemctl start zabbix-server.

sudo systemctl start zabbix-agent.



This article will guide you on how to start, stop, and restart the #network service on different Linux distribution like Ubuntu, #Debian, Linux Mint, and CentOS 8. Moreover, you can troubleshoot the network #error through the #NetworkManager tool on #CentOS 8.

Please don't stop services if you have a remote ssh connection that may create a problem.

Restarting networking on a desktop machine will cause dbus and a bunch of #service to stop and never be started again, usually leading to the whole system being unusable.

To restart a Linux service:

1. Linux provides fine-grained control over system services through #systemd, using the systemctl command.

2. To verify whether a service is active or not, run this command: sudo systemctl status apache2.

3. To stop and restart the service in Linux, use the command: sudo systemctl restart SERVICE_NAME.



This article will guide you on steps to install #MariaDB on the #Linux operating system. 

MariaDB offers more and better storage engines. NoSQL support, provided by Cassandra, allows you to run SQL and NoSQL in a single database system. MariaDB also supports TokuDB, which can handle big data for large organizations and corporate users.

As a columnar database, MariaDB ColumnStore stores table data in columns rather than rows. Data partitioning by columns is also called Vertical Partitioning.

MariaDB is a drop in place replacement for #MySQL, but you can also install it alongside MySQL. 

To install MariaDB on #Ubuntu 18.04, follow these steps:

1. Update packages index. sudo apt update.

2. Once the packages list is updated, install MariaDB by issuing the following command: sudo apt install mariadb-server.

3. The MariaDB service will start automatically.



This article will guide you on the steps to install #Webmin in your Linux system. Webmin comes with a very simple webserver called miniserv.pl that is capable of doing all that is necessary for Webmin to run. However, it is not as fast or memory efficient as a well-developed server such as #Apache.

To modify the default port, 10000 to 10101, open the /etc/webmin/miniserv. conf file and modify line 1 and 16. Now you can access the Webmin through url with new custom port.

To Install Webmin on #Ubuntu:

1. Log in to your Ubuntu #server.

2. Issue the command sudo nano /etc/apt/sources. list.

3. Hit [CTRL][x] and save the file.

4. Add the downloaded key with the command sudo apt-key add jcameron-key. asc.

5. Update apt with the command sudo apt-get update.

6. Install Webmin with the command sudo apt-get install webmin.



This article will guide you on steps to install and configure the #DHCP #server in the Linux system and assign dynamic and fixed #IP addresses to the clients. It takes just a few simple steps to configure the DHCP server in a #Linux machine. Once you have configured it, it will automatically assign the assigning IP addresses and related information to each machine on the network.

The main DHCP #configuration file is /etc/dhcp/dhcpd. conf. The file is used to store the network configuration information required by DHCP #clients.

To enable DHCP or change other TCP/IP settings:

1. Select Start , then select Settings > #Network & Internet.

2. Do one of the following: For a Wi-Fi network, select Wi-Fi > Manage known networks.

3. Under IP assignment, select Edit.

4. Under Edit IP settings, select Automatic (DHCP) or Manual.

5. When you're done, select Save.



This article will guide you on steps to perform Perl installation on #CentOS 8. You will also learn how to create and execute the #Perl #script on your CentOS system by using the terminal #commands.

Perl is a programming language that can be used to perform tasks that would be difficult or cumbersome on the command line.

To run a Perl script in Linux:

1. Run the "perl" command with the Perl script included in the command line.

2. Run the "perl" command with the Perl script supplied from the standard input stream.

3. Run the "perl" command with the Perl script supplied in a file.

4. Run Perl script files as commands.



This article will guide you on the steps to disable SELinux running on your CentOS 7, RHEL 7 and Fedora Linux. Security-Enhanced #Linux (#SELinux) is a security architecture for Linux #systems that allows administrators to have more control over who can access the system. It was originally developed by the United States National Security Agency (#NSA) as a series of patches to the Linux #kernel using Linux #Security Modules (LSM).



This article will guide you on the steps to install openssh server (sshd) and clients on CentOS Linux using the yum command. The #ssh #command provides a secure encrypted connection between two hosts over an insecure #network. This connection can also be used for #terminal access, file transfers, and for tunneling other applications. Graphical X11 applications can also be run securely over SSH from a remote location.



This tutorial will guide you on how to get Nginx server installed and configured on an Ubuntu Linux 18.04 LTS server.

Nginx is one of the most popular web servers in the world and is responsible for hosting some of the largest and highest-traffic sites on the internet. It is more resource-friendly than Apache in most cases and can be used as a web server or reverse proxy.


Nginx Configuration Files Structure

  • All configuration files are located in the /etc/nginx/ directory.
  • Nginx main configuration file is at /etc/nginx/nginx.conf.
  • It's best practice to create a separate configuration file of each domain for better maintainability.
  • New server blocks (configuration file) of each domain should be stored in /etc/nginx/sites-availabledirectory. You need to make symlink of these configuration files at /etc/nginx/sites-enabled to take in used by Nginx.
  • Activating server blocks is done by creating a symlink (a pointer) from the configuration file sites in a /etc/nginx/sites-enabled directory to the sites-enabled directory.
  • The default server web root directory is /var/www/html
  • It's best practice to to follow standard naming convention. Nginx server block files name should as domain name and must end with .conf extension. For example, your domain name is example.com then server block file name should example.com.conf
  • Nginx log files (access.log and error.log) are located in the /var/log/nginx/ directory. It's also recommended to have a different access and error log files for each server block.



This tutorial will guide you on how to write a simple shell script and run a script in Linux operating system with help of chmod and other commands.



This article will help you to add a user account with access and privileges to run system administrator’s commands on Ubuntu 20.04 LTS systems.



This article will guide you on how to configure a Static IP address on CentOS 8.




More Linux Tutorials

We create Linux HowTos and Tutorials for Sys Admins. Visit us on IbmiMedia.com

Also for Tech related tips, Visit forum.outsourcepath.com or General Technical tips on www.outsourcepath.com