Saturday, December 28, 2024
Google search engine
HomeGuest BlogsHow To Install ISPConfig on Debian 12 (Bookworm)

How To Install ISPConfig on Debian 12 (Bookworm)

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.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm

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

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 1

Login using the admin credential provided earlier. If everything is okay, you will see the below dashboard.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 2

Now here, you can perform several management tasks. One of them is changing the admin password. Navigate to Tools and set your preferred password:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 3

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

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 19

You can add a new firewall rule as shown.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 4

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.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 6

Create a DNS zone by providing the required information.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 7

Once created, the zone will be available as shown:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 20

To add a user on ISPConfig Web Hosting Panel, navigate to System->CP users then add the user as desired.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 9

Provide the user details:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 8

To add a client, navigate to the clients tab.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 10

Provide the required details.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 14

We can also create a website on this panel in the sites tab

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 12

Provide the required details:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 15

Once created, you can access the site using the icon provided.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 16

Disable the default page for Apache:

sudo a2dissite 000-default.conf
sudo systemctl restart apache2

You will see the page as shown:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 17

You can also manage your databases for the site in the sites tab:

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 11

Add the database as shown.

Install ISPConfig Web Hosting Panel on Debian 12 Bookworm 18

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:

RELATED ARTICLES

Most Popular

Recent Comments