Just another WordPress site

Tag: ubuntu

Download MariaDB Server

Download MariaDB Server

MariaDB Server is one of the world’s most popular open source relational databases and is available in the standard repositories of all major Linux distributions. Look for the package mariadb-server using the package manager of your operating system. Alternatively you can use the following resources:

MariaDB Server 11.0 brings many significant improvements to the query optimizer! Try it out and please let us know of your experience. We aim to incorporate all the feedback we receive.
You can read more about the optimizer improvements straight from the main author at Monty Says blog post!

 

MariaDB Server
MariaDB Server Repositories
Connectors
MariaDB Foundation provides packages for MariaDB versions newer than the version provided by the distribution only.

Version 10.6

Here are the commands to run to import the MariaDB repository key on your Ubuntu system:

sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Once the key is imported, copy and paste the following into a file under /etc/apt/sources.list.d (for instance /etc/apt/sources.list.d/mariadb.sources):

# MariaDB 10.6 repository list - created 2023-07-13 06:43 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/10.6/ubuntu
URIs: https://ftp.heanet.ie/mirrors/mariadb/repo/10.6/ubuntu
Suites: jammy
Components: main main/debug
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

You can now install MariaDB 10.6 from the MariaDB repository with:

sudo apt-get update
sudo apt-get install mariadb-server

Debug symbol packages, those that end in a ‘-dbgsym‘ suffix, are harmless to install. They are typically used to resolve stack traces and provide detail of perf recordings. They do not change the running behaviour of MariaDB. If in doubt, omit from installation.

If you need source packages, replace Types: deb with Types: deb deb-src in the /etc/apt/sources.list.d/mariadb.sources file. Then, you can obtain the mariadb source after installing dpkg-dev package, with apt-get source mariadb-server.

If you prefer to use the old “one-line-style” APT format, create the file /etc/apt/sources.list.d/mariadb.list with the following:

# MariaDB 10.6 repository list - created 2023-07-13 06:43 UTC
# https://mariadb.org/download/
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.6/ubuntu jammy main
deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://ftp.heanet.ie/mirrors/mariadb/repo/10.6/ubuntu jammy main
# deb-src [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://ftp.heanet.ie/mirrors/mariadb/repo/10.6/ubuntu jammy main

See Installing MariaDB packages for more information

Distribution

CentOS 7

Version 10.6

Here is your custom MariaDB DNF/YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d (we suggest naming the file MariaDB.repo or something similar).

# MariaDB 10.6 CentOS repository list - created 2023-07-13 06:44 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.6/centos/$releasever/$basearch
baseurl = https://ftp.heanet.ie/mirrors/mariadb/yum/10.6/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://ftp.heanet.ie/mirrors/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

EPEL repository may be required to satisfy the pv dependency of galera.

After the file is in place, install and start MariaDB with:

sudo yum install MariaDB-server MariaDB-client

If you haven’t already accepted the MariaDB GPG key, you will be prompted to do so during the install. See Installing MariaDB with yum for detailed information. Note the GPG was changed in January 2023 with more secure key. For more details see our blog article New GPG Release Key for RPMs.

Debian 11 (Bullseye)

Version 10.6

Here are the commands to run to import the MariaDB repository key on your Debian system:

sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Once the key is imported, copy and paste the following into a file under /etc/apt/sources.list.d (for instance /etc/apt/sources.list.d/mariadb.sources):

# MariaDB 10.6 repository list - created 2023-07-13 06:49 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/10.6/debian
URIs: https://ftp.heanet.ie/mirrors/mariadb/repo/10.6/debian
Suites: bullseye
Components: main
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

You can now install MariaDB 10.6 from the MariaDB repository with:

sudo apt-get update
sudo apt-get install mariadb-server

Debug symbol packages, those that end in a ‘-dbgsym‘ suffix, are harmless to install. They are typically used to resolve stack traces and provide detail of perf recordings. They do not change the running behaviour of MariaDB. If in doubt, omit from installation.

If you need source packages, replace Types: deb with Types: deb deb-src in the /etc/apt/sources.list.d/mariadb.sources file. Then, you can obtain the mariadb source after installing dpkg-dev package, with apt-get source mariadb-server.

