Vanilla Forums met Apache en Let’s Encrypt SSL installeren op Ubuntu 20.04 LTS

Vanilla Forums is een gratis en open-source forum software voor gemeenschappen, geschreven in PHP. Het is een eenvoudig, flexibel, aanpasbaar en meertalig programma dat alle functies biedt die je nodig hebt om een succesvol forum te runnen. Het biedt veel add-ons, uitstekende integratiemogelijkheden, en thema’s om uit te kiezen. Het komt met een rijke set functies waaronder, Single-Sign On, Inbedbare forums, Inloggen via sociale media, Importeren uit andere forums, Integreert met andere FOSS projecten en nog veel meer.

In deze handleiding leren we hoe je Vanilla Forum software met Apache en Let’s Encrypt installeert op Ubuntu 20.04.

Vereisten

  • Een server met Ubuntu 20.04.
  • Een geldige domeinnaam die met je server is verbonden.
  • Een root wachtwoord is op je server ingesteld.

Installeer een LAMP server

Eerst moet je Apache webserver, MariaDB, PHP en andere vereiste uitbreidingen in je systeem installeren. Je kunt ze allemaal installeren met het volgende commando:

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

Als alle pakketten geïnstalleerd zijn, bewerk je de php.ini en stel je enkele gewenste waarden in:

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

Verander de volgende regels:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Bewaar en sluit het bestand als je klaar bent.

Configureer de MariaDB Database

Beveilig vervolgens de MariaDB installatie en stel het MariaDB root wachtwoord in met het volgende script:

mysql_secure_installation

Je wordt om een aantal vragen gevraagd zoals hieronder:

Enter current password for root (enter for none): 
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Zodra de MariaDB beveiligd is, log je in op de MariaDB met root gebruiker:

mysql -u root -p

Eenmaal ingelogd maak je een database en gebruiker voor Vanilla met het volgende commando:

MariaDB [(none)]> CREATE DATABASE vanilladb;
MariaDB [(none)]> CREATE USER [email protected] IDENTIFIED BY 'password';

Verleen vervolgens alle rechten aan de Vanilla database met het volgende commando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO [email protected];

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

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

Op dit punt is je MariaDB databank geconfigureerd voor Vanilla.

Download Vanilla

Eerst moet je de nieuwste versie van Vanilla downloaden van hun officiële website. Op het moment van schrijven van deze handleiding is de laatst beschikbare versie Vanilla 3.3. Je kunt het downloaden met het volgende commando:

wget https://open.vanillaforums.com/get/vanilla-core-3-3.zip

Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

unzip vanilla-core-3-3.zip

Verplaats vervolgens de package directory naar de Apache web root directory:

mv package /var/www/html/vanilla

Verander vervolgens het eigendom van de vanilla directory in www-data en geef de juiste permissies met het volgende commando:

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

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

Configureer Apache voor Vanilla Forum

Vervolgens moet je een nieuw Apache virtual host configuratiebestand maken om Vanilla Forum te serveren.

Je kunt het maken met het volgende commando:

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

Voeg de volgende regels toe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName vanilla.linuxbuz.com
     DocumentRoot /var/www/html/vanilla/

     <Directory /var/www/html/vanilla/>
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/apache2/vanilla_error.log
     CustomLog /var/log/apache2/vanilla_access.log combined

</VirtualHost>

Sla het bestand op en sluit het als je klaar bent. Schakel daarna het virtual host bestand in en herstart de Apache dienst om de veranderingen door te voeren:

a2ensite vanilla.conf
systemctl reload apache2

Je kunt ook de status van de Apache dienst 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 Thu 2020-06-25 07:42:29 UTC; 4min 35s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16070 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 13697 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 23.5M
     CGroup: /system.slice/apache2.service
             ??13697 /usr/sbin/apache2 -k start
             ??16074 /usr/sbin/apache2 -k start
             ??16075 /usr/sbin/apache2 -k start
             ??16076 /usr/sbin/apache2 -k start
             ??16077 /usr/sbin/apache2 -k start
             ??16078 /usr/sbin/apache2 -k start

Jun 25 07:42:29 ubuntu20 systemd[1]: Starting The Apache HTTP Server...

Op dit punt is de Apache webserver geconfigureerd om Vanilla Forum te serveren.

Beveilig Vanilla Forum met Let’s Encrypt

Je kunt je Vanilla Forum website ook beveiligen met Let’s Encrypt SSL. Voor je begint, moet je Certbot in je systeem installeren. Certbot is een Let’s Encrypt client die gebruikt wordt om Let’s Encrypt SSL te installeren en te beheren.

Je kunt de Certbot client installeren door het volgende commando uit te voeren:

apt-get install certbot python3-certbot-apache -y

Als de Certbot geïnstalleerd is, voer je het volgende commando uit om de Let’s Encrypt SSL voor je website te installeren.

certbot --apache -d vanilla.linuxbuz.com

Je wordt gevraagd je geldige e-mail adres 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 vanilla.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/vanilla-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/vanilla-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/vanilla-le-ssl.conf

Vervolgens moet je ook kiezen of je HTTP verkeer al dan niet naar HTTPS wilt omleiden, 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 de Let’s Encrypt SSL voor je domein te installeren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/vanilla.conf to ssl vhost in /etc/apache2/sites-available/vanilla-le-ssl.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-23. 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.

Nu is je Vanilla Forum website beveiligd met Let’s Encrypt SSL.

Toegang tot Vanilla Forum

Open nu je webbrowser en typ de URL https://vanilla.linuxbuz.com. Je zou het volgende scherm moeten zien:

Database instellingen

Forum instellingen

Geef je gegevens over de databank, de titel van de toepassing, e-mail, de gebruikersnaam en het wachtwoord van de beheerder op en klik op de knop Doorgaan. Je zou het Vanilla dashboard moeten zien in het volgende scherm:

Vanilla Forum geïnstalleerd

Klik nu op de knop VISIT SITE. Je zou het volgende scherm moeten zien:

Vanilla Forum op Ubuntu 20.04

Conclusie

Gefeliciteerd! Je hebt met succes Vanilla Forum software met Apache geïnstalleerd en het beveiligd met Let’s Encrypt gratis SSL. Je kunt nu binnen een minuut je eigen gemeenschapsforum hosten. Voel je vrij me te vragen als je vragen hebt.