Installing ISPConfig 3 on a Linux VPS

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.