Flarum Forum installeren op Ubuntu 20.04

Flarum is een gratis, open-source en next-generation forum toepassing waarmee je je eigen online discussie forum kunt bouwen. Het is geschreven in PHP, eenvoudig, snel en gemakkelijk te implementeren. Het biedt een flexibele architectuur, krachtige uitbreiding APT en alle functies die je nodig hebt om een succesvolle gemeenschap te runnen. Flarum ziet er meteen goed uit en voelt goed aan. De gebruikersinterface is gestroomlijnd zodat je minder tijd kwijt bent aan klikken en meer tijd aan praten.

In deze handleiding leggen we uit hoe je Flarum forum met Apache en Let’s Encrypt SSL op Ubuntu 20.04 server kunt installeren.

Vereisten

  • Een server met Ubuntu 20.04.
  • Een geldige domeinnaam gericht met je server IP.
  • Een root wachtwoord is op de server geconfigureerd.

Aan de slag

Eerst is het altijd aan te raden je systeempakketten bij te werken tot de laatste versie. Je kunt ze bijwerken met het volgende commando:

apt-get update -y

Als alle pakketten zijn bijgewerkt, kun je verder gaan met de volgende stap.

Installeer een LAMP server

Flarum is geschreven in PHP, draait op de webserver en gebruikt MySQL/MariaDB als database backend. Je zult dus de LAMP stack in je systeem moeten installeren. Je kunt het installeren met het volgende commando:

apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-mysql php7.4-gd php7.4-xml php7.4-curl php7.4-cli php7.4-zip php7.4-tokenizer wget unzip curl git -y

Als alle pakketten geïnstalleerd zijn, bewerk je het php.ini bestand en pas je enkele instellingen aan:

nano /etc/php/7.4/apache2/php.ini

Wijzig de volgende regels:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_file_size = 150M
max_execution_time = 450
date.timezone = Asia/Kolkata

Bewaar en sluit het bestand als je klaar bent.

Maak een Flarum Database

Vervolgens moet je een databank en gebruiker voor Flarum aanmaken. Log eerst in op de MariaDB shell met het volgende commando:

mysql

Eenmaal ingelogd maak je een databank en een gebruiker aan met het volgende commando:

MariaDB [(none)]> CREATE DATABASE flarum;
MariaDB [(none)]> CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'password';

Geef vervolgens alle privileges aan de flarum database met het volgende commando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON flarum.* TO 'flarum'@'localhost';

Spoel vervolgens de privileges door en verlaat de MariaDB met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer Composer

Vervolgens moet je Composer in je systeem installeren. Composer is een dependency manager voor PHP die gebruikt wordt om alle afhankelijkheden te installeren die nodig zijn voor een PHP project.

Je kunt Composer installeren met het volgende commando:

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

Je zou de volgende uitvoer moeten krijgen:

All settings correct for using Composer
Downloading...

Composer (version 1.10.10) successfully installed to: /root/composer.phar
Use it: php composer.phar

Verplaats vervolgens de binary van Composer naar de map /usr/local/bin/ met het volgende commando:

mv composer.phar /usr/local/bin/composer

Controleer vervolgens de geïnstalleerde versie van de Composer met het volgende commando:

composer -V

Je zou de volgende uitvoer moeten zien:

Composer version 1.10.10 2020-08-03 11:35:19

Installeer Flarum

Maak eerst een directory voor Flarum binnen de Apache web root directory met het volgende commando:

mkdir /var/www/html/flarum

Verander de directory vervolgens in flarum en download de nieuwste versie van Flarum met de Composer zoals hieronder te zien is:

cd /var/www/html/flarum
composer create-project flarum/flarum . --stability=beta

Installeer vervolgens alle PHP afhankelijkheden met het volgende commando:

composer install

Als alle afhankelijkheden geïnstalleerd zijn, verander je het eigendom van het Flarum in www-data en geef je de juiste toestemming met het volgende commando:

chown -R www-data:www-data /var/www/html/flarum/
chmod -R 755 /var/www/html/flarum/

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor Flarum

Vervolgens moet je een Apache virtual host configuratiebestand maken om Flarum te hosten. Je kunt het aanmaken met het volgende commando:

nano /etc/apache2/sites-available/flarum.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/html/flarum/public
 ServerName flarum.linuxbuz.com
 DirectoryIndex index.php
 <Directory /var/www/html/flarum/public/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
 </Directory>
 ErrorLog /var/log/apache2/flarum-error_log
 CustomLog /var/log/apache2/flarum-access_log common
</VirtualHost>

Sla het bestand op en sluit het als je klaar bent. Schakel dan de Flarum virtuele host en Apache herschrijfmodule in met het volgende commando:

a2ensite flarum
a2enmod rewrite

Herstart tenslotte de Apache dienst om de veranderingen toe te passen:

systemctl restart apache2

Je kunt ook de status van de Apache controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten krijgen:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:57:11 UTC; 2min 44s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 27164 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 12.3M
     CGroup: /system.slice/apache2.service
             ??27164 /usr/sbin/apache2 -k start
             ??27165 /usr/sbin/apache2 -k start
             ??27166 /usr/sbin/apache2 -k start
             ??27167 /usr/sbin/apache2 -k start
             ??27168 /usr/sbin/apache2 -k start
             ??27169 /usr/sbin/apache2 -k start

Aug 23 09:57:11 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...

Beveilig Flarum met Let’s Encrypt SSL

Het is altijd aan te bevelen je website te beveiligen met Let’s Encrypt gratis SSL. Installeer eerst het Certbot Let’s Encrypt programma met het volgende commando:

apt-get install python3-certbot-apache -y

Eenmaal geïnstalleerd, voer je het volgende commando uit om Let’s Encrypt SSL voor je Flarum website te installeren:

certbot --apache -d flarum.linuxbuz.com

Je wordt gevraagd je geldige e-mailadres op te geven en de servicevoorwaarden te accepteren, zoals hieronder:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for flarum.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/flarum-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/flarum-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/flarum-le-ssl.conf

Kies vervolgens of je HTTP verkeer al dan niet wilt omleiden naar HTTPS zoals hieronder:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Typ 2 en druk op Enter om het SSL certificaat voor je website te installeren. Als de installatie voltooid is, zou je de volgende uitvoer moeten krijgen:

Redirecting vhost in /etc/apache2/sites-enabled/flarum.conf to ssl vhost in /etc/apache2/sites-available/flarum-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://flarum.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=flarum.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/flarum.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/flarum.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-11-21. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Toegang tot Flarum Forum

Op dit punt is Flarum geïnstalleerd, geconfigureerd en beveiligd met Let’s Encrypt SSL. Open nu je web browser en ga naar het Flarum met de URL https://flarum.linuxbuz.com. Je wordt doorgestuurd naar de volgende pagina:

Geef je forumnaam, databasenaam, gebruikersnaam, wachtwoord, admin gebruikersnaam, wachtwoord, e-mailadres op en klik op de knop Installeer Flarum. Als de installatie voltooid is, word je doorgestuurd naar het Flarum dashboard zoals hieronder:

Conclusie

Gefeliciteerd! je hebt met succes Flarum forum met Apache en Let’s Encrypt SSL geïnstalleerd op Ubuntu 20.04 server. Je kunt nu gemakkelijk je eigen gemeenschapsforum hosten met Flarum. Voel je vrij me te vragen als je vragen hebt.