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.
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).
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 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
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
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.
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
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
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
While strongly discouraged, it is possible to disable HTTPS access by running the following:
# mv /etc/nginx/conf.d/mediawiki_https.conf /root/; reboot
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
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.
To reset the NGINX web server configuration to its original settings, use:
# /opt/vultr/fix-vhost.sh
Report an application with malicious intent or harmful content.