fbpx
Home » Install and Configure ISPConfig Control Panel on Ubuntu 22.04

Install and Configure ISPConfig Control Panel on Ubuntu 22.04

How to Install and Configure ISPConfig Control Panel on Ubuntu 22.04

Install and Configure 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.

The ISPConfig control panel is a popular open-source web hosting control panel. It can be used to configure web hosting services and administer domain names, databases, and mail accounts. In this article, we will walk through the process of installing and configuring ISPConfig on Ubuntu 22.04.

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.

Before you can begin the installation process, you will need to have a compatible version of Ubuntu installed on the host machine. Ubuntu 22.04 is supported. In addition, you should have a domain name that points to an IP address on the server.

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

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: 20 GB

You also need to configure a hostname:

sudo hostnamectl set-hostname ispconfig.seoxoom.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 ispconfig.computingforgeeks.com

Save the file and verify the changes

$ hostname -f

ispconfig.computingforgeeks.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. [email protected]
    --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-upgrade

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.

ISPConfig-Control-Panel-on-Ubuntu-22.04-12-1024x511-1

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.

Change the admin password by navigating to Tools

Configure and use ISPConfig

To configure the firewall, click on System ->Firewall ->Add Firewall record

While here, you can update by adding or removing a port on the list and then save the changes

To add a client, navigate to the Client tab and click on Add new client

You will be required to provide the details such as the username, password, email and basic information about the Client

Once created, you can log in using the user

Now add a site by navigating to the sites -> Add new website

Now provide the details such as the Domain, Space, Traffic Quota, and PHP Version, then Save once complete.

The created site will be available as shown.

To access the site, click on the highlighted icon above. For Apache, you need to disable the default page

sudo a2dissite 000-default.conf
sudo systemctl restart apache2

If everything is okay, you should see your website as shown below:

Verdict

That marks the end of this guide on how to install and configure the ISPConfig Control Panel on Ubuntu 22.04. I hope you benefitted from this guide. That’s it! You should now be able to access your ISPConfig control panel and begin configuring your web hosting services.

Scroll to Top