Debian 10829 Published by

The post walks readers through installing FastPanel on a fresh Debian 11 VPS, starting with a quick system check and an update of essential packages like Nginx, PHP‑FPM, git, unzip, curl, and wget. It then advises stopping any competing web services, optionally creating a dedicated user to keep logs tidy, downloading the installer script from GitHub, and running it with root privileges so that FastPanel’s own Nginx configuration and SQLite database are set up automatically. After installation, the guide reminds users to change the default admin password, verify that both Nginx and PHP‑FPM are running, and optionally enable Let’s Encrypt SSL via the panel UI or manually with Certbot. Finally, it explains how to add a new domain in FastPanel’s interface, pointing out the automatic creation of an Nginx block and PHP pool for that site.



How to Install FastPanel on Debian 11

FastPanel is that slick, no‑frills web control panel that turns a plain VPS into a fully‑featured hosting solution. In the next few minutes I’ll walk you through installing it on Debian 11 from scratch—no fancy Docker tricks or obscure PPAs needed.

1 – Check Your System
uname -r && cat /etc/os-release

You want a clean Debian 11 image with at least 2 GB of RAM and root access. I once tried installing FastPanel on an old Buster box, ran into cryptic PHP errors, and had to rebuild the whole environment. Stick to Bullseye (Debian 11) and you’ll avoid that pain.

2 – Update & Install Dependencies
apt update && apt upgrade -y
apt install -y nginx php-fpm git unzip curl wget

FastPanel bundles its own Nginx config, so we need the server and PHP‑FPM runtime ready. The git, unzip, curl, and wget utilities are used later to pull the installer and extract archives.

3 – Disable Existing Web Services

If you already have Apache or another instance of Nginx running, stop it:

systemctl stop apache2 nginx || true
systemctl disable apache2 nginx || true

FastPanel will replace them with its own Nginx setup. Leaving the old ones active would cause port conflicts.

4 – Create a Dedicated User (Optional but Recommended)
adduser --disabled-password --gecos "" fpadmin
sudo -u fpadmin mkdir /home/fpadmin/fastpanel

Running FastPanel under its own user keeps logs tidy and limits accidental root damage. If you’re just testing, you can skip this step.

– Download the Latest Installer
wget https://github.com/FastPanel/Installer/raw/main/install.sh -O /tmp/fpinstall.sh
chmod +x /tmp/fpinstall.sh

The script is hosted on GitHub; no need to add third‑party repositories. The -O flag writes it directly to /tmp, which we’ll run as root.

6 – Run the Installer
sh /tmp/fpinstall.sh --force

What happens?

The script checks for missing packages, pulls FastPanel’s latest release from GitHub, installs the PHP‑FPM pool, configures Nginx, and sets up the initial SQLite database. It also creates an admin user named admin with a random password printed to your console—make sure you note it.

If you see errors like “Cannot open file for writing” or “Permission denied,” double‑check that you’re running as root and that /var/www/html is writable by the web server group.

7 – Harden the Installation (Optional)

FastPanel ships with a default “admin” password that isn’t meant for production. Change it immediately:

mysql -u admin -p

(If you’re using SQLite, just edit ~/.fastpanel/db.sqlite.)

Then run:

curl -X POST http://127.0.0.1:8080/api/auth/login \
     -H "Content-Type: application/json" \
     -d '{"username":"admin","password":"<old>"}' | jq .

Replace <old> with the random password printed earlier, then set a new one via the panel UI.

8 – Verify Everything Is Up

Open a browser and point it at http://your‑server-ip:8080. You should see FastPanel’s login screen. If you get a “502 Bad Gateway” or nothing loads, run:

systemctl status nginx php-fpm

Check that both services are active. If Nginx is dead, look in /var/log/nginx/error.log for clues.

9 – (Optional) Configure SSL

FastPanel can auto‑issue Let’s Encrypt certificates. From the UI, go to Settings => SSL and follow the prompts. I’ve found that the built‑in Certbot wrapper works great unless you’re behind a proxy; in that case, run Certbot manually on your host.

10 – Add Your First Domain

1. In FastPanel, click “Create Site.”

2. Enter example.com, select PHP 8.1 (or whatever you need), and choose the document root /var/www/example.

3. The installer will create an Nginx block, set up a PHP pool, and generate a self‑signed cert if SSL is enabled.

That’s it—your domain now points to your FastPanel‑managed host.

TL;DR: Update Debian 11 => install nginx/php-fpm => stop old web services => download and run the FastPanel installer => log in at http://ip:8080 => secure it with SSL.

Hope that helps, and enjoy turning your server into a full‑blown control panel without the headache of manual config files!