Install with aaPanel
For anyone with a Linux server who wants a GUI. About 15 minutes.
The panel used here is aaPanel (the international edition of BaoTa). Menu and button names below are written exactly as they appear in the panel.
For something quicker, see Docker — three minutes, and no database to install.
Step 1: Install aaPanel
aaPanel recommends Ubuntu 22.04. It also supports CentOS 7, Debian 10/11/12, Ubuntu 18.04/20.04, AlmaLinux 8/9 and Rocky Linux 8. You need at least 1 CPU core and 512 MB of RAM; 1 GB or more is better. Start from a freshly installed system if you can.
SSH into the server as root and run the installer for the free edition:
URL=https://www.aapanel.com/script/install_panel_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO $URL ;else wget --no-check-certificate -O install_panel_en.sh $URL;fi;bash install_panel_en.shIf the command has changed, use the current one from https://www.aapanel.com/new/download.html.
It takes a few minutes. When it finishes it prints the panel URL, username and password. Write them down.
Step 2: Install the runtime
The first login suggests a software stack. Choose LNMP (Nginx + MySQL + PHP), then pick versions:
| Component | Choose |
|---|---|
| Nginx | Any version |
| MySQL | 5.7 or newer |
| PHP | 8.0 or newer, ideally 8.2 |
Click install and let it run — about 10 minutes.
aaPanel's PHP already includes bcmath, which every money calculation in the program depends on, so there is nothing extra to install. gd, curl, zip and pdo_mysql are normally there too.
The first step of the installer checks your environment and lists anything missing. If something is, add it under App Store → your PHP version → Setting → Install extensions, then refresh.
Step 3: Create the site
- Website → Add site
- Enter your domain (or the server IP if you do not have one yet)
- Leave the root directory at the default,
/www/wwwroot/your-domain - Under Database, choose
MySQL. The database name, username and password are generated for you — write them down - Under PHP version, choose the version you installed
- Submit
Step 4: Upload the source
- Download the archive from https://faka.wiki/download.php (or straight from GitHub if that is fast for you)
- In aaPanel → Files → open the site root, usually
/www/wwwroot/your-domain - Upload the archive and right-click → Unzip
- If extraction produced an extra folder (for example
acg-faka-main), go inside, select everything and move it up so thatindex.phpsits directly in the site root
You should be able to see
index.php,app,kernelandconfigdirectly in the root.
Step 5: Configure URL rewriting
Skip this and only the home page works — every link 404s.
Website → click your site → URL rewrite, paste the whole nginx rewrite block, and save.
On Apache there is nothing to do; the .htaccess in the project root already covers it.
Step 6: Fix directory permissions
In Files, select the site root → Permission → set the owner to www and apply it to subdirectories.
The program needs to write to four places: config, runtime, kernel/Install, assets/cache.
Step 7: Run the installer
Open your domain in a browser:
- Environment check — install extensions or fix permissions for anything with a red cross
- Database — the name, user and password aaPanel generated in step 3; host is
127.0.0.1 - Admin account — the email and password for the admin panel
- Install, and wait for it to finish
The admin panel is then at https://your-domain/admin.
Next
- Domains, HTTPS and multiple domains: see domains and HTTPS certificates
- Make it fast: performance tuning — installing Redis makes a dramatic difference
- Start using it: quick start
Common problems
| Symptom | Cause |
|---|---|
| Only the home page loads, everything else 404s | URL rewriting not configured — back to step 5 |
| Blank page / 500 | Check runtime.log in the site root — the real error is usually there. If you have not finished installing, look for red crosses in the installer's environment check |
| Installer says a directory is not writable | Permissions — back to step 6 |
| Cannot connect to the database | Host should be 127.0.0.1, with the credentials aaPanel generated |
See also troubleshooting.
