How to Configure a Firewall in Linux using UFW

ufw linux firewall splash image

This tutorial will teach you how to install and configure UFW (Uncomplicated Firewall) in Linux. Firewalls are vital to keep your applications and systems secure. UFW provides a command line frontend interface for iptables using a few simple commands. It is designed to be easy to use and uncomplicated to configure. Using only Netfilter in iptables for firewalls can be a daunting task. UFW is a simple solution to using a firewall in Linux. In this tutorial we will be using Ubuntu 22.04 but any Ubuntu or Debian based Linux distribution will work.

Check if UFW is Installed

ufw status
sudo ufw status

The first thing you need to do is check if UFW is already installed. It is installed by default on most Linux distributions. You can check if UFW is currently installed by opening a terminal shell and running the “ufw status” command. If UFW is already installed you will see a similar output to what is above. It will say “Status: inactive”. If you get an error you will have to install UFW.

Install UFW

install ufw
sudo apt install ufw

To install UFW run the command “sudo apt install ufw”. Then click yes on the confirmation dialog.

Deny Outgoing and Incoming Connections

ufw allow outgoing
sudo ufw default allow outgoing

The first thing you want to do when configuring the firewall is to deny all incoming and outgoing connections. To deny outgoing connections run the command “sudo ufw default deny outgoing”.

ufw allow deny incoming
sudo ufw default deny incoming

Then repeat the same step using “sudo ufw default deny incoming” to deny the incoming connections.

Configure Firewall Rules

Allow a Program

allow ftp ufw
sudo ufw allow ftp

You can allow individual programs through the firewall using their names. Above I allow ftp using the command “sudo ufw allow ftp”.

Allow a Specific Port

allow port 21 ufw
sudo ufw allow 21

To allow a specific port use the command “sudo ufw allow 21”. In the above example I am allowing the FTP port 21.

Deny a Specific Port

deny port 22 ufw
sudo ufw deny 22

You can also allow specific programs and ports. In the above example I deny port 22 using “sudo ufw deny 22”.

Allow a TCP Port

allow tcp port 443 ufw
sudo ufw allow 443/tcp

You can also allow or deny specific ports to be tcp or udp only. In the above example I allow only tcp traffic on port 443.

Allow a UDP Port

allow udp port 111 ufw
sudo ufw allow 111/udp

You can also allow any deny udp ports as shown above. By default it will allow or deny on both tcp and udp unless you specify one of the two.

Allow and Deny Access to IP Addresses

Sometimes you may want to only allow certain IP addresses access to your system. In this case you can setup a rule to control access on a per IP basis.

Allow an IP

allow an ip address

Using the above rule you are able to allow only specific IP addresses to access your system. This is the securest way to setup a FTP or SSH server that needs remote access.

Deny an IP

deny an ip address

This rule is useful in situations where you are allowing all IP addresses through the firewall, but just want to block certain ones.

Enable or Disable UFW Firewall Rules

Enable UFW

enable ufw
sudo ufw enable

Now you will need to enable the firewall to apply the rule set you created. To enable the UFW firewall type “sudo ufw enable”.

Disable UFW

disable ufw
sudo ufw disable

If you need to disable the firewall you can run the command “sudo ufw disable”. This will keep the firewall disabled until you enable it again.

View the Firewalls Status

ufw view status
sudo ufw status

To view the status of the firewall type “sudo ufw status”. This will show you all of the ports and or programs that you are allowing or denying through the firewall. It will also show you whether UFW is active or inactive.

Advanced UFW Rules

ufw edit rules files
cd /etc/ufw/

Most rules can be applied using the command line but sometimes you want more control over the rules. In this case you can directly edit the rules using the “before.rules” and “after.rules” files located in the “/etc/ufw/” directory. The before rules are applied before UFW is launched while the after rules apply after UFW is running.

ufw edit config file
nano /etc/default/ufw

You can also edit the UFW configuration file located at “/etc/default/ufw” for more advanced configurations.

Enable Logging

ufw enable logging
sudo ufw logging on

You can enable logging in UFW by running the command “sudo ufw logging on”. This will enable the logs in the lowest mode by default. If you want to specify the log level use the command “sudo ufw logging low|medium|high“.

view of ufw log
nano /var/log/ufw.log

The UFW log file will be located at “/var/log/ufw.log” by default. I have set my logging level to low. Above is an example of what your log file may look like.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our How to install Kali Linux 2022.3 [step by step] tutorial.

Learn How to Use the Alias Command in Linux.

Check out our How to Add a Network Location in Windows 10 tutorial.

View our How to Setup a FTP Server with FileZilla in Windows tutorial.

Learn more cool things in Windows with our Windows Tutorials.

View all of our available online utilities and converters at Formatswap.com.

How to Setup OpenSSH with Keys on Ubuntu 22.04