If you prefer to use the old “one-line-style” APT format, create the file /etc/apt/sources.list.d/mariadb.list with the following:

# MariaDB 10.6 repository list - created 2023-07-13 06:49 UTC
# https://mariadb.org/download/
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.6/debian bullseye main
deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://ftp.heanet.ie/mirrors/mariadb/repo/10.6/debian bullseye main
# deb-src [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://ftp.he

 

 

Install Imunify360

Install Imunify360

Overview

This guide will show you how to install Imunify360 in Webuzo Control Panel. Imunify360 is the security solution for Linux web servers based on machine learning technology which utilizes a multi-layer approach to provide total protection against any types of malicious attacks or abnormal behavior including distributed brute force attack

Install Imunify360 Plugin

Please run the following command :

wget -N https://files.webuzo.com/plugins/imunify360/imunify360.sh

chmod +x imunify360.sh

./imunify360.sh

If ImunifyAV or ImunifyAV+ is already installed on your server you will be prompted to uninstall ImunifyAV. Type y to continue installing Imunify360.

Activate License

First, unregister your existing (trial) license key:
imunify360-agent unregister

After that, for key-based licenses, run:
imunify360-agent register YOURKEY

For IP-based licenses:
imunify360-agent register IPL

Use the word IPL, not an actual IP address for this command.

Admin Panel Screenshot

imunify360admin

Enduser Panel Screenshot

imunify360icon
imunify360enduser

How to Install Webuzo V3

Install Webuzo V3

Overview

Webuzo is a multi user shared hosting control panel which you can use to offer shared hosting and also offer 100s of applications via Softaculous. Installing Webuzo is very simple. This guide shows you how to install Webuzo on a newly installed Operating System.

NOTE : Webuzo v3 i.e. Multi User is stable however, till we make the v2 version upgrader to v3 we will still be keeping this in the release branch !

Requirements

  • Newly installed OS from the following list :
    – CentOS 7.x / 8.x
    – AlmaLinux 8.x / 9.x
    – Ubuntu LTS 18.04 / 20.04 / 22.04
    – Red Hat Enterprise Linux 7.x / 8.x
    – Scientific Linux 7.x / 8.x
    – Rocky Linux 8.x
    – CloudLinux 8.x / 9.x
  • YUM / apt-get / tar / wget packages installed
  • RAM – Minimum 1 GB (Recommended 2 GB for best performance)
  • Disk Space – Minimum 5 GB (Recommended 10 GB for best performance)
  • Open Ports – 2002, 2003, 2004, 2005, 21, 22, 25, 53, 80, 110,143, 443, 465, 993,995 , 587 and 3306 (It is recommended to keep these ports open on your server)
  • SELinux should be disabled

Note : There should be no PHP, Apache, MySQL installed on the server

Installation

Open a Shell Terminal (e.g. PuTTY) and SSH to your server. Run the following commands:

wget -N https://files.webuzo.com/install.sh chmod 0755 install.sh  ./install.sh // This will install the LAMP Stack, DNS Server and FTP server along with Webuzo

Parameters

Name Description Required
install The list of apps you would like to install
No

Default Apps

The –install parameter is optional and if it is not passed Webuzo will install the following apps by default :
Apache 2.4, MySQL 8.0, PHP 7.3, Pure-FTPd, Bind, Exim, Dovecot, GIT, Web Disk

If you want Webuzo to install default apps please use the following command :

./install.sh

No Apps

If you want Webuzo not to install any apps you can use the following value for install parameter :

./install.sh --install=none

Later you can install apps from Webuzo Admin Panel -> Apps -> Install an App page.

Selected Apps

If you want Webuzo to install selected apps you can pass the app names comma separated to the install parameter. E.g :

./install.sh --install=apache2,mariadb108,bind,exim,dovecot,php81,php80,php74

Below are app names for a few popular apps :

Web Servers

 

  • apache2
  • openlitespeed
  • lsws
  • nginx
  • nodejs
  • nodejs14
  • nodejs16
  • nodejs17
  • nodejs18
  • nodejs19

 

