ধাপে ধাপে: খালি সার্ভার থেকে চালু প্যানেল
পুরো পথ ক্রমানুসারে: কী লাগবে, ইনস্টলার, প্রথমবারের উইজার্ড, লাইসেন্স একটিভ, প্রথম সেটিংস, প্রথম হোস্টিং অ্যাকাউন্ট, প্লাগিন, চালু রাখা, আর কিছু ভুল হলে কী করবেন।
This is the whole road: a fresh server, the installer, the first-run wizard, the licence, the first hosting account, and what to check before you hand accounts to customers. Every step says what you should see, so you know you are on track.
Step 0 - what you need before you start
| Item | Notes |
|---|---|
| A fresh server (VPS or dedicated) | Ubuntu 22.04 / 24.04, Debian 12, AlmaLinux 8 / 9 or Rocky 8 / 9. Nothing else installed on it (no other control panel, no web server you set up by hand). |
| Root access | SSH as root, or a user with sudo. |
| A hostname | A fully qualified name such as server1.example.com. Point an A record at the server's IP before you install; the licence is bound to this name. |
| Two nameserver names (optional) | ns1.example.com and ns2.example.com pointing at the server, if the server will host DNS for its accounts. |
| Your licence key | From your account on https://license.faruk.bd (it looks like AIOP-XXXX-XXXX-XXXX-XXXX). |
| The zip | AIOhPanel-<version>.zip from license.faruk.bd. |
| Open ports | 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 2082, 2083, 2086, 2087, 2095, 2096, 30000-35000. The installer opens them in ufw / firewalld; a cloud firewall (AWS, Hetzner, DigitalOcean...) must be opened by you. |
Step 1 - put the zip on the server and run the installer
ssh root@YOUR-SERVER-IP
hostnamectl set-hostname server1.example.com # the name the licence will be bound to
apt-get install -y unzip # (Ubuntu / Debian) or: dnf install -y unzip (AlmaLinux / Rocky)
mkdir -p /root/aiohpanel-src && cd /root/aiohpanel-src
# upload AIOhPanel-1.1.0.zip here with scp / SFTP, then:
unzip -o AIOhPanel-1.1.0.zip
bash install.sh
The installer takes 5 to 15 minutes. It prints a blue ==> line for each stage:
- package lists and packages (Apache, nginx, PHP-FPM, MariaDB, BIND, Postfix, Dovecot, Pure-FTPd, cron, acme.sh, fail2ban),
- the panel files in
/usr/local/aiohpanel, theaiohpanelsystem user and its sudo rule, - MariaDB with the panel database and a random root password (kept in
/root/.my.cnfand/etc/aiohpanel/mysql-root.pass), - the panel's PHP-FPM pool, a self-signed certificate for the panel ports,
- nginx on 2082 / 2083 (hosting panel), 2086 / 2087 (Host Manager), 2095 / 2096 (webmail),
- Apache for the accounts' websites, BIND, Postfix + Dovecot, Pure-FTPd, acme.sh,
- the firewall ports, the systemd timer
aiohpanel-cron.timer(every 5 minutes) and the first database update.
At the end it prints the two addresses to open. If a stage warns, read /var/log/aiohpanel-install.log.
Checks: systemctl status nginx apache2 mariadb named postfix dovecot pure-ftpd (on AlmaLinux: httpd
instead of apache2) are all active; ss -ltn shows 2083 and 2087 listening.
Step 2 - the first-run wizard (in the browser)
Open https://YOUR-SERVER-IP:2087/ (the browser warns about the self-signed certificate; continue).
The wizard has five steps:
- Requirements - PHP version, extensions, writable folders, the driver (Linux). Everything must be green; press Continue.
- Database - already filled in by install.sh (host 127.0.0.1, database
aiohpanel, useraiohpanel, the password from/etc/aiohpanel/db.pass). Driver: Linux. Save and continue. - Server & root user - the hostname (
server1.example.com), your contact e-mail, the root password of the panel (this is the Host Manager sign-in, not the Linux root password; 8 characters or more), the two nameservers (empty =ns1./ns2.+ hostname), the main IP. Create root user and continue. - Licence - paste the key from license.faruk.bd and press Activate. The panel binds the key to the hostname. (You may Skip for now: the Host Manager then allows one trial account until a key is entered on Host Manager -> Licence.)
- All done - the sign-in links.
Step 3 - sign in to the Host Manager
https://server1.example.com:2087/ -> user root, the panel password from step 3. The home page shows
the server numbers, the licence badge (Valid) and the function groups. If the licence bar at the top
says "no active licence", open Licence in the left menu and activate the key there.
Step 4 - first settings (10 minutes)
In this order, all in the Host Manager:
- Server Configuration -> Basic Host Manager Setup: contact e-mail, nameservers, the shared IP, the default theme. Save.
- Networking Setup -> Nameserver Selection and DNS Functions -> Add an A Entry for Your Hostname: so
server1.example.com,ns1andns2resolve from the server itself. - Service Configuration -> Service Manager: every service green; the Cron card shows the heartbeat ("ran x minutes ago"). If it says "never ran", run
systemctl start aiohpanel-cron.timer. - Security Center -> Brute Force Protection: on (default). Add your office IP to the whitelist so you are never locked out.
- Security Center -> Two-Factor Authentication: scan the QR code with Google Authenticator for root.
- SSL/TLS -> Manage Auto SSL: provider Let's Encrypt, on. Auto SSL runs from the cron every day; press Run Auto SSL for all once the first domains exist.
- Service Configuration -> Manage Service SSL Certificates: after Auto SSL has a certificate for the hostname, install it for the panel, mail and FTP services so the browser warning goes away.
- Packages -> Add a Package: e.g.
Starterwith 5 GB disk, 50 GB bandwidth, 10 e-mail accounts, 2 databases. - Hosting Panel -> Branding: your logo and brand name (every account sees them).
- Backup -> Backup Configuration: on, daily, keep 7. (Cloud Backups plugin for S3 / FTP / Google Drive.)
Step 5 - the first hosting account
Account Functions -> Create a New Account: domain customer1.com, a username (or let the panel make one), a
strong password, the contact e-mail, the package, Create. The panel makes the Linux user and home, the
Apache virtual host with its PHP-FPM pool, the DNS zone, the mail domain and the FTP login.
Then Account Information -> List Accounts -> the blue Hosting Panel button on its row
opens that account's hosting panel without its password. Try: File Manager (upload an index.html),
Email Accounts (create one and sign in to https://server1.example.com:2096/), Manage My Databases,
Zone Editor, SSL/TLS Status -> Run Auto SSL.
The customer signs in at https://server1.example.com:2083/ (or https://customer1.com:2083/ once the
domain resolves) with the username and password you gave.
Step 6 - plugins and themes
Plugins -> Manage Plugins: switch on Site Software, Terminal, Security Advisor, Cloudflare (free). Premium plugins (WordPress Toolkit, Malware Scanner, Cloud Backups, Firewall Manager, Midnight theme) switch on when their addon is on the licence; buy them on aiohpanel.com/marketplace, then Licence -> Check now. Security Center -> Security Advisor gives a to-do list of hardening steps for the server.
Step 7 - keep it running
aiohpanel statuson the server: licence, services, load, accounts.- Host Manager -> Server Status -> Service Status and Task Queue Monitor.
- Updates: extract
AIOhPanel-<version>-update.zipover/usr/local/aiohpanel(it never carriesconfig.php,installed.lockordata/), then Software -> Upgrade to Latest Version oraiohpanel db:update. - The licence re-checks itself twice a day; if license.faruk.bd is unreachable the panel keeps working for 7 days (the grace window).
If something goes wrong
| Symptom | Where to look |
|---|---|
| The wizard says a PHP extension is missing | apt-get install php-<ext> / dnf install php-<ext>, then Check again. |
https://ip:2087 does not open | systemctl status nginx, nginx -t, the firewall (step 0). |
| Licence "domain mismatch" | The hostname changed after activation: Licence -> Check now re-binds once; otherwise release the key on license.faruk.bd and activate again. |
| An account's site shows the default Apache page | apachectl configtest; Host Manager -> Restart Services -> HTTP Server. The vhost files are in /etc/aiohpanel/apache/. |
| Mail does not arrive | Service Status (Postfix, Dovecot), Email -> Mail Queue Manager, Mail Troubleshooter, the domain's MX in the Zone Editor, port 25 open at the provider. |
| "Too many failed sign-ins" | Brute Force Protection locked your IP for 15 minutes. Wait, or sign in from another IP and whitelist your own under Security Center -> Brute Force Protection. |
| Anything else | /usr/local/aiohpanel/data/logs/*.log, /var/log/aiohpanel-install.log, and the manual on https://aiohpanel.com/docs. |
হালনাগাদ 2026-11-02