ssh key splash

In this tutorial you will learn how to setup a SSH server to use a public key pair on Ubuntu. SSH is a secure protocol used for remotely administrating servers. We will be using OpenSSH to setup the server. SSH servers are great as they allow you to easily remote into any machine and execute commands. With public key authentication you get robust security. It is generally recommended that all users running an SSH server should enable key based authentication. You also don’t have to remember passwords when using key based authentication. For this tutorial we will be using Ubuntu 22.04 server, but you should be able to use any Linux operating system.

Generate Key Pair

generate key pair

The first step is to generate a key pair on your client machine. Type “ssh-keygen” and press “Enter”. If you get an error you may have to install the Openssh server as shown below.

sudo apt install openssh-server

Select Key Save Location

select key save file location

Next you will be asked to choose a save location for the key. Press “Enter” to use the default, or type a path and filename for the key.

Set a Key Password (optional)

select password

You will then be asked if you want to set a key on the password. This improves security but will require you to enter the password every time you connect to the SSH server. Either type a password or press the “Enter” key twice to not use a password.

Key Generated Successfully

key generated

Now you will see a message telling you that the key pair has been generated successfully. It will also list the fingerprint and the save location for the key.

Copying Public Key

copy the public key

Next we will copy the newly created key to your SSH server. Type in the following command to copy the key.

ssh-copy-id username@ssh-server-ipaddress

Enter the SSH Users Password

optionally select password for key

The server will then ask you to type in the password for the SSH user. Additionally if you set up a password on the key pair, you will also be prompted to type that.

Keys Successfully Added

keys added message

After typing your credentials you will be shown a screen telling you that the key has been successfully added.

SSH into the Server

ssh into the server

Now that the key has been added to the SSH server we need to connect back to the server. Connect to it using the SSH command as shown above.

Edit the OpenSSH Config File

edit the openssh config

Once you are connected to the server you will need to edit a file. Open the sshd_config file using the nano text editor.

sudo nano /etc/ssh/sshd_config

Disable Password Authentication

disable password authentication

Now that the file is open, use “Ctrl+W” to search for the line “PasswordAuthentication”. Once you locate the line change it from “PasswordAuthentication yes” to “PasswordAuthentication no”. This will cause the SSH server to only log you in using your key.

Save OpenSSH Config File

save openssh config

Next simply press “Ctrl+x” then the “Y” key to save the config file.

Restart OpenSSH Server

restart openssh server

Finally we will need to restart the ssh service on the server. Run the following command to complete this action.

sudo systemctl restart ssh

After the SSH service restarts, you will need to disconnect from the SSH server.

Test the SSH Connection

test ssh connection

Now we will test that we are able to login to the SSH server using our key pair. Simply try to reconnect to the SSH server. You will be automatically logged in if you don’t have a password on the key pair. Else you will need to enter the password you created for the key.

OpenSSH with a Key Pair is Enabled

successful key ssh

If you are able to connect to the SSH server then you have successfully setup a key for OpenSSH. Remember to keep the key pair in a secure location. Anyone with access to it would be able to login to your server.

SFTP Server (optional)

You can also enable secure file transfer with SFTP using OpenSSH. If you would like to activate the server view our How to Setup an SFTP Server on Ubuntu 22.04 using OpenSSH tutorial.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our list of The Top 10 Programming Languages to Learn in 2022.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Click here to learn How to Install MySQL on Ubuntu Server 22.04 LTS.

View all of our Linux Articles and Tutorials.

Learn How to install and configure Nginx – Ubuntu 20.04.

View all of our available online tools and converters at Formatswap.com.

How to Mount an SMB (Samba) Share in Linux with cifs-utils

cifs-utils header image

In this tutorial you will learn how to use the CIFS-UTILS program to mount network shares. You will also learn how mount the file shares at boot. This allows you to avoid typing your credentials, as well as avoiding the use of the mount command when you turn on the system. With CIFS-UTILS you will be able to easily access files from a SMB share on your network. I will be using Ubuntu 22.04 LTS throughout this tutorial. However it is fine if you have a different version, as this guide will work on any Ubuntu based Linux distribution.

Update and Upgrade Ubuntu

update and upgrade ubuntu

The first thing you will need to do is update and upgrade your Ubuntu installation. Type in the following command and press Enter.

sudo apt update && sudo apt upgrade
install cifs utils

Now you will see a window asking you if you want to continue. Press “Y” and then Enter.

Install CIFS-UTILS

install cifs utils

Afterwards you will need to install cifs-utils. This is a program that allows you to easily mount different file shares on Linux. Type in the following command to install it.

sudo apt install cifs-utils

Create a Mount Directory

make share mount folder

Next you need to create a folder to mount the SMB share. You can create a folder in either /mnt/ or /media/.

sudo mkdir /media/Share
or
sudo mkdir /mnt/Share

