Web hosting panels can also be referred to as control panels. They allow users to manage various servers and hosted services. They provide several features and advantages that include one-click deployment, automated health alerts, mail server support, domain management, backup and security tasks. There are several Web hosting panels in the market today, the most popular ones are cPanel, Plesk, DirectAdmin, ISPConfig, Webmin etc.
ISPConfig is one of the popularly used Web Hosting Panel. It allows users to manage hosting environments using a web UI. It offers several features that make managing aspects of web hosting easier. The cool features make it a suitable choice for system administrators and hosting providers.
The features and benefits associated with ISPConfig are:
- Multi-Server Management: with ISPConfig, you can easily manage multiple servers from a central control panel. This can be significant to those who want to manage a cluster of servers in their environment.
- Domain and Website Management: ISPConfig makes it easier to manage domains, subdomains, and websites. It offers tools that can be used for domain registration, DNS management, virtual host configuration and deploying a website. It is also possible to manage email accounts, databases and FTP accounts for each domain
- Security and Access Control: ISPConfig supports secure FTP (SFTP), firewall, SSL/TLS certificates, firewall configuration, and IP address blacklisting. It also allows you to define the permissions and access levels for users which provides proper security to the systems.
- User and Reseller Management: You can also create user accounts with permissions and resources allocated to them. You can set up reseller accounts and allow users to resell hosting services under their own brand.
- Extensibility and Customization: ISPConfig is highly customizable. This means that you can extend its functionality using additional modules and plugins
- Open-Source and Community Support: As open-source software, ISPConfig benefits a lot from the large community of users and developers who provide support and contribute to its development.
In this guide, we will walk through how to install ISPConfig Web Hosting Panel on Debian 12 (Bookworm)
Step 1: Prepare Debian System
To be able to install ISPConfig Web Hosting Panel on Debian 12 (Bookworm), you need a system that meets the below specifications.
- CPU: 2 vCores
- RAM: 2 GB and above
- Space: 20 GB and above
You need to ensure that the hostname is set:
sudo hostnamectl set-hostname ispconfig.geeksforgeeks.org
You need to map the entry in the /etc/hosts file:
$ sudo vim /etc/hosts
127.0.0.1 ispconfig.geeksforgeeks.org
Verify the made changes:
$ hostname -f
ispconfig.geeksforgeeks.org
Update the system and the available packages:
sudo apt update && sudo apt upgrade -y
If a reboot is required, perform it.
[ -f /var/run/reboot-required ] && sudo reboot -f
Step 2: Install the Required Packages
Update Debian 12 repositories to include non free packages.
sudo tee /etc/apt/sources.list<<EOF
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free contrib non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
There are several packages required when installing ISPConfig on Debian 12 (Bookworm). One of the required packages is Getmail, you can install these packages manually if missing in the Debian repositories as required when auto-installing ISPConfig
wget http://ftp.de.debian.org/debian/pool/main/g/getmail6/getmail_6.14-1_all.deb
sudo dpkg -i getmail_6.14-1_all.deb
Once installed, proceed and install Unrar:
sudo apt update
sudo apt install vim rar unrar -y
Currently, ISPConfig doesn’t support Debian 12. For that reason, we will modify our /etc/os-release for our installer to use Debian 11 packages:
sudo sed -i 's/12/11/g' /etc/os-release
Source file.
source /etc/os-release
Remember to revert the changes after the installation is complete.
Step 3: Download and Install ISPConfig
Now download the ISPConfig Web Hosting Panel installer on Debian 12 (Bookworm). You can view all the available config options of the ISPConfig installer by executing:
$ 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.
......
When running, the installer, there are several config options you can use. Here, we will use Apache, 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-php=8.0 --use-ftp-ports=40110-40210 --lang=en --unattended-upgrades
Proceed with 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
Once complete, you will see the below output. You have the Admin and MySQL password. Save them as you may need them later.
Remember to modify the below file after the installation is complete:
sudo sed -i 's/11/12/g' /etc/os-release
Step 4: Access ISPConfig Web Hosting Panel
The ISPConfig Web Hosting Panel web interface can be accessed on port 8080. But first, ensure that the port is allowed through the firewall:
sudo ufw allow 8080/tcp
Then proceed and access the ISPConfig Web UI using the URL https://domain_name:8080
Login using the admin credential provided earlier. If everything is okay, you will see the below dashboard.
Now here, you can perform several management tasks. One of them is changing the admin password. Navigate to Tools and set your preferred password:
Step 5: Get Started with ISPConfig Web Hosting Panel
With ISPConfig Web Hosting Panel, there are several tasks you can perform. In this guide, I will demonstrate a few of these tasks.
The first task is configuring the firewall. This can be done by navigating to System ->Firewall ->Add Firewall record
You can add a new firewall rule as shown.
Another this you can do with the ISPConfig Web hosting panel is create and manage DNS zones. This can be done in the DNS tab as shown.
Create a DNS zone by providing the required information.
Once created, the zone will be available as shown:
To add a user on ISPConfig Web Hosting Panel, navigate to System->CP users then add the user as desired.
Provide the user details:
To add a client, navigate to the clients tab.
Provide the required details.
We can also create a website on this panel in the sites tab
Provide the required details:
Once created, you can access the site using the icon provided.
Disable the default page for Apache:
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
You will see the page as shown:
You can also manage your databases for the site in the sites tab:
Add the database as shown.
Verdict
That marks the end of this guide on how to install ISPConfig Web Hosting Panel on Debian 12 (Bookworm). Now you can easily manage your web hosting platform. I hope this was of help to you.
See more: