সার্ভারে ইনস্টল
root হিসেবে install.sh চালানো, ধাপে ধাপে কী কী বসে, প্যানেলের ছয়টি পোর্ট, আর পাঁচ ধাপের প্রথম ওয়িজার্ড: রিকোয়ারমেন্ট, ডাটাবেস, সার্ভার ও root, লাইসেন্স, শেষ।
On a fresh Linux server, install.sh does the work of the hosting panel's installer: it installs the services, places the panel, opens the ports and tells you where to finish in the browser. It takes a few minutes, most of it package downloads.
Before you start
- A fresh Ubuntu 22.04 / 24.04, Debian 12, AlmaLinux or Rocky 8 / 9 server, and the
rootuser. See Requirements. - A hostname such as
server1.example.comthat points at the server. Check it withhostname -f. - The AIOhPanel ZIP from your account on license.faruk.bd, and your licence key. See The licence key.
Run the installer
Upload the ZIP to the server, then as root:
unzip AIOhPanel-1.0.0.zip -d /root/aiohpanel-src
cd /root/aiohpanel-src
bash install.sh
You can also keep the ZIP next to the script and name it: bash install.sh ./AIOhPanel-1.0.0.zip. With no ZIP, the script downloads the latest one; the address can be changed with the variable AIOPANEL_ZIP_URL.
The installer refuses to run when it is not root, on an unsupported system, when Hosting Panel is already installed, or when AIOhPanel is already installed (installed.lock exists). Everything it does is written to /var/log/aiohpanel-install.log.
What it installs
In order, the sections of the script are:
- Packages. Apache with ModSecurity, nginx, MariaDB, BIND, Postfix and Dovecot, Pure-FTPd, PHP and PHP-FPM with the usual extensions, fail2ban, and tools such as
rsync,zip,quotaandsocat. On Ubuntu it adds the Ondrej PPA and PHP 7.4, 8.1, 8.2 and 8.3. On AlmaLinux and Rocky it adds EPEL and Remi. - The panel files go to
/usr/local/aiohpanel. The commandaiohpanelis linked into/usr/local/bin. - Users. A system user
aiohpaneland a sudo rule so the panel can manage the server, and anoshellprogram for accounts without shell access. - MariaDB. A database
aiohpanelwith its own user, and a random root password kept in/root/.my.cnf. The passwords are also in/etc/aiohpanel/db.passandmysql-root.pass. - config.php with the database login,
AP_DRIVERset tolinux,AP_HOME_ROOTset to/home, a random secret, and the licence productaiohpanel. - A PHP-FPM pool
aiohpanelon a socket, with 2 GB uploads and 512 MB memory. - A certificate for the panel ports, self-signed for ten years in
/etc/aiohpanel/ssl. - nginx on the six panel ports. Each face has an SSL port and a plain port that redirects to it. Folders such as
includes,data,cronandbinand the fileconfig.phpanswer 404. - Apache for the accounts' web sites, reading the virtual hosts the panel writes to
/etc/aiohpanel/apache/, plus a "suspended" page. - BIND reading
/etc/aiohpanel/named.zones. - Postfix and Dovecot with virtual mailboxes in Maildir, SMTP on 25, submission on 587, SMTPS on 465, IMAP and POP3 with SSL.
- Pure-FTPd with chroot, TLS and the passive range 30000-35000.
- acme.sh for Auto SSL (Let's Encrypt). If the download fails, Auto SSL uses self-signed certificates until it is installed.
- The firewall. With
ufworfirewalldrunning, it opens the ports listed in Requirements. - A timer.
aiohpanel-cron.timerruns the panel cron every 5 minutes, andaiohpanel.serviceputs extra IP addresses back after a reboot. See The panel cron. - The tables. It runs
db_update.phpand stores the MariaDB root password, the hostname and the main IP in the panel.
At the end it prints the addresses to open.
The wizard
Open https://<server-ip>:2087/. The browser warns about the self-signed certificate; accept it. The wizard has five steps, shown as 1 to 5 across the top. Because the installer already wrote config.php, it opens at step 3.
| Step | What you do |
|---|---|
| 1. Requirements | A checklist of PHP, extensions, writable folders and the driver (Linux - real services). |
| 2. Database | Host, port, database name, user, password and Server driver. Already filled in by install.sh. |
| 3. Server & root | Server hostname (a full name with at least two dots), Contact e-mail, Root password twice (8 characters or more), Primary and Secondary nameserver (empty means ns1. and ns2. plus the hostname) and Main shared IP. |
| 4. Licence | Type the key and press Activate, or Skip for now. |
| 5. All done | Links to the Host Manager and the hosting panel. |
Step 3 creates the root user, writes installed.lock and sets the hostname. After that the wizard cannot be run again, except for steps 4 and 5. If you leave before step 5, open https://<server-ip>:2087/install.php?step=4 to enter the key; once step 5 has been seen, the wizard closes for good and you manage the key on the Licence page.
After the wizard
- Sign in at
https://<hostname>:2087/asrootwith the password you chose. - Open Host Manager → Licence if you skipped the key. See The licence key.
- Set the nameservers under Server Configuration → Basic Host Manager Setup and add their A records.
- Check Server Status → Service Status and the cron line on the Home page.
- Create a package, then the first account. See Accounts and packages.
হালনাগাদ 2026-11-02