Docs / CMS & Website Platforms / How to Set Up Flarum Forum on a VPS

How to Set Up Flarum Forum on a VPS

By Admin · Mar 1, 2026 · Updated Apr 23, 2026 · 27 views · 2 min read

What Is Flarum?

Flarum is a lightweight, modern forum platform that emphasizes simplicity and speed. It features a clean, mobile-friendly interface with real-time discussions, @mentions, tags, and a growing extension ecosystem. Flarum is built on PHP and uses a MySQL database.

Prerequisites

  • A Breeze running Ubuntu 22.04 or later
  • PHP 8.1+ with extensions (curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip)
  • MySQL 5.7+ or MariaDB 10.4+
  • Composer installed
  • Apache or Nginx web server

Step 1: Create the Database

sudo mysql -u root -p
CREATE DATABASE flarum_db;
CREATE USER 'flarum_user'@'localhost' IDENTIFIED BY 'FlarumSecure2026';
GRANT ALL PRIVILEGES ON flarum_db.* TO 'flarum_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 2: Install Flarum via Composer

cd /var/www
sudo composer create-project flarum/flarum flarum
sudo chown -R www-data:www-data /var/www/flarum
sudo chmod -R 755 /var/www/flarum

Step 3: Configure Apache

sudo nano /etc/apache2/sites-available/flarum.conf
<VirtualHost *:80>
    ServerName forum.yourdomain.com
    DocumentRoot /var/www/flarum/public
    <Directory /var/www/flarum/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
sudo a2ensite flarum.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Step 4: Run the Web Installer

Open http://forum.yourdomain.com in your browser. Enter your forum title, admin credentials, and the database details you created. Flarum will complete the setup in seconds.

Installing Extensions

Flarum extensions are installed via Composer. For example, to add a Markdown editor:

cd /var/www/flarum
composer require flarum/markdown
php flarum cache:clear

Recommended Practices

  • Enable SSL with Let's Encrypt for secure connections
  • Set up a cron job for Flarum's scheduled tasks
  • Keep PHP and extensions updated for security

Was this article helpful?