Navigate to the Home Folder

cd to home folder

Now navigate to your home folder.

cd ~/

Create the Credentials File

create creds file

Once you are in the home folder you need to create a credentials file. A credentials file is vastly more secured versus providing the password and username in plain text.

nano .creds
enter user and pass cifs-utils

Now type your username and password in the format above. Once you have typed your credentials, press “Ctrl+X” then “Y” to save and quit the text editor.

Apply Permissions

apply permissions to creds file

Next we will apply the permissions to the credentials file. For security reasons you only want root to be able to read and write the file. Enter the command below to apply the changes.

sudo chown root: .creds && sudo chmod 600 .creds

Mount the SMB Share

mount smb share

Finally you will mount the SMB network share. Enter the below cifs mount command replacing the credential directory, IP address, mount location, and share name with your own.

sudo mount -t cifs -o credentials=/home/USERNAME/.creds,dir_mode=0755,file_mode=0755 //IPADDRESS/ShareName /mnt/Share

After you run the command you can navigate to the mount folder to view the network share that you have added. You have now successfully mounted a SMB network share using cifs-utils.

Auto Mounting

If you only use the mount command, your network share will no longer be mounted when you reboot. We will edit the fstab file and add a few entries. This is the file that defines what file systems are mounted at boot. Continue reading below to make the share persistent.

Edit the fstab File

edit fstab file

First we need to open the fstab file. Type in the following command to edit it.

sudo nano /etc/fstab

Add fstab Entries

mount cifs share

Now you will want to add a new line for mounting your cifs share. Use the code below as an example of what to type, replacing the credentials, IP, and share name with your own.

//IPADDRESS/ShareName  /mnt/Share  cifs  credentials=/home/USERNAME/.creds,file_mode=0755,dir_mode=0755 0  0

Reboot PC

reboot pc

The last step will be to reboot your PC. After rebooting you will see the network share mounted at /mnt/ShareName or /media/ShareName depending on where you created the folder. Thank you for reading the tutorial. If you are interested in similar technology tutorials check out some of our articles below.

Questions?

If you have any questions or comments feel free to leave them below.

Related Resources

View our How to Permanently Disable Windows Defender article.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Click here to learn How to install and configure Nginx – Ubuntu 20.04.

View our Programming Articles and Tutorials.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

How to Use the Alias Command in Linux

linux header image

In this tutorial you will learn how to create your own custom alias commands in Linux. Setting up a Linux alias is a very easy thing to do. Aliases are very beneficial as they save a lot of time, such as remembering long or complicated commands. We will be adding our own aliases by editing the “.bashrc” file. This tutorial will work on virtually all Linux distributions. Continue reading below to get started.

Open the Terminal

launch terminal in linux

The first thing you need to do is open a new Terminal window in Linux.

Edit the .bashrc File

edit bashrc

Once you have the new terminal window open, enter the command nano ~/.bashrc and press Enter. This will open your .bashrc file using the nano text editor. The .bashrc file is a script that runs every time you launch Bash. You can add commands here for customizing and automating your Linux environment. If you open the file and it is blank it means you do not already have it (the file). The file will be created once you save using Ctrl+X, press the Y key, then press Enter.

Add the Command Alias’s

add alias commands to bashrc file

Towards the top of your bashrc file you will want to add a few new lines. Afterwards you can begin typing your alias commands. The format to use is alias aliasname=”Linux Command”. For example one of my aliases is ‘alias pg=”ping google.com”‘. When the command “pg” is ran, it will ping Google. The possibilities with aliases are endless. After adding your custom aliases simply save and close the file.

Reload the Bash Configuration

reload bashrc

Next you will have to reload the .bashrc file to reload the changes you just made. To do this type “source ~/.bashrc” and press Enter. The alias is now ready to be used.

Test the Linux Alias’s

test the alias command

To use your custom Linux aliases type the command that was written for it. In my example I used “pg” to ping google.com. Above is an example of the custom alias command running.

Additional Questions?

If you have any additional questions or thoughts feel free to comment them below.

Related Resources

View our list of The Top 10 Programming Languages to Learn in 2022.

Learn How to Install Ubuntu Server 22.04 [Step by Step].

Click here to learn How to Install MySQL on Ubuntu Server 22.04 LTS.

View our Programming Articles and Tutorials.

Learn How to install and configure Nginx – Ubuntu 20.04.

View all of our available online tools and converters at Formatswap.com.

How to Install VeraCrypt and Encrypt a Flash Drive on Ubuntu 22.04

veracrypt ubuntu splash

Are you worried about your device being stolen? Do you have sensitive files to protect? If you answered yes to either of those questions then you would benefit from encrypting your drive with VeraCrypt. In this tutorial you will learn how to download, install, and setup encryption with VeraCrypt in Linux. One of the primary reasons to use VeraCrypt is that it is an opensource replacement for the now defunct TrueCrypt. Another benefit to VeraCrypt is the ability to encrypt both flash drives and hard disks. You also have the ability to create encrypted file containers. It supports the most popular encryption algorithms such as AES 256 and AES 512. All said you will get a much more robust and secure encryption solution compared to any paid encryption software you could purchase.

Add the required repository

The first step is to add the repository to your packages list.

sudo add-apt-repository ppa:unit193/encryption

Update Ubuntu

The next thing you will want do do is update and upgrade Ubuntu 22.04. To do that simply open a terminal and run the following command.

sudo apt update && sudo apt upgrade

Download and install VeraCrypt

The last step is to install VeraCrypt. You can do so with this command.

sudo apt install veracrypt

Encrypting a volume

In this section of the tutorial you will learn how to create the encrypted flash drive partition using VeraCrypt.

Launching VeraCrypt

You can launch VeraCrypt by searching for it in your systems start menu or app folder. After you launch the program click on “Select Device…”.

veracrypt encryption screen

Selecting a device to encrypt

A window will pop up showing all of the storage devices on your computer. Very carefully select the partition on the flash drive you want to encrypt. (warning, all data is wiped during the encryption process)

veracrypt encryption screen

Creating the volume

Next you will want to click create volume to begin the encryption process.

veracrypt encryption screen

Select VeraCrypt device type

After the “VeraCrypt Volume Creation Wizard” opens you want to select the second option highlighted in red. Then click the “Next” button.

veracrypt encryption screen

Select VeraCrypt volume type

The next step is to select the VeraCrypt volume type. Choose the first option on the list. “Standard VeraCrypt volume”.

veracrypt encryption screen

View devices

Afterwards you will have to click “Select Device…” to view the partitions.

veracrypt encryption screen

Select USB devices partition

Re-select the partition of the flash drive you want to encrypt. Then press “OK”.

veracrypt encryption screen

Volume confirmation dialog

A dialog will pop up confirming you would like to proceed. Click on the “Yes” button.

veracrypt encryption screen

Enter the administrator password

You will receive a popup asking you to type in the administrator password. Afterwards click on the “OK” button.

veracrypt encryption screen

Choose VeraCrypt encryption algorithm

On the next page you will be asked to choose a Encryption Algorithm and a Hash Algorithm. I recommend selecting “AES” for the first box, and “SHA-512” for the second box. After selecting your options click on the “Next” button.

veracrypt encryption screen

Type and repeat the encryption password

The next part of the wizard will have you enter and re-enter the encryption password you would like to use for the encrypted volume. Enter the passwords and click on the “Next” button.

veracrypt encryption screen

Select encrypted USB format options

On this page it will ask you to choose your flash drives format options. I recommend selecting “FAT”. Afterwards click on the “Next” button.

veracrypt encryption screen

Encrypt the USB partition

For this step you will have to randomly move your mouse for 20-30 seconds to generated the Random Pool key. The longer you do it for the better the cryptographic strength will be. After the blue bar is full click on “Format” to start the encryption process.

veracrypt encryption screen

Volume format dialog

You will be asked to confirm that you want to continue encrypting. Press the “Yes” button.

veracrypt encryption screen

Wait for device to encrypt

The encryption process could take anywhere from 5-30 minutes. Be patient and wait for the process to complete.

veracrypt encryption screen

Encryption successful dialog

When the device has finished the encryption process you will get this dialog telling you it is complete. Click on the “OK” button.

veracrypt encryption screen

Exit VeraCrypt

Now that your flash drives partition is encrypted you can exit the application by clicking the “Exit” button.

veracrypt encryption screen

Mounting encrypted volume

In this part of the tutorial you will learn how to mount the encrypted partition that you just created.

View the devices

The first step to mounting your partition is to select the device. Click on “Select Device…”.

veracrypt encryption screen

Select an encrypted partition to mount

Next you will want to select the partition of the flash drive that you encrypted in the above steps.

veracrypt window

Type in encrypted USB’s password

Finally type in the encrypted flash drives password.

veracrypt window

Opening encrypted USB drive

The encrypted flash drives partition will now show up in the VeraCrypt window. To open it and browse the files double click on the highlighted light blue bar. If you want to dismount the encrypted partition just select it and click “Dismount”. You now know how to download, install, and encrypt flash drive partitions using VeraCrypt on Ubuntu 22.04.

veracrypt window

Related Resources

View our list of The Top 5 Programming Languages to Learn in 2022.

Learn How to Generate Images using Neural Networks with VQGAN.

Click here to learn How to Install MySQL on Ubuntu Server 22.04 LTS.

View our Programming Articles and Tutorials.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

Affiliate Disclaimer:

