HomeHow ToHow To Install ISPConfig...

How To Install ISPConfig Control Panel on Ubuntu 22.04

The main task of a Linux system administrator revolves around monitoring the Linux system hardware and software, performing installations and upgrades while maintaining all the essential services and applications. In many scenarios, these activities are executed via the command line. This is mainly because the command line(server editions) is lightweight and hence faster as compared to GUI editions. However, this is a limitation since running commands on the command line require one to memorize all the commands for the tasks. For that reason, many organizations around the world have preferred Windows systems where things are managed from a point-and-click GUI.

To eliminate this hassle and see Linux adopted by several organizations, developers have developed independent GUI-based tools with abilities to manage some particular system areas and perform associated administrative tasks. These tools include Apache Directory, phpMyAdmin, MySQL Workbench, Webmin, Ajenti, Shorewall, cPanel, Cockpit, CUPS, YaST e.t.c

What is ISPConfig?

ISPConfig is an open-source web hosting control panel for Linux systems. It allows system admins to manage sites, email addresses, FTP accounts, MySQL and MariaDB databases, Shell accounts, DNS records, and Cron jobs through a web-based UI. It supports several Linux distributions such as CentOS, Debian, Ubuntu, Fedora, and OpenSUSE.

The cool features provided by ISPConfig include:

  • Complete Web Server management for both Apache and Nginx servers.
  • BIND Server and DNS server management.
  • Mail server management with spam and antivirus filters using Postfix (MTA) and Dovecot (IMAP).
  • Website statistics with Webalizer and AWStats.
  • Administrator, Reseller, Client, and Mail-user login accounts.
  • Ability to manage single or multiple servers from one control panel. Using the Master/Slave Setup

Install ISPConfig Control Panel on Ubuntu 22.04

This tutorial covers how to install and configure ISPConfig Control Panel on Ubuntu 22.04

Getting Started

For this guide, you will require an Ubuntu 22.04 system with the following:

  • CPU: 2 vCores
  • RAM: 2 GB and above
  • Space: 25 GB

DNS Setup

You need to create few records for domain to get started. They are as follows.

Set up ISPConfig 3 on Ubuntu

TypeHostValue
A@Your IP address
AmailYour IP address
Aserver1Your IP address
MX@mail.yourdomain.com 10
TXT@v=spf1 a mx ip4:server-ip ~all
TXT_dmarc“v=DMARC1;p=none;sp=none;pct=100;adkim=r;aspf=r;rua=mailto:mail@Yourdomain.com;ruf=mailto:mail@Yourdomain.com;ri=86400;fo=1”

You also need to configure a hostname:

sudo hostnamectl set-hostname isp.localdomain.com

Add the hostname to /etc/hosts

$ sudo vim /etc/hosts
#127.0.0.1 localhost.localdomain   localhost
# This line should be changed to the correct servername:
127.0.0.1 isp.localdomain.com isp

Save the file and verify the changes

$ hostname -f
isp.localdomain.com

Update the system.

sudo apt update && sudo apt upgrade -y

Run the ISPConfig Installer

ISPConfig provides an installer that makes it easy to perform the installation and other underlying configs. To view all the available configuration options for the installation execute the command:

$ wget -O - https://get.ispconfig.org | sudo sh -s -- --help
********************************************************************************
ISPConfig 3 Autoinstaller
********************************************************************************

Usage: ispc3-ai.sh [<argument>] [...]

This script automatically installs all needed packages for an ISPConfig 3 setup using the guidelines from the "Perfect Server Setup" howtos on www.howtoforge.com.