Database Servers

 

  • mysql80
  • mysql57
  • mariadb109
  • mariadb108
  • mariadb107
  • mongodb
  • pgsql
  • sqlite

 

Scripting Languages

 

  • php82
  • php81
  • php80
  • php74
  • php73
  • php72
  • php71
  • perl
  • python2
  • python3

 

Utilities

 

  • exim
  • dovecot
  • bind
  • pureftpd
  • sa (SpamAssasin)
  • jailshell
  • webdisk
  • varnish
  • django
  • passenger

 

Security

 

  • csf
  • clamav
  • cxs
  • ImunifyAV
  • ImunifyAV+
  • Imunify360

 

You can find a list softnames of all available apps here :
https://api.webuzo.com/apps.php?in=json

Use the softname values from the above list.

The installation will begin immediately. It may seem that the installation has stopped, if your network speed is slow, but please let it continue. You will see something like this when the installation is completed :

Install

This will setup the required Web Server and other important configurations. Note : A log file of the installation process will be created – /root/webuzo-install.log

Login to the Admin Panel

To login to the Webuzo Admin Panel, visit the following URL :
https://Your-IP:2005/
OR
http://Your-IP:2004/
The username and password will be the root credentials details of your server.

image

Panel Configuration

After the installation is completed we recommend you check the panel configuration. The Panel configuration is located at the Admin Panel -> Settings -> Panel Config. Please check the options there and correct anything which you feel is not correct as per the server.

Server IP, Hostname and Nameservers

Please enter a valid IP of this server and a hostname which will not be used by any user.
You will need to point your nameserver to the servers IP where you are installing Webuzo. Webuzo will ask you for the Primary Nameserver (e.g. ns1.example.com) and the Secondary Nameserver (e.g. ns2.example.com).
image

Create a user

Now that the Panel is configured we will create endusers / shared hosting users. The Add User wizard is located inside the Admin Panel -> Users -> Add User. Its a simple wizard and you just need to enter the users domain, username, password, email. You can then choose a hosting plan if you have created any or manually assign the resources to the user. You can also automate the process and link your billing systems like WHMCS, Blesta, etc. Following is the screenshot of the Add User wizard.

image
Add User Wizard

You can also create Resellers who can then create their own sub users. Please refer to our documentation for this.

Access the Enduser Panel

The Webuzo Enduser Panel is located at port 2002 and 2003 :
https://Your-IP:2003/
OR
http://Your-IP:2002/

To login to any user from the Admin Panel, simply visit the Users -> List Users Wizard and click on the icon in the Login column.

image

Enduser Panel Screenshot

image

Basic SSH Commands That You Should Know About

Basic SSH Commands That You Should Know About

Basic SSH Commands That You Should Know About

In this tutorial, we are going to cover 17 basic SSH commands that you should know about. By learning them, you will understand how to navigate and manage your VPS or server using the command line.

How to Access Remote Server

Before we begin, make sure that you have access to a remote server. If you own a VPS or Dedicated server, the login details are emailed to you by your hosting provider.

Pro Tip

SSH stands for Secure Shell, a protocol used to securely connect to a remote server or system. If you want to learn more about it, Hostinger has a detailed tutorial on how SSH works.

Now let’s start accessing your remote server:

  1. There are two recommended methods to establish an SSH connection:
    • Using an SSH client (PuTTY). It will require you to enter the server’s IP and the port number into the corresponding fields.
      The fields in PuTTY where you need to enter your server's IP address and port
    • Using the built-in command prompt (Windows) or terminal shell (Linux, macOS). You will need to write:
      ssh user@serverip

      Remember to replace “user” with your real username and “serverip” with your server’s dedicated or shared IP address.

  2. Once you click the Open button on PuTTY or enter the command on the terminal, you will be prompted for a password. If you are connecting to the server for the first time, you might get a warning message, telling you that the server is not recognized. Just hit Yes to continue.

That’s it. Now you’re connected to the server and can start executing SSH commands.

List of Basic SSH Commands

In this part, we will go through popular SSH commands, complete with their syntaxes and useful options.

Here’s a quick look of the basic SSH commands that we’ll cover in this article:

SSH Command Explanation
ls Show directory contents (list the names of files).
cd Change Directory.
mkdir Create a new folder (directory).
touch Create a new file.
rm Remove a file.
cat Show contents of a file.
pwd Show current directory (full path to where you are right now).
cp Copy file/folder.
mv Move file/folder.
grep Search for a specific phrase in file/lines.
find Search files and directories.
vi/nano Text editors.
history Show last 50 used commands.
clear Clear the terminal screen.
tar Create & Unpack compressed archives.
wget Download files from the internet.
du Get file size.

1. ls Command

This SSH command is used to list all files and directories. After entering ls, you will see an output that looks like this:

The output of ls command

There are also a few useful options that you can combine with it:

  • -l —  displays the details of the files, such as size, modified date and time, the owner, and the permissions.
  • -a —  shows hidden files and directories.

2. cd Command

cd (Change Directory) is the command that we use to jump between directories. It’s a pretty simple command — just type cd followed by the name of the directory:

cd [directory]

As such, if you want to enter the home directory of your server, you can type:

cd home

You may also write the full path of a certain directory if it is a few levels deep. For instance:

cd home/TestDirectory/AnotherDirectory

You are now in the AnotherDirectory.

To go back one level, you can simply enter “..” (two dots) after cd command. What’s cool, you can go back further by adding another two-dots and separating them with a forward slash (/):

cd ../..

By entering this line, you are in the home directory again.

3. mkdir Command

You can use mkdir (Make Directory) command to create a directory. This is the syntax:

mkdir [folder name]

Let’s assume you want to create a new folder named “myfolder”. You will need to type:

mkdir myfolder

4. touch Command

This SSH command is used to create a new file. Here is the syntax:

touch [file name]

If you want to create a .txt file named “myfile”, this is what you need to write:

touch myfile.txt.

The file extension could be anything you want. You can even create a file with no extension at all.

5. rm Command

rm command removes a chosen file or directory. To delete a file, enter:

rm [file name]

For instance, if you want to remove myfile.txt, simply execute:

rm myfile.txt

To delete a folder, you need to use the -r option to remove all the files and subfolders inside it:

rm -r home/hostinger/myfolder

6. cat Command

We use cat command to display the content of a file. Below is the syntax:

cat [file name]

It also allows you to create a new file by merging multiple files. For example:

cat info.txt info2.txt > mergedinfo.text

By executing this line, the content of info.txt and info2.txt will be saved into mergedinfo.txt.

7. pwd Command

pwd is a simple command that outputs the full path of your working directory. Once entered, you should see a result like this:

home/user/public_html

pwd command can come in really handy when you are accessing your site hosting account through SSH. Oftentimes, shared servers don’t tell you the directory you are in.

8. cp Command

This SSH command will copy files and folders. The syntax is:

cp [options] [source] [destination]

[source] is the file or folder you want to copy and [destination] is the duplicate.

Let’s say you have myfile.txt in your working directory, and you want to make a copy of it. The syntax would be:

cp myfile.txt myfile2.txt

If you want to make a copy in a different folder, run the following command:

cp /home/hostinger/myfile.txt /home/etc/

Be careful when writing the name of the destination. If you provide two file names, the cp command will copy the content of the source file into the destination file. Thus, the destination file will be overwritten without any warning. However, if the destination file doesn’t exist, then the command will create a new file.

[options] is not mandatory. However, there are several options that you can use:

  • -f — if you don’t have writing permission to the destination file, it’ll be deleted and the command will create a new file
  • -u — copy the source file if it is newer than the destination file.
  • -n — will not overwrite an existing file.
  • -a — archive the files.

Unlike duplicating files, copying folders requires you to use the -R (recursive) option. The option allows all folders and files inside it to be copied.

cp -R /home/hostinger/myfolder /home/etc/

9. mv Command

This command works similarly to cp. However, mv command will move the file or folder instead of copying it. This is the syntax:

mv [source] [destination]

Let’s say we want to move myfile.txt from /home/hostinger/ftp to /home/hostinger/myfolder/. The command should be:

mv /home/hostinger/ftp/myfile.txt /home/hostinger/myfolder

Unlike cp command, you don’t need the -R option to move a folder. For instance:

