April 20, 2024

BitCuco

Hello World!

ISPConfig: Configuration Guide for your Hosting

ispconfig

Hello friends, today we will talk about ISPConfig, one of the most popular hosting panels of the moment. On other occasions we have analyzed other of these panels, such as the powerful Virtualmin or the flexible MyVesta.

These panels allow you to have a control of our server, allowing you to carry out all kinds of configurations in a completely automated way. Throughout this note I will explain in detail how to implement our Debian server with ISPConfig from scratch.

What is ISPConfig?

ISPConfig is a complete hosting control panel that will allow us to manage our servers from the web browser. This hosting control panel has several on the market and is one of the most used worldwide. Like Virtualmin and MyVesta, it is open source, under the terms of the BSD license. ISPConfig is developed by ISPConfig UG company. It presents a development model with continuous releases, which guarantees its stability and security. Remembering a little what was discussed in other notes, the hosting control panels allow us to perform all our administration tasks, such as domain management, email server management, among many other functions. As we progress through the note, we will see all aspects of ISPConfig in detail, and we will see some examples of everything we can do on our server.

ISPConfig has been in the market for several years, and is one of the most recommended when implementing this kind of control panels. Not only because of its free status, which means that we can implement it without incurring licensing costs. But for all the conditions that make it one of the best options when choosing. Remember that not everything free is free, and ISPConfig also offers business support for those who require it. This makes it not only for those who have the necessary knowledge, but also makes it ideal for all types of audiences. We will continue mentioning its main features and functions.

ISPConfig Services and Features

In this section we will detail everything we can do with our ISPConfig panel. Although we will not expand on each of the functions, it will serve to give you an idea of all the uses that we can give to our hosting control panel. We will start by saying that with ISPConfig we can manage a single or multiple servers from a single control panel. In turn, it is translated into more than 20 languages, including Spanish. Let’s start by listing the main features and services.

Server Management

ispconfig

Administration for a single or multiple servers from a single centralized control panel, regardless of whether they are physical or virtual instances.

Support for Linux distributions

ISPConfig has support for various Linux platforms by default. The recommended platforms to use ISPConfig are Debian and Ubuntu, but it can also be used on CentOS, or any binary compatible Red Hat derivative such as VZLinux.

Different levels of access

ISPConfig manages different roles or access levels for the system. They can be administrator, hosting reseller or client access. This is managed by assigning the users and the corresponding permissions to each one.

Managed services

