Installing BHPanel
BHPanel installs on a server running AlmaLinux 9, x86_64 or ARM64. A fresh install is best: the panel sets up the web server, PHP, databases, mail and DNS itself.
What you need
| Minimum | Recommended | |
|---|---|---|
| Light | 1 vCPU, 2 GB RAM, 20 GB disk | 2 vCPU, 4 GB RAM, 40 GB disk |
| Full | 2 vCPU, 4 GB RAM, 30 GB disk | 4 vCPU, 8 GB RAM, 60 GB disk |
The disk is mostly for your customers: a Light install itself uses about 5 GB with the operating system. If the server has no swap, the installer adds swap the size of its RAM, so a 2 GB server copes with a memory spike instead of stopping something. (A container VPS gets its swap from the host.)
- A server with AlmaLinux 9 and
root, or a user who can usesudo. - Your free license key from BiswasHost (optional at first: without one the panel works fully for 14 days).
Light or Full
| Light | Full | |
|---|---|---|
| Web server | Nginx + Apache (or OpenLiteSpeed) | the same |
| PHP | one version | every version, 5.6 to 8.x |
| Databases | MariaDB, phpMyAdmin | + PostgreSQL, MongoDB |
| Postfix, Dovecot, Rspamd, Roundcube | the same | |
| Also | DNS, FTP, Redis, Memcached, firewall, scanners | + Node.js |
Not sure? Choose Light. Every component in Full has an install button on the panel's Services page later, and it runs the same step the installer would.
Install
One line, as a user who can use sudo:
curl -fsSL https://releases.bhpanel.net/install.sh | sudo BHP_LICENSE=YOUR-KEY bash -s -- --beta --light
As root, leave sudo out:
curl -fsSL https://releases.bhpanel.net/install.sh | BHP_LICENSE=YOUR-KEY bash -s -- --beta --light
For Full, use --full instead of --light. Without either, the installer asks.
No key yet? Leave BHP_LICENSE=YOUR-KEY out and add the key later in the panel
under Server › License.
--beta takes the newest beta release: BHPanel is in public beta. Every
release is signed; before anything runs, the command checks the signature
against the BHPanel release key, the download's checksum and every file in the
archive, picks the build for your server's processor, and then starts the
installer. The release stays unpacked in /root/bhpanel-install/.
Put BHP_LICENSE=... after sudo: written before it, sudo drops it. You
can also pass the key as --license=KEY, but then it shows in the process list
while the installer runs.
Options
| Option | What it does |
|---|---|
--light |
Everything needed to run WordPress and PHP sites. |
--full |
Light plus every PHP version, PostgreSQL, MongoDB and Node.js. |
--stack=ols |
OpenLiteSpeed instead of Nginx + Apache (the default). |
--admin-user NAME |
The first administrator's name (default bhpadmin). |
--license=KEY |
The license key (or BHP_LICENSE=KEY). |
-y |
Ask nothing; take Light if no profile was given. |
--beta |
Take the newest beta release (the one-line command only). |
If it stops for disk quota
Each account's disk limit is enforced by the kernel's disk quota. On some
servers quota needs a change and a reboot first. The installer stops, says
exactly which change your server needs, and never reboots on its own. Make
the change, reboot, and run the same one-line command again: it carries on where
it stopped. (The installer it names is in /root/bhpanel-install/.)
When it finishes
The installer prints a one-time token. Open the admin panel in your browser and use the token to set the administrator's password.
- Administrator and resellers:
https://your-server:2087 - Customers:
https://your-server:2083
Turn on two-factor sign-in for the administrator straight away.
Checking where it stands
sudo bash /root/bhpanel-install/bhpanel-*/installer/bhpanel-install.sh status
It reports what is done and what is not, and changes nothing.