Skip to content

Deploy AikoPanel

Env

Minimum For AikoPanel V3 ( v3.1.0+ )

  • Core: 1 Core ( AMD 7763 or same )
  • Ram: 2GB (With Mysql 8+) or 4GB (With MariaDB 10.7+) [Recommended]
  • SSD: 20GB+
EnvironmentVersion
SystemLinux
PHP7.4
MariaDB10.7+
MySQL8.0+
Redis7.0+
Nginx1.21+

There are alternatives to the above environments, for example, nginx you can use caddy

The above environment version numbers are minimum requirements and may be higher than the actual requirements.

Install

  1. Configure aaPanel
  • You need to choose how your system is installed in aaPanel. Ubuntu 20+ or Centos 7+ is installed here as the system environment.

  • Be sure to install aaPanel using Ubuntu 20+ or Centos 7+, other systems may have unknown issues.

  1. Install Redis and fileinfo
  • aaPanel panel > App Store > PHP 7.4 and click Setting > Install extentions > redis, fileinfo,ioncube to install.
  1. Remove prohibited functions
  • aaPanel Panel > App Store > PHP 7.4 Click Setting > Disabled functions will be removed from the list.

    • putenv
    • proc_open
    • pcntl_alarm
    • pcntl_signal
    • exec
  1. Add a site
  • aaPanel panel > Website > Add site.
    • Fill in the domain name, select the PHP version, and select the database type as MySQL.
    • in Database, and PHP-74 in PHP Verison, and select MySQL in Database Type.
  1. Install AikoPanel
  • After logging in to the server via SSH, access the site path such as: /www/wwwroot/ Your site domain name.

  • The following commands need to be executed in the site directory.

chattr -i .user.ini
rm -rf .htaccess 404.html index.html .user.ini .well-known
  • Execute the command to clone from Github to the current directory.
git clone https://github.com/AikoPanel/AikoPanel.git ./
  • Execute commands to install dependent packages and AikoPanel
sh init.sh
  • Follow the prompts to complete the installation
  1. Configure the site directory and pseudo-static
  • After adding, edit the added site > Site directory > Running directory Select /public to save.

  • After adding, edit the URL of the added site > rewrite and fill in the pseudo-static information.

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header CF-Connecting-IP;

location /downloads {
}

location / {
    try_files $uri $uri/ /index.php$is_args$query_string;
}

location ~ .*\.(js|css)?$
{
    expires      1h;
    error_log off;
    access_log /dev/null;
}
  1. Configure a scheduled task
  • aaPanel Panel > Cron. - In Type of Task, select Shell Script, fill in AikoPanel - in Name of Task, select N Minutes in Period, select N Minutes 1 Minute , fill in PHP php /www/wwwroot/AikoPanel/artisan schedule:run in Script content
  • Based on the above information, add a scheduled task that is executed every 1 minute.
  1. Start the queue service
  • AikoPanel's system relies heavily on the queue service, and the queue service must be started to use AikoPanel normally. The following is a demonstration of the supervisor service in aaPanel to guard the queue service.

  • aaPanel Panel > App Store > Tools

  • Find the Supervisor to install, and after the installation is completed, click to fill in as follows Setting > Add Daemon - In Name, fill in AikoPanel , select www in Run User, select Site Directory in Start Command, fill in php artisan horizon, fill in 1 in Processes

  • After filling in, click Confirm to add and run.

frequently asked questions

  • Q: 500 error
  • A: Check the root directory permissions of the site, recursive 755, ensure that the directory has the permission of writable files, it may also be caused by the Redis extension not installed or Redis not followed. You can check the logs under storage/logs to troubleshoot errors, turn on debug mode, and disable anti-cross-site in site settings.