Next I will list the services that we can manage with ISPConfig.

  • IPv4 support
  • IPv6 support
  • Websites
  • Name-based and IP-based virtual hosts
  • Website SSL
    • SNI support, allows more than one SSL vhost per IP address
    • CGI
    • PHP (PHP modes available for Apache: PHP-FPM and PHP-FCGI; for nginx: PHP-FPM
    • Individual PHP settings per website
    • SSI
    • Ruby (Apache only)
    • Python (Apache only)
    • Rewrite / redirect
    • Apache / nginx custom directives
    • Subdomains
    • Alias domains
    • Password protected folders (basic http authentication)WebDAV (Apache only)
    • FTP users
    • MySQL databases
    • Shell users (jailed and non-jailed), SFTP, SCP; password and key based logins
    • Email
    • SMTP
    • POP3, IMAP, POP3S, IMAP
    • E-mail accounts
    • Email aliases
    • Spam filter
    • Postgry gray list
    • DKIM mail signature
    • Virus filter
    • White lists
    • Black lists
    • Header and body checks
    • Autoresponder
    • Get emails from remote servers with getmail
    • Postman Mailing ListsPostman Mailing Lists
    • XMPP chat server
  • DNS
    • DNS wizard for easy zone creation
    • DNS records and zone management
    • Import tool for BIND zone files
    • DNSSEC
    • Supported record types: A, AAAA, ALIAS, CNAME, DKIM, DMARC, HINFO, MX, NS, PTR, RP, SPF, SRV, TXT
    • Master and slave DNS servers
  • Virtualization (via OpenVZ)
  • Firewall
  • Webalizer, GoAccess, and AWStats statistics
  • Quota / tráffic limits
    • Hard disk quota
    • Mail fee
    • Traffic limits and statistics

Add-Ons

Add-ons are modules with which the capabilities of a software can be extended. ISPConfig, like many other control panels, can extend its functions through these add-ons. Among them we can mention:

Billing module: Add billing functionality to ISPConfig. It is accessible from the administrator access level.

Migration Kit: allows you to migrate data from ISPConfig version 2, Plesk 10 – 12.5, Plesk Onyx and Confixx to a new instance, individual or multi-server, of ISPConfig version 3. It also serves to migrate data from an ISPConfig 3 server to another.

ISPProtect Malware Scanner – A commercially licensed malware scanner. It is developed by the ISPConfig team.

Extensions / Plugins: extensions available for Roundcube, Squirrelmail webmails, among others.

Installation

In this section we will cover the installation of the Debian 10 operating system, which will serve as the basis for ISPConfig 3. Here we will explain the step by step to be able to install Debian 10 on a physical machine or virtual instance. For those who want to implement ISPConfig in their own VPS, they can select from the virtual machine templates to Debian 10, in order to have a functional instance.

Installing Debian 10

For this note we have chosen, as usual, Debian 10 to carry out the implementation. We have already talked about this powerful and flexible operating system in previous notes, therefore, we recommend reading it to see more details. The first thing we will do is download an installation image.

In this case, we will opt for the net install or network installation, which will allow us to install a basic Debian 10 system. The image can be downloaded from the following link.

We will save the image to a USB drive or select it from the hypervisor from which we will virtualize. Once we boot we will find ourselves directly with the first configurations, referring to the location of the system, choosing our language, region and keyboard layout.

If you choose the option that says graphical installation or installation, the process will be more dynamic but with less possibility of customization. For most people, this option is more than fine.

debian instalador
Menu de Particionado

Then we will choose our machine name and domain name. Here they can already complement with the domain that they want to use later to access ISPConfig. Finally we will configure the root password and create a user. And we would have to partition the disk, something that we have already discussed in another of our notes. Once we define this, it will ask us if we want to write the data to disk and the installation of the system will begin.

At the end of the first part of the installation, we must configure the Debian repositories. In the case of installation in expert mode, remember to activate the non-free repositories. Finally we will select the additional to install. I recommend that you make the selection as in the following image.

debian buster
Selección de Paquetes

Finally, the installation of the grub boot loader will be carried out, and we will proceed to restart our computer. That’s it, we have our Debian 10 system installed.

Pre-installation steps for ISPConfig 3

With our Debian server already installed, we will proceed to install ISPConfig 3. ISPConfig can be installed in two ways: one manually and the other through a fully automated script. In order to reduce the margin for error and make installation easier, we will use the fully automated script.

The first thing we will do is check the Debian repositories. Those who did the graphical or non-expert installation, will need to modify the /etc/apt/sources.list file, in order to add the missing repositories. What they will do is edit the file with nano, and add the non-free and contrib lines to the repositories that only say main.

They can also disable font repositories (deb-src). The repositories would look like the image below. Once this is done, we will execute apt update in order to update and download the data from the new repositories.

debian buster
Repositorios

We would now be in a position to start the installation using the ISPConfig 3 script.

ISPConfig 3 Installation

Like other hosting control panels, the script is completely customizable. The first thing we will do is list the parameters available for installation:

wget -O – https://get.ispconfig.org | sh -s — –help

With this we will obtain an output with all the parameters that we can use for the installation. The default script installation includes Apache2, PHP (versions 5.6 – 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats, and GoAccess. In the following command, we will install a server that uses Nginx instead of Apache 2 and uses Certbot instead of acme.sh.

wget -O – https://get.ispconfig.org | sh -s — –use-nginx –use-certbot

ispconfig

These arguments are combinable with all the options thrown with the first command where we list the help. This is done to adapt the installation to what each one needs. It is also possible to use the command with the output “–interactive” to perform an expert mode installation. Once the tasks are finished, we will write down the keys that the script will give us at the end of the installation. Modify them in case you want another type of password.

And that’s all, we can access through our ip in port 8080 and log in with the admin user and the password provided by the script. The last step, once they enter the system, is to go to System, Firewall, Add New Record, and they will add the default ports that will appear. They are:

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

UDP: 53

ispconfig
Firewall

And with this we will have our ISPConfig server ready to use all the services previously installed.

ISPConfig: First Impressions

As you can see, ISPConfig presents a very complete interface from which we can manage all aspects of our VPS or dedicated server. One of the interesting things that MyVesta or Virtualmin (in its free version) does not handle, is the possibility of handling different profiles.

We can have an administrator from which to manage absolutely all the system parameters, and we can create portals for our clients, so that they can configure their own service. This makes ISPConfig a very interesting option when choosing a hosting control panel. In the image below you can see the interface localized to the Spanish language.

ispconfig
ISPConfig

In order to change the language, you must go to the Tools menu, and under User Preferences you will find the options to change the password and the language. The language change is done hot, without the need to log out of the system.

Although the interface is very clear, there may be some difficulty in finding things, so I highly recommend referring to the vast documentation of the project. To finish, the first thing to do is create the first DNS records, so that you can resolve the parked domains. With this, we can begin to define the rest of the parameters, from the website to the email.

Final thoughts

ISPConfig is a great free and very complete alternative to manage domains with different services. While its interface may at times seem unclear, it meets expectations. The interface works smoothly and the consumption of the server does not stand out with all the services it uses by default. Although it is not as light as MyVesta, which is somewhat lower in consumption.

I invite you to try it and tell us about your experiences. I hope the note has been to your liking, see you next time.