This website may contain affiliate links. This means we may receive a small commission if you purchase through our links. However, this does not impact our reviews and comparisons, as we only promote products we personally believe in. We are independently owned and the opinions expressed here are our own.

How to install and configure Nginx – Ubuntu 20.04

splash image install nginx

What is Nginx? Nginx is a opensource web server designed with developers in mind. It was created by Igor Sysoev in 2004. It supports reverse proxying, caching, load balancing, RTMP media streaming, and many more advanced features. In this tutorial you will learn how to install and set up Nginx on Ubuntu 20.04.

Getting Started

Open your terminal prompt of choice.

Update your packages repository and packages.

sudo apt update && sudo apt upgrade -y

Then, install Nginx:

sudo apt install nginx

Setting up UFW Firewall (Optional – Highly Recommended)

If UFW is not enabled or configured, you will first need to enable it. You can check the status of the firewall using this command:

sudo ufw status

Then enable it with this command:

sudo ufw enable

If you are connected to your machine via SSH, make sure it is allowed through the firewall before disconnecting.

sudo ufw allow ssh

Next, we will be allowing Nginx through the firewall – there are 3 settings to be aware of when allowing the web server through. ‘Nginx Full’, ‘Nginx HTTP’, and ‘Nginx HTTPS’. ‘Nginx Full’ allows traffic through both HTTP (port 80) and HTTPS (port 443), whereas HTTP and HTTPS open only their respective ports. It is highly recommended that you only open port 80 to your local network or for non-secure pages (Does NOT process sensitive data!). You will only be able to use HTTPS if you have an SSL certificate – otherwise, your browser or any visitor to your site will get a ‘Site Not Secure’ warning. We will be using ‘Nginx HTTP’ for the purposes of the tutorial, but you may replace the text in the command with the other parameters for your respective use case.

sudo ufw allow 'Nginx HTTP'

If you have any other services running on the machine that you need external clients to have access to, such as port 8080 for a testing server, you may open them with the following command:

sudo ufw allow <port>/<method>
Example: sudo ufw allow 8080/tcp
Example: sudo ufw allow 8000/udp

Configuring Nginx

Finally, it’s time to set up your web server! We will be accessing the root directory for the site, where you will access and store your files. We will also be setting up the configuration for the enabled sites so you can access your site from the web. You should be able to see the default site when going to the URL/IP address of the server.

You can view the IP address of your server by typing the command:

ip a s

Your IP will be the address that is not the loopback address (127.0.0.1) and is usually the second “inet” address depending on your server’s configuration.

welcome to nginx splash screen

If everything is set up correctly, the above image should be the contents of the page.

Next, you will navigate to your site’s configuration to organize things properly and keep your install clean. First, you will disable your site’s default configuration. You can do this by typing the following command:

 sudo unlink /etc/nginx/sites-enabled/default

Then, add a new configuration file for your site. We will be using nano for this example.

sudo nano /etc/nginx/sites-available/<site-name>

And add the following text to the file.

server {
    listen 80;
    listen [::]:80;
    root /var/www/<site-name>;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
}

If you are also using SSL, you must insert the following below the first server block:

server {
    listen 443 ssl;
    root /var/www/<site-name>;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
}

Press CTRL+X and then press Y to save the file.

The server is almost set! You will need to enable the site to make it accessible. You can do this by typing the command:

sudo ln -s /etc/nginx/sites-available/<site-name> /etc/nginx/sites-enabled/

Then test your configuration using the command:

sudo nginx -t

If everything checks out, you can restart your Nginx process.

sudo systemctl restart nginx

Final Steps

You must add the directory to your server before you are able to store your files and make them available.

sudo mkdir /var/www/<site-name>

Lastly, create a an index page for your server and you are all set!

sudo nano /var/www/<site-name>/index.html

Here is some example code that you can use for testing to make sure everything is working:

<html>
<body>
    <h1>Hello, Nginx!</h1>
    <p>This is a test page for Nginx.</p>
</body>
</html>
test page for nginx

If you see this message, you have successfully set up your very own Nginx server on Ubuntu 20.04!

Related Resources

View our list of The Top 5 Programming Languages to Learn in 2022.

You may also like The 5 Best Linux Distributions to Install in 2022.

Setting up MySQL on Ubuntu 22.04

View our Programming Articles and Tutorials.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

How to Install MySQL on Ubuntu Server 22.04 LTS

install mysql splash image

In this tutorial I will teach you how to download and install MySQL server on Ubuntu 22.04 LTS. Additionally you will learn how to secure your installation and setup a root account. MySQL is vital to have installed if you want to work with storing and receiving data on your website or web application. The first version of MySQL was released on the 23rd of May 1995 by a Swedish company MySQLAB. The other popular database manager MariaDB was created by the same company. Ever since MySQL has grown to be one of the most popular database software’s on the web. Before we begin make sure you have a Ubuntu 20.04 server installed onto a computer or a virtual machine. Also don’t forget to install the openssh-server package if it is not installed. This will give you the ability to ssh into the machine to setup MySQL.