Possible arguments are:
    --help          Show this help page
    --debug         Enable verbose logging (logs each command with the exit
                    code)
    --channel       Choose the channel to use for ISPConfig.
                    --channel=<stable|dev>
                    "stable" is the latest ISPConfig release available on
                    www.ispconfig.org
                    "dev" is the latest dev-branch from the ISPConfig git
                    repository:
                    https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop
                    -> The dev channel might contain bugs and less-tested
                    features and should only be used in production by very
                    experienced users.
    --lang          Use language for ISPConfig installation. Specify with
                    --lang=en|de (only en (English) and de (German) supported
                    currently).
    --interactive   Don't install ISPConfig in non-interactive mode. This is
                    needed if you want to use expert mode, e. g. to install a
                    slave server that shall be integrated into an existing
                    multiserver setup.
    --use-nginx     Use nginx webserver instead of apache2
    --use-amavis    Use amavis instead of rspamd for mail filtering
    --use-unbound   Use unbound instead of bind9 for local resolving. Only
                    allowed if --no-dns is set.
    --use-php       Use specific PHP versions, comma separated, instead of
                    installing multiple PHP, e.g. --use-php=7.4,8.0 (5.6, 7.0,
                    7.1, 7.2, 7.3, 7.4, 8.0 and 8.1 available).
                    --use-php=system disables the sury repository and just
                    installs the system's default PHP version.
                    ommiting the argument (use all versions)
    --use-ftp-ports This option sets the passive port range for pure-ftpd. You
                    have to specify the port range separated by hyphen, e. g.
                    --use-ftp-ports=40110-40210.
                    If not provided the passive port range will not be
                    configured.
    --use-certbot   Use Certbot instead of acme.sh for issuing Let's Encrypt
                    certificates. Not adviced unless you are migrating from a
                    old server that uses Certbot.
    --no-web        Do not use ISPConfig on this server to manage webserver
                    setting and don't install nginx/apache or pureftpd. This
                    will also prevent installing an ISPConfig UI and implies
                    --no-roundcube as well as --no-pma
    --no-mail       Do not use ISPConfig on this server to manage mailserver
                    settings. This will install postfix for sending system
                    mails, but not dovecot and not configure any settings for
                    ISPConfig mail. It implies --no-mailman.
    --no-dns        Do not use ISPConfig on this server to manage DNS entries.
                    Bind will be installed for local DNS caching / resolving
                    only.
    --no-local-dns  Do not install local DNS caching / resolving via bind.
    --no-firewall   Do not install ufw and tell ISPConfig to not manage firewall
                    settings on this server.
    --no-roundcube  Do not install roundcube webmail.
    --roundcube     Install Roundcube even when --no-mail is used. Manual
                    configuration of Roundcube config is needed.
    --no-pma        Do not install PHPMyAdmin on this server.
    --no-mailman    Do not install Mailman mailing list manager.
    --no-quota      Disable file system quota
    --no-ntp        Disable NTP setup
    --monit         Install Monit and set it up to monitor installed services.
                    Supported services: Apache2, NGINX, MariaDB,
                    pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot,
                    rspamd.
    --monit-alert-email
                    Set up alerts for Monit to be send to given e-mail address.
                    e.g. --monit-alert-email=me@example.com
    --unattended-upgrades
                    Install UnattendedUpgrades. You can add extra arguments for
                    automatic cleanup and automatic reboots when necessary with
                    --unattended-upgrades=autoclean,reboot (or only one of
                    them).
    --i-know-what-i-am-doing
                    Prevent the autoinstaller to ask for confirmation before
                    continuing to reconfigure the server.

For this guide, we will run ISPConfig with Nginx, PHP 8.0, MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats, GoAcces.

wget -O - https://get.ispconfig.org | sudo sh -s -- --use-nginx  --use-php=8.0 --use-ftp-ports=21-22 --lang=en --no-quota --unattended-upgrades

You can also use Apache in the setup

wget -O - https://get.ispconfig.org | sudo sh -s --  --use-php=8.0 --use-ftp-ports=21-22 --lang=en --no-quota --unattended-upgrades

Proceed by confirming the installation.

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

You will be granted the Admin and MySQL password. Save these passwords as you may need them later.

[INFO] Your ISPConfig admin password is: rdYbg8JJUcPbv44
[INFO] Your MySQL root password is: nFFjc1WnBD13opcz18Fm

Login to ISPConfig Web UI

Once the installation is complete, log in to the ISPConfig Web UI using the URL https://domain_name:8080

Provide the creds for the admin user. Use the password displayed during the installation. Once authenticated, you will see the below dashboard.

Setting up the firewall

The last thing to do is to set up our firewall.

Log in to the ISPConfig UI, and go to System -> Firewall. Then click “Add new firewall record”.