mv /home/hostinger/ftp/ /home/hostinger/myfolder/

This will automatically move all files and subfolders inside ftp to myfolder.

10. grep Command

grep command looks for a given string in files. For example:

grep 'line' info.txt

The above command would search for ‘line’ in a file named “info.txt”. What’s great, the command will print the entire line that contains the matched text.

The results of grep SSH command

Keep in mind that this command is case sensitive. If you want to ignore letter cases, use -i option.

11. find Command

We enter find SSH command to search for a file or files that meet the given criteria (name, size, file type, etc). The following is the basic syntax:

find [starting directory] [options] [search term]

[starting directory] is where you would like to start your search process. There are three main choices:

  • / (slash) — search the whole system
  • . (dot) — search the working directory
  • ~ (tilde) — search the home directory

[options] is an additional argument that you can use to refine your search. Some of the most popular options are:

  • -name — look for files based on their names
  • -user — search for files that belong to a given user
  • -size — look for files based on their sizes

[search term] is the keyword or number that you use to search for files.

Take a look at this example:

find . -name “index”

This command will return any files that have the word “index” on their names. And since we use “.” (dot), the command will only search the working directory.

We also have a great tutorial that provides an in-depth explanation about this SSH command.

12. vi/nano Command

Vi and Nano are two popular text editors that you can use in the command line. To open a file using Vi or Nano, you just need to enter:

vi [file name]

or

nano [file name]

If the specified file doesn’t exist, both text editors will automatically create it for you.

Unfortunately, some Linux distributions don’t offer Nano by default. Don’t worry, you can read our guide on how to install and use Nano.

13. history Command

This one is used to display the last used commands. You need to enter a number to limit the displayed results. For example:

history 20

As you probably guess, the example will show the 20 most recently entered commands.

14. clear Command

The function of clear command is simple — it clears all text from the terminal screen.

15. tar Command

tar is an SSH command that creates or extracts .tar.gz files. It is very popular because most third-party software binaries are in the .tar.gz format.

To archive a folder in .tar.gz format, use the following command:

tar cvzf ArchiveName.tar.gz /path/to/directory

To unpack a .tar.gz file, enter this command:

tar xvzf FileName.tar.gz

Notice that both commands use different four-character options — cvzf and xvzf.  Each letter represents a specific instruction:

  • x tells tar to extract files
  • c tells tar to create an archive
  • v stands for verbose. The option tells tar to display all file names that are processed by the command.
  • z instructs tar to uncompress the archive
  • f tells tar that you are supplying the name of the archive

16. wget Command

wget is used to download files from the internet. For example, to fetch a file from a website and store it in our current directory, we’ll use:

wget http://fileurl/filename.ext

If you want to download multiple files, put all URLs into a file and use the -i option.

Let’s say the file containing the links is called downloads.txt. The command will look like this:

wget -i downloads.txt

17. du Command

You can use du (Disk Usage) command to view the size of files and folders in a specified directory:

du [directory path]

Unfortunately, the summary will show disk block numbers instead of bytes, kilobytes, and megabytes. Therefore, to show it in a human-readable format, you need to insert the -h option after du command:

du -h /home

The results will be more understandable:

The results of du command

Check out this article to read more about du command.

How to Install FFmpeg on Linux, macOS, and Windows

How to Install FFmpeg on Linux, macOS, and Windows

FFmpeg is a cross-platform application that manages various types of multimedia files. The tool contains a set of shared audio and video libraries such as libavformat, libavutil, and libavcodec.

Furthermore, it decodes, encodes, mux, demux, streams, filters, plays, and transcodes media files. When converting video and audio files using FFmpeg, the tool will auto-detect the input and output formats.

FFmpeg is available as a command-line tool and supports different operating systems. In this article, we will explain how to install FFmpeg on Linux, macOS, and Windows.

If you want to install FFmpeg on your Linux VPS, connect to your machine via SSH before proceeding further.

How to Install FFmpeg on Linux

In this section, we will explain how to set up FFmpeg on popular Linux distributions like Ubuntu, Debian, CentOS, Fedora, and RHEL.

Installing FFmpeg on Ubuntu