Update and upgrade Ubuntu

sudo apt update && sudo apt upgrade

The above commands will both update and upgrade your Ubuntu install to the latest package versions.

Install the MySQL Server & Client to Ubuntu 20.04

sudo apt install mysql-server && sudo apt install mysql-client

This will install both the MySQL Server and the MySQL Client to your machine. Unlike previous versions of Ubuntu Server you do not have to add any SQL repository’s before installing. This is because Ubuntu 22.04 LTS contains the packages in the standard system repository.

Confirm the installed MySQL version

To confirm which version of MySQL you have installed run the following command. You will receive an output with the version number.

mysql --version

Update MySQL security settings

The default installation of MySQL has several security issues. We need to run the following commands to fix these issues.

sudo mysql_secure_installation

This will open the MySQL secure installation wizard. We need to answer a few questions in the wizard to continue. The first question will be:

Would you like to setup VALIDATE PASSWORD COMPONENT?

Type in “Y” on the keyboard and press “Enter”. This will bring us to the next question which will have us enter a password validation policy.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

Choose any one of these options. I will be using option #2 MEDIUM. After you type in the number press “Enter” and you will be brought to the following screen to set your password.

Please set the password for root here.

New password:

Re-enter new password:

Do you wish to continue with the password provided?

Type in the password you would like to use and press enter. Next re-enter the password you have chosen. Finally type “Y” than press “Enter” to continue with the password provided. There is the possibility you will receive the following error.

Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost'                            as the authentication method used doesn't store authentication data in the MySQ                           L server. Please consider using ALTER USER instead if you want to change authent                           ication parameters.

If you get this error you will have to exit the script by pressing Ctrl+C. After you exit out login to MySQL.

sudo mysql

Then set the MySQL password.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'SuperSecure1';

*Change the password SuperSecure1 to something secure* Afterwards exit the program by running exit;

exit;

Then just rerun the secure installation setup script again.

sudo mysql_secure_installation

The secure installation setup script will then ask you the following questions. Answer them as you see below.

Enter the password for user root: type your root password and then press "Enter".
Change the password for root? Press N, then press "Enter".
Remove anonymous users? Press Y, then press "Enter".
Disallow root login remotely? Press Y, then press "Enter".
Remove test database and access to it? Press Y, then press "Enter".
Reload privilege tables now? Press Y, then press "Enter".

Testing MySQL Server login

Once you have finished running the MySQL secure installation script and have set up the root password you will need to test the login. This will allow us to login as the root user and setup a database ,tables and or users to go with it. Type the following to login.

sudo mysql -u root

Enter the root password you created in the above steps.

Managing your Ubuntu 22.04 MySQL service

There are several commands worth knowing for managing your MySQL service. One of the most important is the command to check the status of the service.

sudo systemctl status mysql

This will generate an output similar to this. It will tell you if it is running or stopped. Furthermore it will also output any errors.

systemctl mysql output

You will also want to know how to stop the MySQL service. You can do this with the following command.

sudo systemctl stop mysql

To start the MySQL service run:

sudo systemctl start mysql

To restart the MySQL service run:

sudo systemctl restart mysql

To disable the MySQL service run:

sudo systemctl disable mysql

Updating or removing MySQL on Ubuntu 20.04

If you are having any issues with your current version of MySQL or just want the latest features, just run the update command. This will update MySQL and your Linux system to the latest version.

sudo apt update && sudo apt upgrade

If you no longer want MySQL server installed you can easily remove it with the following command.

sudo apt autoremove --purge mysql-server

When you get the message “Do you want to continue?” just type “Y” than press “Enter”. MySQL will be purged and uninstalled.

Related Resources

View our list of The Top 5 Programming Languages to Learn in 2022.

You may also like The 5 Best Linux Distributions to Install in 2022.

If you want to learn how to generate images with neural networks click HERE.

View our Programming Articles and Tutorials.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

5 Reasons to Switch from Windows 10 to Linux

switch from windows to linux

If you are sick of constant forced updates, user data tracking, and malware attacks you may want to consider making the switch to the Linux operating system. One of the benefits of switching from Windows 10 to Linux is the wide variety of distributions to choose from. A distribution is a flavor of Linux which contains the GNU shell, various preinstalled programs, the Linux kernel, system utilities and just about everything you will see in your operating system. This allows for the user to decide for themselves which distribution most closely matches what they will use their computer for. Are you looking to make the switch? Here are some reasons to do so.

1. Security

Many Linux distributions take a security first approach. This means that security settings are enabled by default. Also unlike Windows 10 and Windows 11, Linux does not collect and track user data. You are able to take full control of your data privacy. Linux has constant and automatic security updates ensuring you are always secure.

