Ensure the hostname of your Instance is a subdomain like server1.example.com
. Do not use a domain name without a subdomain part like example.com
as hostname, as this will cause issues later with your setup.
Installing ISPConfig on Ubuntu Linux
- hosting
- ISPconfig
- Ubuntu
- Linux
ISPConfig is an open-source, transparent, free, stable, and secure administration tool, available in more than 20 languages. ISPConfig simplifies the management of various web hosting services such as DNS configuration, domain name management, email, or FTP file transfer. It can be used to manage a single server, multiple servers for larger setups, or even mirrored clusters.
Before you start
To complete the actions presented below, you must have:
- A Scaleway account logged into the console
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
- An SSH key
- An Instance running on Ubuntu For performance reasons, we recommend using an Instance with at least 4 GB of RAM.
- A domain or subdomain pointed to your Instance
- Set the hostname and reverse DNS of your Instance to a valid FQDN
Installing ISPConfig
- Log into your Instance via SSH using the root account.
- Update and upgrade the software already installed on the Instance.
apt update && apt upgrade -y
- Configure the hostname of your Instance.
- Open the
/etc/hosts
file in a text editor and ensure it looks like the following example:IP address - space - subdomain.domain.tld - space - subdomain
.127.0.0.1 localhost.localdomain localhost# This line should be changed to the correct servername:127.0.1.1 server1.example.com server1# The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allroutersNote - Edit the file
/etc/hostname
and make sure it contains only the subdomain part of the hostname (e.g.server1
).
- Open the
- Reboot the Instance to apply the hostname configuration.
systemctl reboot
- Login again and check the hostname configuration using the following commands:
The output of the commands above shall be like this:hostnamehostname -fserver1server1.example.comImportant
Ensure a corresponding DNS record (A and/or AAAA) for the subdomain exists in your DNS zone and is pointing to the IP of your Instance.
- Download and run the ISPConfig auto-installer to install the panel with Nginx web server, a port range for passive FTP and unattended upgrades:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
Once the installation preparation is completed, you see a message as follows. TypeTipIf you want to install the Apache web server instead of Nginx run the following command instead:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgradesyes
and hit enter to continue 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:NoteThe installation can take several minutes. Once completed your ISPConfig admin and MySQL root password displays as follows:
[INFO] Your ISPConfig admin password is: AvWPfBrw9YVf1Da[INFO] Your MySQL root password is: GQP3R1efePK7TtJBd8W4[INFO] Warning: Please delete the log files in /tmp/ispconfig-ai/var/log/setup-* once you don't need them anymore because they contain your passwords!
Configuring the firewall
-
Open the ISPConfig UI (e.g.
https://server1.example.com:8080
) and log in with your credentials. -
Navigate to the firewall settings by clicking
System
->Firewall
. -
Click Add new firewall record to add a new rule.
-
Configure the firewall Rules:
-
TCP Ports: Add the following ports to allow necessary services:
- Web:
20, 21, 22, 80, 443, 40110:40210
- Mail:
25, 110, 143, 465, 587, 993, 995
- DNS:
53
- Panel:
8080, 8081
- Web:
-
UDP Ports: Add the following port for DNS:
- DNS:
53
)
- DNS:
-
-
Once you have added the necessary records, save the firewall configuration.
You now have finished the basic configuration of your server using ISPConfig. For further information and avanced configuration of your server, refer to the official ISPConfig documentation.con