There are two methods to install FFmpeg on Ubuntu – via the Personal Package Archives (PPA) and the default repository. The former contains a collection of software managed by the Ubuntu community and works best on Ubuntu 18.04 and older versions.

However, the installation must be done via the default repository if your machine runs Ubuntu 20.04 or 22.04.

Ubuntu 18.04

Here’s how to install FFmpeg via the PPA:

  1. Open the Terminal and log in as a root user.
  2. Install the software-properties-common package. This will allow you to manage the repositories you install the application from:
sudo apt-get install software-properties-common
  1. Once done, add mc3man PPA by adding the following command:
sudo add-apt-repository ppa:mc3man/trusty-media
  1. After the PPA is installed on the system, update the repository by running these commands consecutively:
sudo apt-get update
sudo apt-get dist-upgrade
  1. Next, install FFmpeg by typing in the command below:
sudo apt-get install ffmpeg

Ubuntu 20.04

Follow these steps to install FFmpeg via the default repository:

  1. Open the Terminal and access it via a root user.
  2. Update the system and packages installed by running both commands consecutively:
sudo apt update
sudo apt upgrade
  1. Insert the command below to install the FFmpeg application:
sudo apt install ffmpeg

Installing FFmpeg on Debian

There are two ways to install FFmpeg on Debian – via the default and multimedia repositories.

The former method serves Debian 9 and newer versions, while the latter applies to Debian 8 and older versions.

Debian 9

Here’s how to install FFmpeg using the default repository:

  1. Open the Terminal and log in via a root user.
  2. Update the package list and system by running both commands consecutively:
sudo apt update
sudo apt upgrade
  1. Next, install FFmpeg by adding the command below:
sudo apt install ffmpeg

Debian 8

FFmpeg is unavailable in the official Debian 8 or older repository. Therefore, users must add the Debian multimedia repository to install the codex by editing the sources.list file that contains the list of repositories the APT uses.

Follow these steps to install FFmpeg using the multimedia repository:

  1. Launch the Terminal and log in as a root user.
  2. Next, open the source.list file by typing in the following command. Use an editor such as nano or vi:
sudo vi /etc/apt/source.list
  1. Press I to enter Insert mode and start editing.
  2. Add the following lines at the end of the file:
# deb-multimedia
deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
# jessie-backports
deb http://httpredir.debian.org/debian/ jessie-backports main
  1. Save the file by pressing ESC and close the file by pressing : (colon) and q!
  2. Finally, update the system by typing in the command below:
sudo apt update
  1. Insert this command to install the deb-multimedia-keyring package:
sudo apt install deb-multimedia-keyring
  1. Update the system once again to ensure the changes were saved by running the command below:
sudo apt update
  1. Once finished, install the FFmpeg package by typing in the command below:
sudo apt install ffmpeg

Installing FFmpeg on CentOS, Fedora, and RHEL

FFmpeg package is not available in the official repository of CentOS, Fedora, and RHEL. Therefore, users need to install it using an additional repository.

CentOS 7

Here’s how to install FFmpeg on CentOS 7 using the Nux Dextop repository:

  1. Open the Terminal and log in as a root user.
  2. Install the EPEL repository by typing in this command:
sudo yum install epel-release
  1. Update the system and packages by running the following command:
sudo yum update
  1. Use these commands to install the Nux Dextop repository:
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
  1. Finally, type in this command to install the FFmpeg and its development package:
sudo yum install ffmpeg ffmpeg-devel -y

RHEL 7/8

Follow these steps to install FFmpeg on RHEL 7/8 via the RPM Fusion repository:

  1. Open the Terminal and access via a root user.
  2. Type in the command below and press Enter to update the system:
sudo yum update
  1. Install the EPEL repository by inserting this command and hitting Enter:
sudo yum install epel-release
  1. Next, run either of these commands to install RPM fusion:

RHEL 7

yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

RHEL 8

yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
  1. Install FFmpeg and its development packages by typing in the following command
sudo yum install ffmpeg ffmpeg-devel -y

Fedora

Here’s how to install FFmpeg on Fedora using the RPM Fusion repository:

  1. Open the Terminal and log in as a root user.
  2. Update the system by inserting the following command:
sudo dnf update
  1. Add the RPM Fusion repository to install FFmpeg by running the command below:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  1. Update the system once again to make sure the changes were saved by running the following command:
sudo dnf update
  1. Next, install FFmpeg and its development package by inserting this:
sudo dnf install ffmpeg ffmpeg-devel

Installing FFmpeg on Arch Linux

The official Arch Linux repository, the Packman package manager, provides the FFmpeg codex on their system. Here’s how to install it:

  1. Open the Terminal and log in to a user account with sudo privileges.
  2. Update the system packages by running the following command:
pacman -Syu
  1. Type in the command below to install FFmpeg:
sudo pacman -S ffmpeg
  1. Next, install the development package by inserting the following commands consecutively:
yay -S ffmpeg-git
yay -S ffmpeg-full-git
  1. Update the system once again by running this command:
pacman -Syu

Verifying the FFmpeg Installation

To verify the FFmpeg installation and check what version is running on the machine, insert the following command:

ffmpeg -version

The output should look as shown below:

Verifying the FFmpeg version on Linux

How to Install FFmpeg on macOS

Follow these steps to set up FFmpeg on macOS:

  1. Download the FFmpeg package from the official website.
  2. Choose the Static builds for macOS 64-bit. This will redirect you to the evermeet.cx site.
  3. Select the ffmpeg-5.0.1 version.
  4. Open the downloaded file. This will extract it using the Archive Utility and create an executable FFMpeg file.
Extracting FFmpeg using the Archive Utility tool on macOS
  1. Launch the Home folder by opening Finder and using the keyboard shortcut CMD + Shift + H, or clicking the Go button on the menu bar and clicking Home.
  2. Go to File and click the New folder. Rename it to audio-orchestrator-ffmpeg and press Return to confirm the change.
  3. Open the newly added folder and create a new folder labeled bin.
  4. Move the FFmpeg file from Downloads to the newly created bin folder.
  5. Double-click to open the FFmpeg file. When the “ffmpeg” can’t be opened because it is from an unidentified developer.” message appears, press OK.
FFmpeg error message on macOS
  1. Go to System Preferences and select Security and Privacy.
  2. Choose the General tab.
  3. When a new error message appears, click Open Anyway.
macOS security and privacy window
  1. Another pop-up will appear stating that “macOS cannot verify the developer of “ffmpeg”. Are you sure you want to open it?”. Click Open.
macOS security verification window
  1. Double click the FFmpeg file, and a new Terminal window will open. Close it only when the process is complete.
FFMpeg installation process on macOS
  1. Congratulations, you have successfully installed FFmpeg.

How to Install FFmpeg on Windows

Before the installation process, it is vital to have a ZIP file utility installed on your system. Here’s how to install FFmpeg on Windows:

  1. Download the FFmpeg package from the official website.
  2. Choose the Windows builds from gyan.dev. This will redirect you to the gyan.dev website.
  3. Select the ffmpeg-git-full.7z version.
  4. Once downloaded, right-click the FFmpeg folder and select Extract files.
  5. Once done, open the extracted folder and copy and paste all the EXE files from bin to the root folder of your hard drive. For example, create a separate folder on the Local Disk (C:) to store all the files.
A separate folder for FFmpeg .exe files
  1. Type “environment properties” on the search tab and click Open.
  2. This will open the System Properties window. Go to the Advanced tab and choose Environment Variables…
System properties information on Windows
  1. Go to the System variables section. Select Path from the list and click Edit.
User and system variables information on Windows
  1. Choose New and add the FFmpeg path of the folder you have created previously to store the EXE files.
Adding a new path on environment variable on Windows
  1. Once done, click OK to save your changes. This will close the Edit environment variable window.
  2. Select OK to close the Environment Variables window and click OK once again to close System Properties.
  3. Open the Command Prompt window or type “cmd” in the search tab.
  4. Run the following command to verify that FFmpeg is installed:
ffmpeg
  1. The following output should appear, showing the FFmpeg version and default configuration settings:
Checking the FFmpeg installation on Windows
  1. Congratulations, You have successfully installed the FFmpeg application on your system.