Installing ISPConfig 3 on a Linux VPS

ISPConfig 3 is a powerful open-source hosting control panel that allows you to manage multiple servers through a web-based interface. This guide will walk you through the automated installation process on a Debian or Ubuntu VPS.
Installing ISPConfig 3 on a Linux VPS
Contents

How to Install ISPConfig 3 on a Linux VPS

ISPConfig 3 is a powerful open-source hosting control panel that allows you to manage multiple servers through a web-based interface. This guide will walk you through the automated installation process on a Debian (v. 10+) or Ubuntu (v. 20 something +) VPS.

Prerequisites

  • A fresh installation of Debian 11+ or Ubuntu 22.04+. Lower versions may/should work but I haven’t tested them.
  • Root access to your VPS
  • A DNS “A Record” pointing a subdomain of your primary domain to the VPS IP.
    • E.g. If your domain is example.com, and your VPS IP is 123.456.78.90, you can create an A record for “server” with your registrar (or DNS provider like Cloudflare) and point it to your VPS IP. This way you will have a separate subdomain “server.example.com” pointing to your VPS IP.
  • Basic knowledge of Linux command line and navigating SSH.
    • I.e. don’t be a complete idiot and expect this guide to magically help. Use chat GPT if you need, but please please please verify the code before you blindly paste it into your terminal.

Color Codes for this guide:

Step 1: Prepare Your System

Log in to your VPS as root via SSH. Yes, root. You can use a tool like PuTTY.

Update your system because that is what you’re ‘supposed’ to do.

Configure your hostname

The hostname should be a subdomain like server.example.com and not your parent domain, example.com

Type the following to open your hosts file:

Alternatively, some users feel more comfortable doing this via FTP. You can use a program like FileZilla and navigate to ‘/etc/hosts‘.

It should look something like the top three lines. Do not paste verbatim. I am not including IPv6 capability data since this is more of a simple guide, and if you need that stuff you are probably better at this than I am.

On the last line, replace 123.456.78.90 with your IP and server.example.com with your actual Fully Qualified Domain Name (FQDN) I.e. your subdomain.

Then exit and save: (CTRL+O, then CTRL+X and “Y” to save if using PuTTY).

Set your hostname

Type the following to open your hostname file:

You only need to add one line of text at the top, which is your FQDN, I.e. your subdomain. Do not paste the example below.

Alternatively, some users feel more comfortable doing this via FTP. You can use a program like FileZilla and navigate to ‘/etc/hostname‘.

Reboot the VPS

Verify changes with hostname

Enter the following via SSH

It should say your subdomain E.g. “server.example.com” or if you somehow managed to do it ‘properly’, just the subdomain prefix “server“.

Then enter

It should say your FQDN (full subdomain) E.g. “server.example.com“.

Install ISPConfig

Check for updates

Again because you are good, follow directions, and do things properly.

Enter:

Run the ISPConfig autoinstaller

For Apache servers enter:

For Nginx servers enter:

For TellyMishka servers or any VPS hosted on the TelMis station, do not enter anything. The Station chief should have this configured already with an auto wget -O https://get.ispconfig.org/ command.

Wait and answer some questions

Once you run the installation code, it will be a little while (5-30 minutes depending on how much you shelled out for that VPS), so be patient. You will see various prompts requiring you to answer. The first one you will see is something like:

Type yes and press enter. It’s gonna be a little while now, so grab a coffee or whatever you like to drink. If any additional questions pop up, answer them accordingly, as each server is different.

Once the installation is finished, you will see a message telling you your admin and database root passwords (see above). Make sure to write them down, as you will need these when logging into the panel. Just don’t lose them because you will create another headache and that will be all on you. Put them in a .txt file on your desktop or a secure password manager, I’m not here to judge.

Change your Admin username and pass

Once the installation is complete, log in to your admin panel. this will usually be at “server.example.com:8080“, essentially the URL is your FQDN (subdomain) followed by a colon “:” and port 8080. Type ‘admin’ and paste the password that you hopefully saved. Then immediately change it so non of the annoying bot farms try to log in endlessly.

System >>> CP Users >>> Admin

Navigate to the menu at the top right (desktop version) of the ISPConfig control panel and click “system”

Then on the right, click “CP Users” and click on the admin account. Change the username AND password, and of course, don’t forget to save it. I use Proton Pass, but since they aren’t paying me, you can use whatever password manager you want. Just make sure it is reputable or you will have an entirely different issue to deal with.

Set up the toasty firewall

Now we need to set up that firewall. On that same page under the system tab, click the “Firewall” tab on the left (if using desktop) and click the green button that says “Add Firewall record”

Make sure the server is listed as your FQDN (that subdomain) and then add the following:

Under TCP add the following ports

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

Under UDP add this lonely sorry ass port:

53

If you want an explanation of what these ports are for, just google them. We’re here to get stuff done, not hold your hand through the process.

Also make sure that “Active” box is checked unless you like doing things for nothing.

And, you’re done

There is probably more you can do, but if you are reading this on my website, let’s just keep it real and assume you won’t be doing anything extra.

If this doesn’t work, search on the google for a better guide, I’m going to lunch.

More to think on...

3D illustration of a purple spherical virus particle with spike-like proteins against a blue microscopic background.
Hantavirus Updates

Track the latest verified hantavirus updates, including the MV Hondius cruise-linked cluster, Andes virus concerns, symptoms, transmission risks, and CDC-backed prevention guidance. This living public-health explainer is regularly updated with trusted sources from WHO, PAHO, CDC, and other health agencies.

Read More »
An illustrated group of diverse people gathered around a glowing scale balancing stacked documents and a heart, with galaxies, equations, and disputed data in the background.
When Numbers Stop Being Numbers

Why do casualty numbers lose emotional force as they grow larger? This reflective essay explores how humans understand — and often fail to understand — large numbers, from one million versus one billion to civilian casualty data in modern conflict. Drawing on observations from Objectivity AI’s year-long civic instinct cohort, the essay examines psychic numbing, scope insensitivity, casualty reporting, contested statistics, and the moral difference between correcting numbers and minimizing suffering. It argues that accuracy matters, but so does emotional context: when people debate whether a casualty figure is 70,000 or 100,000, the deeper issue is often not just the number, but whether the harm is being recognized at all.

Read More »
Illustration of a distressed man sitting on a bench between imagery of Israel, social media debate, antisemitism, and war damage.
Why Some People Still Support Israel in 2026: Gaza, Moral Conflict, and the Pro-Israel Mindset

As global criticism of Israel’s actions in Gaza intensifies through legal proceedings, humanitarian reports, UN votes, polling shifts, and public discourse, millions of people still remain strongly pro-Israel. This essay examines what that support looks like from the inside: the arguments, fears, moral tensions, identity pressures, media narratives, and rhetorical strategies that shape the pro-Israel mindset in 2026. Rather than endorsing or dismissing that position, it asks a harder question: how do people continue to defend Israel while processing the devastation in Gaza, the legacy of October 7, accusations of genocide and apartheid, and a world that increasingly views their position as morally untenable?

Read More »