First install the test environment in aaPanel
Nginx 1.17
Mariadb 10.0
PHP 71

Create a website and enter your domain name
Choose to create a database

Install composer
If you have multiple php,Check if your php cli is 71
php -v

If not, please go to the panel switch

Start installing composer
Go to your site root directory
cd /www/wwwroot/test/

curl -sS https://getcomposer.org/installer | php

Check if composer works
php composer.phar

Set up the php environment
Remove these php functions that are disabled by default by the panel
putenv
pcntl_signal
proc_open

Install the file_info extension

Install FLARUM
composer create-project flarum/flarum . --stability=beta

If the process is killed during the installation process

Please add Swap in Linux Tools

If you see this prompt after the installation is complete, don't panic,
This is just a warning message for developers and means that Laravel / Flarum should take the time to update the Carbon dependency. It shouldn't cause any problems for you.
https://discuss.flarum.org/d/20607-upgrade-carbon-beta-9

Carbon 1 is deprecated, see how to migrate to Carbon 2.
https://carbon.nesbot.com/docs/#api-carbon-2
    You can run './vendor/bin/upgrade-carbon' to get help in updating carbon and other frameworks and libraries that depend on it.

Now you can access your FLARUM domain name.
If permissions denied,


Go to the site settings settings directory owner for www

Change your running directory to public

We also need to add this code to url-rewrite

# Pass requests that don't refer directly to files in the filesystem to index.php
location / {
  try_files $uri $uri/ /index.php?$query_string;
}

# The following directives are based on best practices from H5BP Nginx Server Configs
# https://github.com/h5bp/server-configs-nginx

# Expire rules for static content
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
  add_header Cache-Control "max-age=0";
}

location ~* \.(?:rss|atom)$ {
  add_header Cache-Control "max-age=3600";
}

location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ {
  add_header Cache-Control "max-age=2592000";
  access_log off;
}

location ~* \.(?:css|js)$ {
  add_header Cache-Control "max-age=31536000";
  access_log off;
}

location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {
  add_header Cache-Control "max-age=2592000";
  access_log off;
}

# Gzip compression
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
    application/atom+xml
    application/javascript
    application/json
    application/ld+json
    application/manifest+json
    application/rss+xml
    application/vnd.geo+json
    application/vnd.ms-fontobject
    application/x-font-ttf
    application/x-web-app-manifest+json
    application/xhtml+xml
    application/xml
    font/opentype
    image/bmp
    image/svg+xml
    image/x-icon
    text/cache-manifest
    text/css
    text/plain
    text/vcard
    text/vnd.rim.location.xloc
    text/vtt
    text/x-component
    text/x-cross-domain-policy;

You can now go to the FLARUM installation page.

Finally turn on firewall protection to our forum

Thanks for reading

    6 days later

    Followed this tutorial, but flarum doesn't work. It gives resource not found error.
    Do we need to make any changes in nginx config files? Please guide in more detail.

      aaPanel_Jose If we install composer in the site directory, it doesn't allow to run flarum install command, saying the directory isn't empty. So we have to install composer in any other directory

      php composer-setup.php --install-dir=/www/composer

      and run flarum installation with following command, while you are at /www/wwwroot/flarum/ [assuming you want to install flarum in flarum directory]

      sudo php /www/composer/composer.phar create-project flarum/flarum . --stability=beta

      Also we would need to update permissions

      sudo chown -R www:www /www/wwwroot/flarum

      Later we need to include /www/wwwroot/flarum/.nginx.conf file from flarum directory into nginx config.

      include /www/wwwroot/flarum/.nginx.conf

      We will also need to update root directory paths for flarum.

      For instance
      location / {
      try_files $uri $uri/ /index.php?$query_string;
      }

      This does not work unless you update it to:

      location /www/wwwroot/flarum {
      try_files $uri $uri/ /www/wwwroot/flarum/index.php?$query_string;
      }

      And we need to change paths in index.php file which is located in public folder. We will need to move all files from public folder to flarum or root directory, and then run it. Otherwise installation doesn't proceed fine.

      It is little complicated to setup flarum with nginx, however with apache we don't have to do much work arounds.

      5 months later
      a year later

      hello, please update the tutorial.

      3 months later

      Hello
      I did everythink what is in tutorial and I have blank page.
      Any ideas?

      2 months later

      I have installed successfully flarum/flarum (v1.0.0): on aaPanel 6.8.19 | PHP 73 | Apache 2.4.
      For me Apache is more easy and straightforward compare to NGINX.

      Same steps I followed from above:

      • Create a New web site with PHP73 ....

      • Get SSL certificate for your web site

      • Download the composer installer file (I use /opt/composer)
        cd /opt/composer
        curl -sS https://getcomposer.org/installer | php
        php composer.phar

      • create project for Flarum on different directory then move to your web site directory
        cd /opt/composer/flarum
        sudo php /opt/composer/composer.phar create-project flarum/flarum . --stability=beta
        mv /opt/composer/flarum/* /www/wwwroot/forum.test.com
        or user GUI: aaPanel Files manager to move files

      • change permission
        sudo chown -R www:www /www/wwwroot/forum.test.com
        or user GUI: aaPanel Files manager to change permission

      • Change running directory to public from Site directory on your web site.

      Done! and browse: https: // forum. test. com

      a year later

      aaPanel_Kern i will succses install,
      now i have isue API not found
      how to solved it's sir..?

      a year later

      I was struggling with this for a while.

      If you're following the OP guide, you must also:

      1. In your aaPanel, uncheck: Website > example.com > site directory > "Anti-XSS attack (Base directory limit(open_basedir)
      2. Set permissions to aaPanel user by running this command in your server terminal: sudo chown -R www:www /your/path/to/flarum

      Other than that, tutorial worked for me.

      Connect with us: πŸ“¨ Telegram πŸ’¬ Discord Email: support@aapanel.com