Trying it anywhere
The Demo driver on any PHP and MySQL host or on Windows: the files and .htaccess, a sub-folder, the /manager/ /hosting/ /webmail/ paths, the wizard, and what is different from a real server.
The Demo driver lets you run the whole panel on a machine that is not a hosting server: a shared host, a VPS you do not want to hand over, a Windows PC. The panel keeps its own view of accounts, domains, DNS, mailboxes and databases in MySQL, and the File Manager works on real folders under data/demo-home/. Nothing else on the machine is touched.
Use it to learn the panel, to show it to a client, to develop plugins and themes, or to run a public demo site.
What you need
PHP 7.4 or newer with pdo_mysql, curl, json, mbstring, openssl and zip, and a MySQL or MariaDB database you may create tables in. See Requirements.
Put the files in place
- Unzip the AIOhPanel ZIP into a folder under your web root, for example
htdocs/aiohpanelorpublic_html/panel. The files must sit directly in that folder:index.php,install.php,includes/and the rest. - Make sure the hidden file
.htaccesscame along. On Apache it blocks the private folders (includes,data,cron,bin,languages,apiand the page folders) and sends every other address toindex.php. - The folder must be writable once, so the wizard can write
config.phpand createdata/.
No web server at hand? From the panel folder you can start PHP's own server and open it in the browser:
php -S 127.0.0.1:2086 -t .
A sub-folder is fine
Nothing assumes the panel lives at /. Put it in public_html/panel/ and it answers at https://example.com/panel/. Every link is built from the folder that holds index.php, and the .htaccess uses relative rules, so no RewriteBase is needed. On Nginx send every address that is not a real file to index.php and block the private folders listed above.
How you reach the three faces
On a real server the port tells the panel which face you want. On a demo host there is one address, so the first part of the path does:
| Address | Face |
|---|---|
/manager/ | Host Manager |
/hosting/ | Hosting panel |
/webmail/ | Webmail |
Open the bare address and the panel sends you to /manager/. Inside each face, every link keeps the right prefix by itself.
Run the wizard
Open the folder in the browser. With no config.php the wizard starts. Steps 1 to 5 are described in Installing on a server; the differences are:
- Step 2, Server driver: choose Demo - panel only, nothing on the machine is touched. The wizard writes
AP_DRIVERasdemoand sets the home folder root todata/demo-homeinside the panel folder. - Step 3, Server hostname: the wizard wants a name like
panel.example.com(two dots or more). Type one even though the machine is not that server. The licence is tied to this name. - Step 4, Licence: works exactly as on a server. Skip it to try the panel with one account.
Then sign in at /manager/ as root.
What is different in Demo
- The driver is named in the Host Manager footer and on the Home page: Demo driver.
- Actions that need a real service (restarting Apache, writing a BIND zone, sending a message through Postfix) are recorded in the panel and answered with a short "(demo)" message.
- Accounts get a folder under
data/demo-home/<user>/. The File Manager, the code editor, compress and extract, backups and the Webmail Maildir are all real files. - Terminal runs only a short list of safe commands (
ls,cat,echo,pwd,php,grep,find,du,dfand a few more), and does not allow;,|,&&or redirection. - Site Software writes starter files when it cannot download an application's archive.
- The system user, the virtual host and the PHP-FPM pool of an account do not exist, so a domain you add does not serve a web site.
Moving on to a real server
A demo install cannot be turned into a hosting server by changing one line, because the Linux driver needs the services that install.sh sets up. Install a fresh server as described in Installing on a server. Release the licence from the demo host first, on the Licence page, so the key is free for the new hostname. See The licence key.
Updated 2026-11-02