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

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

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

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: 
[INFO] Your MySQL root password is: 

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

UDP:

53

Step 6: Finalizing

Log into ISPConfig panel:

https://server1.example.com:8080

Login user: admin

Step 7: Advanced options

  • --channel= → 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

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:

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

Mastering Web Internationalization

Next Post

Java String getBytes() Explained: Your Ultimate Guide to Character Encoding

Related Posts