How to Install ISPConfig 3 on Ubuntu 22.04

ISPConfig 3 is an open-source web hosting control panel for Linux machines. It is a free alternative to popular control panels like cPanel, DirectAdmin, or Plesk.

ISPConfig 3 has a wide variety of features that allow system administrators to manage websites, emails, databases, DNS records, and all other system administration tasks through a web-based UI.

This free control panel supports Linux servers like CentOS, Ubuntu, Debian, etc. In this tutorial, we will show you how to install ISPConfig 3 on Ubuntu 22.04 (Jammy Jellyfish).

Prerequisites

  • Ubuntu 22.04 server
  • SSH root access or a regular system user with sudo privileges

Step 1. Login to the server

First, log in to your Ubuntu 22.04 server through SSH as the root user:

ssh root@IP_Address -p Port_number

You will need to replace ‘IP_Address‘ and ‘Port_number‘ with your server’s respective IP address and SSH port number. Additionally, replace ‘root’ with the username of the system user with sudo privileges.

You can check whether you have the proper Ubuntu version installed on your server with the following command:

# lsb_release -a

You should get this output:

No LSB modules are available.<br>Distributor ID: Ubuntu<br>Description: Ubuntu 22.04.2 LTS<br>Release: 22.04<br>Codename: jammy

Before starting, you have to make sure that all Ubuntu OS packages installed on the server are up to date. You can do this by running the following commands:

# apt update -y

Step 2. Configure Hostname

A hostname is a label used to identify a machine, and it will help you to distinguish your servers from the others. The hostname should be a Fully Qualified Domain Name (FQDN) and should point to the server IP address so you can access the server by using it. During the ISPConfig installation, an SSL certificate will be installed on this hostname. So, make sure to create a DNS record for your hostname as well.

You can use the hostnamectl command to check and set your server’s hostname.

# hostnamectl status

The command above will show you an output similar to this.

root@ubuntu22:~# hostnamectl status
 Static hostname: ubuntu.rosehosting.com
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 5a180b0bcff34b7a92e6bdaf4eb03a53
         Boot ID: e69e6d75d84248c0a16babaecc863fbc
  Virtualization: kvm
Operating System: Ubuntu 22.04.2 LTS
          Kernel: Linux 5.15.0-76-generic
    Architecture: x86-64
 Hardware Vendor: QEMU
  Hardware Model: Standard PC _i440FX + PIIX, 1996_

The value of the static hostname is the value you should look at.

In this step, we will change our Ubuntu 22.04 hostname; let’s execute it.

# hostnamectl set-hostname server.yourdomain.com

Make sure to replace server.yourdomain.com with your actual FQDN. After running the command above, you can check your hostname again by running ‘hostnamectl status‘ command.

Step 3. Download and Install ISPConfig

In this tutorial, we are going to install ISPConfig with Nginx, PHP (7.4 and 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Webalizer, AWStats and GoAcces. ISPConfig does not yet support mailman3, and mailman2 is no longer available in Ubuntu 22.04. So, Mailman will not be installed.

First, let’s go to /opt and download the ISPConfig 3 installation script.

# cd /opt
# wget https://get.ispconfig.org -O ispconfig.sh

Before executing the installation script, we need to disable apparmor.

# systemctl stop apparmor
# apt remove apparmor apparmor-utils -y

Now, let’s execute this command below to install ISPConfig3 with other services.

# bash ispconfig.sh --use-php=7.4,8.0,8.1 --use-nginx --use-ftp-ports=35000-40000 --lang=en --no-quota --unattended-upgrades

The command above will install nginx as the webserver, PHP 7.4, PHP 8.0, PHP 8.1, and FTP passive ports on ports 35000-40000, etc.

Once executed, you will see a message like this

WARNING! This script will reconfigure your complete server!<br>It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!<br>Type 'yes' if you really want to continue:

Type ‘yes’, then hit ENTER to continue. The script will start the ISPConfig 3 installation and the required packages, it will take some time to complete.

ISPConfig installation script requires PHP CGI to run; if it’s not installed, the script will install it.

At the end of the installation, you will see a message like this:

[INFO] Your ISPConfig admin password is: mCvsf1NQoJkfCJP<br>[INFO] Your MySQL root password is: 13reEEXE7VYx7brj8RH8<br>[INFO] Warning: Please delete the log files in /tmp/ispconfig-ai/var/log/setup-* once you don't need them anymore because they contain your passwords!

Step 4. Login to ISPConfig 3

Now, you should be able to access ISPConfig 3 at http://YOUR_SERVER_IP_ADDRESS:8080 using the credentials shown on your screen, save the passwords, then delete the log files /tmp/ispconfig-ai/var/log/setup-* because they contain sensitive information about your ISPCofig 3 installation.

# rm -f /tmp/ispconfig-ai/var/log/setup-*

Log in using the ‘admin’ password shown at the end of the installation. Once logged in, you will be brought to the dashboard.

We hope today’s post showed you how to install ISPConfig 3 on Ubuntu 22.04 easily and efficiently.

Now we want to turn it over to you:

Is there something you feel we missed or are you confused by any of the steps and would like us to clarify?

Are there any other topics and tutorials you would like us to cover?

Either way, let us know by leaving a comment below.

Leave a Comment