Flarum logo
Flarum
Preview of the Vultr management interface for Flarum on a mobile device.
Flarum logo|trans
Flarum
Preview of the Vultr server deploy page control panel for Flarum on a web browser.

About Flarum

The community framework for small to enterprise communities that is extensible, scalable and completely free!

Flarum is a delightfully simple discussion platform for your website. It's fast, free, and easy to use, with all the features you need to run a successful community. It's also extremely extensible, allowing for ultimate customizability.

Flarum Details

To view the publicly accessible instance, visit https://use.your.ip/. See our instructions to bypass the HTTPS warning for self-signed SSL/TLS certificates if a Commercial or Let's Encrypt SSL/TLS certificate is not going to be installed (instructions for both options are below).

Configuration and Administration

Default Administrator Account

  • Username: flarumAdministrator Username
  • Password: Administrator Password

If all administrators are going to be trusted to manage Flarum extensions, extensions can be managed via the web interface by running the following as the root user:
# cd /var/www/html/flarum && COMPOSER_HOME=/root/.composer composer require flarum/extension-manager:"*"

Cockpit Control Panel

Cockpit control panel is accessible via https://use.your.ip:9080/:
* Credentials are the same as provided on the Server Information page
If you use the Vultr Firewall, make sure to allow access to port 9080.

Cockpit can be disabled by connecting as the root user and running:
# systemctl disable --now cockpit.socket

HTTPS: SSL/TLS Certificates

To access the server with a domain name, instead of use.your.ip, it is possible to register a domain name from a domain registrar, and either follow the registrar's documentation on updating DNS records, or utilize Vultr's DNS.

Once DNS has finished propagating, and the registered domain name resolves to use.your.ip, connect to the server via console or SSH as the root user.

To update Flarum's configuration with the new DNS name, run the following:
# ip=use.your.ip; sed -i.bak "/url.*https/s|${ip//\./\\.}|example.org|" /var/www/html/flarum/config.php && systemctl restart nginx.service "php$(< /var/lib/vultr/config/phpver)-fpm.service

If Flarum does not appear correctly or behave as expected after the above:
# mv /var/www/html/flarum/config.php{.bak,} && systemctl restart nginx.service "php$(< /var/lib/vultr/config/phpver)-fpm.service

Let's Encrypt via Certbot

Certbot is installed by default on Vultr's Flarum Marketplace app. If you need to update or reinstall, please see the recommended installation steps at eff.org.

Requesting a Certificate

The below example shows installing multi-domain certificate for the bare or root domain of example.com as well as the fully-qualified domain name (FQDN) of www.example.com. The email provided is used for registering an account with Let's Encrypt and is not sent to Vultr:
# certbot --nginx --redirect -d www.example.com -d example.com -m admin@example.com --agree-tos --no-eff-email
Upon successfully requesting certificates, a message should be shown that includes text similar to the following:

Successfully deployed certificate for www.example.com to /etc/nginx/conf.d/flarum.conf
Congratulations! You have successfully enabled HTTPS on https://www.example.com

(Optional) To update the Cockpit Control Panel to use the same certificate, a script is available to be invoked via:
# /opt/vultr/cockpit-certificate.sh

Revoking a Certificate

In case a certificate issued by Let's Encrypt via certbot is to be revoked, or otherwise needs to be uninstalled, these steps should be followed:
1. Back up current web server configuration files:
# cp -r /etc/nginx /root/nginx
2. Revoke the certificate:
# certbot delete
3. Restore default web server configuration:
# /opt/vultr/fix-vhost.sh

Commercial SSL/TLS Certificate

If a commercial certificate is desired instead of the free Let's Encrypt certificate, install the public certificate as /etc/nginx/ssl/server.crt and the private key as /etc/nginx/ssl/server.key. Refer to the certificate vendor's documentation for any further details. Once these files are in place, reboot the server to ensure all services are using the correct certificate: # reboot

Disabling HTTPS

While strongly discouraged, it is possible to disable HTTPS access by running the following:
# mv /etc/nginx/conf.d/mediawiki_https.conf /root/; reboot

SQL Database Access

To access the MariaDB (MySQL) database server, connect as the root user via console or SSH and run:
# mysql -u root

The root password is located in the configuration file /root/.my.cnf.

Logs for the database server can be viewed with:
# journalctl -eu mariadb.service

Helper Scripts

After connecting as the root user via console or SSH as the root user, the following scripts can be invoked to assist in configuration tasks.

Reset NGINX Server Configuration

To reset the NGINX web server configuration to its original settings, use:
# /opt/vultr/fix-vhost.sh

Support Information

Support Contact

Website
https://flarum.org/
Email
support@vultr.com
Support URL
https://my.vultr.com
Repository
https://www.vultr.com

Maintainer Contact

Report Application

Report an application with malicious intent or harmful content.

Thank you for your report!

Our Team has received your report and will respond accordingly as possible.