2. Price (FREE)

Another benefit to using Linux versus Windows as your operating system is that it is free. Microsoft Windows 10 and 11 are also “free”, but you pay with your data being collected and sold to advertisers. With Linux you get everything Windows offers but for free and with privacy.

3. Software

More than 15,000 developers have contributed to the Linux operating system. With this comes a robust range of great software. The best part is all of the software is free to use in Linux. This is because the operating system is opensource. This means anyone can contribute there time and code to improving Linux. More and more popular software companies are releasing Linux compatible versions of their software. This also includes the gaming industry. As of 2021 there are over 7,500 Linux compatible titles on the Steam game store.

4. Hardware Compatibility

Linux is well known for being the operating system that helps to breath new life into older computers. Linux can run on almost any hardware developed in the past 30 years. If you have an old PC in the closet you can install Linux breathing new life into it. The reason Linux works so well on low performance machines is the low resource usage of the operating system. On average Linux only uses a quarter of the system resources compared to the average Windows machine.

5. Customization

With Linux you can make your operating system truly yours with advanced customization. You are able to customize almost every aspect of the system. Most Linux distributions come with a wide range of themes that are able to be installed. You can also install new icon packs and fonts. This allows you to personalize your operating system with just a few easy clicks. Whether you are looking to customize your system for aesthetic purposes, or just productivity (or a little of both). Then Linux is for you.

Download Linux

If you are looking for an overview and or download links to some of the best Linux distributions, read this article: The 5 Best Linux Distributions to Install in 2022

Related Resources

View our list of The Top 5 Programming Languages to Learn in 2022.

If you want to learn how to generate images with neural networks click HERE.

View our Programming Articles and Tutorials.

Click here to learn How to Install MySQL on Ubuntu 22.04 LTS.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.

The 10 Best Linux Distributions to Install in 2022

top 5 linux distributions

Choosing the best Linux distro in 2022 can be quite daunting with all of the Linux distributions to choose from. This list of the top 10 desktop Linux distributions will help to remove any confusion. Linux distributions have many desktop environments available to choose from. A desktop environment is a collection of all available GUI interfaces the user can interact with. This includes the taskbar, icons, and almost everything a user will see on there screen. Some of the items on the list will have different desktop environments while still using the same Linux flavor such as Ubuntu, Debian, Arch, etc. This is a comprehensive list of the best and most popular Linux distributions.

Ubuntu Linux

Ubuntu Linux is a distribution based on Debian. Is is by far the most used Linux distribution available. Ubuntu’s default desktop environment is Gnome but it is also available in KDE, Xfce. Mate, and more. The LTS (Long Term Support) version of Ubuntu receives regular product and security updates every 6 months. It has become the default choice for businesses looking to use Linux. Ubuntu is one of the best choices if you are looking to play games. It has the best video card driver support of any Linux distro on this list. This makes it the best Linux distro for gaming. Ubuntu Linux is available for desktop, or for servers with Ubuntu server. Overall Ubuntu is a very beginner friendly distribution. It also has some of the most robust documentation and tutorials available to new users.

Latest version: Ubuntu 22.04 LTS

Download Ubuntu

Fedora Linux

Fedora Linux is a bit different than the other distributions on this list due to being sponsored by Red Hat. This makes it one of the only mainstream Linux distributions to be funded by a large corporation. This allows for desktop support plans to be provided to businesses looking to use Linux. Linus Torvalds (the creator of the Linux kernel) uses Fedora as his primary Linux distribution. A new version of Fedora Linux is released every 13 months. The default desktop environment for Fedora is Gnome so it will have a similar feel to Ubuntu out of the box. One of the primary differences of Fedora compared to Debian or Ubuntu is the use of the DNF package manager. Another benefit of Fedora is it’s use of Security-Enhanced Linux by default. This provides a security by default approach greatly increasing the security of your operating system. Overall Fedora makes for a good choice if you want stability and security.

Latest version: Fedora 36

Download Fedora

Debian Linux

Debian Linux is one of the oldest Linux distributions on this list. It was first released in August of 1993. Debian offers many desktop environments such as Xfce, Gnome, Mate, KDE, LXDE, Cinnamon, and LXQT. This gives you a ton of flexibility for choosing the flavor that best suits you. Debian Linux is great for both desktop and server operations alike. This is due to its increased focus on stability and security. Because of this it is one of the best Linux distros for programming Debian also has a wide range of applications to install from it’s online repositories. To date there are over 51,000 packages available. Like Ubuntu, Debian also uses the APT package manager to install packages. You can also use the GUI tool Synaptic if you want a visual way to install software. Debian is a good choice for Office work, web browsing, and gaming. This makes it a overall well rounded choice for a distribution.

Latest version: Debian 11.4

Download Debian

Linux Mint