For a normal setup, it would look like this:

TCP:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

The necessary ports for every service are:

Web: 20, 21, 22, 80, 443 and 40110:40210 (All TCP, no UDP)

Mail: 25, 110, 143, 465, 587, 993, and 995 (All TCP, no UDP)

DNS: 53 (TCP and UDP)

Panel: 8080 and 8081 (All TCP, no UDP)

- A word from our sponsors -

spot_img

Most Popular

More from Author

How To Install aaPanel on Ubuntu Ubuntu 22.04.5 LTS

Managing a server can be a daunting task, especially for those...

How To Install Fail2Ban on Ubuntu 24.04.2 LTS

Introduction Any service that is exposed to the Internet is at risk...

How to Install Webmin on Debian 12

Introduction Are you searching for a step-by-step guide to install Webmin on...

Installing Let’s Encrypt Free SSL Certificate on iRedMail

In our previous guides, we saw how one can install and...

- A word from our sponsors -

spot_img

Read Now

How To Install aaPanel on Ubuntu Ubuntu 22.04.5 LTS

Managing a server can be a daunting task, especially for those who are not well-versed in command-line interfaces. Fortunately, control panels like aaPanel simplify this process significantly. This article provides a comprehensive guide on how to install aaPanel on Ubuntu 24.04 LTS, ensuring you have a powerful...

How To Install Fail2Ban on Ubuntu 24.04.2 LTS

Introduction Any service that is exposed to the Internet is at risk of malware attacks. For example, if you are running a service on a publicly available network, attackers can use brute-force attempts to sign in to your account. Fail2ban is a tool that helps protect your Linux machine...

How to Install Webmin on Debian 12

Introduction Are you searching for a step-by-step guide to install Webmin on Debian 12? This simple tutorial is for you! Webmin is a free, open-source web-based control panel that simplifies Linux server management right from your browser. Its intuitive dashboard lets you handle various configurations, including user accounts, disk...

Installing Let’s Encrypt Free SSL Certificate on iRedMail

In our previous guides, we saw how one can install and configure iRedMail Server. The default installation of iRedMail generates and install a self-signed SSL certificate for Mails services – POP3/IMAP/SMTP over TLS and for HTTPS access to webmail services. When using a self-signed certificate, you’ll often get...

APT sources.list entries for every Debian release

/etc/apt/sources.list entries for every Debian release since Wheezy, including archived releases Debian uses APT as package installation and update manager. This also applies to a distribution (release) upgrade. Usually not much changes in the APT configuration, except the code name. But sometimes, the /etc/apt/sources.list file needs some adjustments...

Debian / Ubuntu Linux restart network interface

In this article, we will see How to restart Network Interface in Debian and Ubuntu. We can restart the networking service in Linux using various command. Use the following commands as per your Linux distribution to restart the networking service. You must run the command as root...

Install iRedMail on Debian 12

What is iRedMail? iRedMail is a shell script that automatically installs and configures all necessary mail server components on your Linux/BSD server, thus eliminating manual installation and configuration. With iRedMail, you can easily create unlimited mailboxes and unlimited mail domains in a web-based admin panel. Mailboxes can be...

VirtualBox : Advanced Features and Practical Use

When using a traditional you need to install the operating system on a physical machine for evaluating software that cannot be installed on your current operating system. Oracle VirtualBox is what you need in this case, instead of reinstalling software on your physical machine. VirtualBox is designed...

Configuring a Static IP address on your Ubuntu (24.04, 24.10+) Server

To configure a static IP address on Ubuntu Server 24.10, follow these simple steps. Step 1 : Update and Install net-tools First, update your server and install the net-tools package, which includes essential networking utilities like ifconfig. sudo apt update sudo apt install net-tools Step 2 : Check Ethernet Interfaces Use the ifconfig...

Parrot virtualbox install and erorrs kernel

Option 1: Blacklist Many distros use a module blacklist to disallow module loading. Normally this can be done by adding these lines to your distro's modules.conf or similar. You might try reading man modules.conf or googling for directions for your specific distribution. blacklist kvm_intel blacklist kvm Option 2: Unload An alternative is...