DEV Community

Siswoyo Siswoyo
Siswoyo Siswoyo

Posted on

Install ISPConfig with Nginx Webserver on Ubuntu 22.04

Introduction

ISPConfig is a very popular open‑source hosting control panel that lets
you manage websites, email accounts, DNS records, FTP, and more. Using
Nginx as the web server is typically more performant than Apache for
many scenarios (especially static content, reverse‑proxying etc). This
guide shows how to install ISPConfig 3 + Nginx on Ubuntu 22.04, starting
from a fresh system.

Important: This setup assumes a fresh, clean OS install with
minimal/no prior custom configuration. Doing this on a server with
many existing services/configs may lead to conflicts.
(howtoforge.com)

Prerequisites

Before you begin: - A server running Ubuntu 22.04 (64‑bit) with internet
access. - A hostname set correctly (see below). - A public IP address,
reachable, DNS configured (so your hostname resolves). - Ports such as
HTTP (80), HTTPS (443), and the ISPConfig panel port (8080) must not be
blocked. - You'll be logged in as root (or using sudo). - The OS should
be essentially "clean" (no major services already installed or
customised that the auto‑installer will clobber).

Step 1: Log in to the server

sudo -s
Enter fullscreen mode Exit fullscreen mode

Step 2: Configure the hostname and hosts file

  1. Pick a fully qualified domain name (FQDN) for your server such as
    server1.example.com. Do not just use example.com.

  2. Edit /etc/hosts:

    nano /etc/hosts
    

    and ensure you have a line like:

    127.0.1.1   server1.example.com   server1
    
  3. Edit /etc/hostname:

    nano /etc/hostname
    

    Put only the short hostname (e.g., server1).

  4. Reboot the server:

    systemctl reboot
    

    After reboot, verify:

    hostname
    hostname -f
    
  5. Ensure your DNS provider has an A (and/or AAAA) record for

    server1.example.com pointing to your server's public IP.

Step 3: Update the system

apt update && apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

Step 4: Run the auto‑installer for ISPConfig with Nginx

Now is the key part: installing ISPConfig and choosing Nginx as the web
server.

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades
Enter fullscreen mode Exit fullscreen mode

What the arguments mean

  • --use-nginx → use Nginx instead of Apache.
  • --use-ftp-ports=40110-40210 → set passive FTP port range for Pure‑FTPd.
  • --unattended-upgrades → enables automatic updates/upgrades.

After installation completes

You'll see the generated passwords, e.g.:

[INFO] Your ISPConfig admin password is: <password>
[INFO] Your MySQL root password is: <password>
Enter fullscreen mode Exit fullscreen mode

Ensure you record these.

Step 5: Setting up the firewall

Allow necessary ports through UFW or within ISPConfig UI → System →
Firewall.

TCP ports:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081
Enter fullscreen mode Exit fullscreen mode

UDP:

53
Enter fullscreen mode Exit fullscreen mode

Step 6: Finalizing

Log into ISPConfig panel:

https://server1.example.com:8080
Enter fullscreen mode Exit fullscreen mode

Login user: admin

Step 7: Advanced options

  • --channel=<stable|dev> → choose branch
  • --lang=en|de → choose language
  • --use-php=7.4,8.1 → install specific PHP versions
  • --no-mail → skip mail server
  • --no-dns → skip DNS server
  • --debug → detailed log in /tmp/ispconfig-ai/var/log/ispconfig.log

Example for minimal install:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades
Enter fullscreen mode Exit fullscreen mode

Step 8: Troubleshooting

  • Rerun with --debug if installation fails.
  • Check /tmp/ispconfig-ai/var/log/ispconfig.log for details.
  • Ensure fresh OS install to avoid config conflicts.

Summary

You can now manage websites, email, DNS, databases, and FTP through
ISPConfig 3 with Nginx on Ubuntu 22.04.

Reference:

Top comments (0)