Tutorial

Set up your own web server

Turn a SnipeOS machine into a full web server with aaPanel in under an hour: one terminal command, then a couple of clicks. Prefer watching? See the aaPanel install video.

Video walkthrough

One command, save the credentials, open the panel, one-click the stack.

Terminal
curl -fsSL https://snipebrowser.com/os/install-aapanel.sh -o /tmp/install-aapanel.sh && sudo bash /tmp/install-aapanel.sh

Open on YouTube · aaPanel · Developers splash

What is aaPanel

aaPanel is a free, open source web hosting control panel that gives you a full production web stack through a clean browser-based interface: web server, database, PHP, FTP, DNS, mail, firewall, file manager, Docker, and more, all managed from one dashboard. It is the same class of tool as cPanel or Plesk, but free, and it runs well on SnipeOS 26.04 (including newer engines than the Ubuntu 22.04 baseline aaPanel was originally developed against).

On SnipeOS 26.04 you can pull PHP, Nginx, OpenLiteSpeed, MariaDB, and phpMyAdmin 5.2 from the panel itself, or take the Apache stack route.

Open a terminal and run one command

  1. Open the Snipe start menu (bottom-left).
  2. Go to System Tools, or Favourites if you keep QTerminal pinned there.
  3. Open the terminal (QTerminal).
  4. Paste and run:
Terminal
curl -fsSL https://snipebrowser.com/os/install-aapanel.sh -o /tmp/install-aapanel.sh && sudo bash /tmp/install-aapanel.sh

When prompted, enter your user password and press Enter. You will not see characters appear as you type (that is normal Linux behaviour, not a fault).

What the script does

The script runs seven steps automatically:

  1. Fixing apt CD-ROM sources
  2. apt update
  3. apt upgrade
  4. Ensuring aaPanel can detect the OS correctly
  5. Pre-installing aaPanel dependencies
  6. Downloading and running the official aaPanel English installer
  7. Checking and repairing any SnipeOS patches that may have been affected by the updates (default app links, performance patches, branding, and boot). This does not remove applications or browsers you installed; it focuses on keeping the remaster layers coherent.

A virtual machine in testing finished in a little over 35 minutes. A physical machine is usually faster.

Save your panel details

When the install finishes, the terminal prints your aaPanel URL, username, and password. Write these down or photograph them before closing the terminal. You cannot access the panel without the correct port and the URL path after the trailing slash.

If you miss them, run:

Terminal
bt default

To change the password later:

Terminal
bt 5

Accessing the panel

Use the internal address shown (localhost or a 10.x.x.x address) when accessing from the same machine. The external IP is for another machine on your network or from the internet.

When you first open the panel in Snipe Browser you will see a privacy warning because aaPanel uses a self-signed certificate on localhost. That is expected. Proceed via Advanced. Neither localhost nor a bare IP can have a real SSL certificate, but sites you host through aaPanel can use proper Let’s Encrypt certificates.

First login: install a web stack

Once inside, aaPanel offers to install a web stack. You can choose Multi-WebServer or Single WebServer. The video shows Single WebServer with Nginx 1.30 as the primary server, alongside MariaDB, PHP 8.4, phpMyAdmin, Pure-FTPd, DNS Server, and Mail Server. Click One-click and let it run.

If the task panel ever appears to freeze, click Message List on the left, then back to Task List. That wakes a console that has been running too long. It is known aaPanel behaviour, not an error.

Note on YaCy conflict

If YaCy is installed on the same machine, it and aaPanel will compete for ports 80 and 443. Uninstall YaCy first with the Uninstall YaCy guide before running this installer.

SnipeOS only (do not run elsewhere)

Important: This script is for SnipeOS only. Do not run it on vanilla Ubuntu, standard Lubuntu, or any other distribution.

Running it on a non-SnipeOS install could damage that system.

Not sure what you are running? Open a terminal and run fastfetch (SnipeOS identifies itself there).