Linux Mint is a great choice for those who are new to Linux or switching from Mac OS or Windows. The design of Linux Mint greatly resembles the design of Windows 7. This makes it very easy for new users to get basics down. The default desktop environment in Mint is Cinnamon. Linux mint is based on Ubuntu and provides easy access to software with the MintTools Software Manager. Linux mint comes with many applications preinstalled such as Firefox, VLC Media Player, HexChat, VirtualBox, and many more useful programs. It includes essentially almost any application you would need to switch from Windows to Linux. Linux Mint is what you will want to choose if you are new to Linux. Overall if you are looking for a Linux distribution with a lot of preinstalled packages that you can use out of the box, as well as a friendly support community. Then this is the Linux distribution for you.

Latest version: Linux Mint 20.3 “Una” (Cinnamon)

Download Linux Mint

Arch Linux

Arch Linux is the operating system for someone who wants full control over there systems. By default the installation is very minimal requiring the user to install any additional software they may desire. Arch Linux uses a ‘rolling release’ schedule. This means that there are no ‘major releases’ of the operating system. All you need to update to the latest version of Arch Linux is a system update. This distribution provides bleeding edge updates for it’s packages. This means you will always have the most up to date versions of your software. This can come with both con’s as there could be bugs in the latest versions that have not been worked out yet. There is no default desktop environment on Arch as you will need to choose on yourself. I would recommend this distribution for intermediate to advanced Linux users as it takes a lot of configuration to get it usable. The benefit is once you have it fully configured it will be what you want, and only what you want. Without any additional unneeded software. If you are trying to understand how Linux works under the hood, then this distro is for you.

Latest version: Arch Linux 2022.06.01 / 2022.06.01

Download Arch Linux

Arch Linux Installation Guide

Manjaro 

Manjaro is another good Linux distro to install. This operating system is based on the Arch Linux. Unlike Arch, Manjaro focuses on user friendliness and user accessibility. Unlike Ubuntu or Debian, it uses the Pacman package manager. This is used to update your system, as well as to download and install new software. The first version of Manjaro was released in July of 2012, and the first beta version was released in late 2013.There are a variety of desktop environments you can choose when installing Manjaro. You can choose from Xfce, KDE, or Gnome. Manjaro comes with both a CLI as well as a GUI installer to choose from. 

Download Manjaro

Kubuntu

Kubuntu is an Ubuntu based Linux distribution that uses the KDE desktop environment. One of its benefits is that it shares the same package repositories as Ubuntu so you will have access to the same software. The project was originally sponsored by the company Canonical LTD until late 2012. Currently Blue Systems is the main contributor and maintainer for Kubuntu releases. If you are familiar with the Windows 10 operating system you will find the KDE desktop environment to be very similar and easy to use. Kubuntu is by far one of the nicest looking distributions sporting a modern desktop layout. Another great feature of using Kubuntu is its driver support. Almost every driver for audio, video, and networking will be preinstalled.

Download Kubuntu

Elementary OS

Elementary OS is a Linux distribution that was originally released in early March of 2011. It is a Ubuntu based distribution that uses the Pantheon desktop environment. One of the main things that set it apart is its custom GTK+ icon theme, and several in house developed applications. The default window manager for Elementary OS is Gala. The latest release is Juno. It was released in October 2018. Instead of using a strict release schedule, Elementary OS uses the “release when ready” cadence. Elementary OS is a great light weight distribution to install on your laptop or desktop computer.

Download Elementary OS

Lubuntu

Lubuntu is another great lightweight Ubuntu based Linux distribution to try. The name Lubuntu is a combination of the words LXQt and Ubuntu. Lubuntu first received official recognition as a member of the Ubuntu family in May of 2011. It originally used the LXDE desktop environment, but it now uses the LXQT environment. Lubuntu aims to be a functional yet module distribution focused on letting users use their computer in the way they want to use it. Lubuntu is known as a lighter version of Ubuntu. I would recommend using Lubuntu if you have an older computer or one with lower hardware specs.

Download Lubuntu

Linux Lite

Linux Lite is a distribution that was first released in 2012. It uses a custom Xfce desktop environment, and was originally based off of Debian. It is now based off of Ubuntu. Linux Lite’s main goal is to make the transition from Windows to Linux as seamless as possible. They use many customization options to make the distribution work and look the same as Windows. Linux lite uses the “Lite Software” package manager to install new applications. The latest version of Linux lite is version 6.2 “Fluorite”. It was released in November of 2022, and is based on Ubuntu 22.04.

Download Linux Lite

Related Resources

View our list of The Top 5 Programming Languages to Learn in 2022.

If you want to learn how to generate images with neural networks click HERE.

View our Programming Articles and Tutorials.

Learn more cool things in Linux with our Linux Tutorials.

View all of our available online tools and converters at Formatswap.com.