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/flarumStep 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 apache2Step 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:clearRecommended 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