Wie installiert man Vanila Forum und sichert es mit Let’s Encrypt auf CentOS 8

Vanilla ist eine freie, quelloffene und flexible Community-Forum-Software, mit der Sie Ihre eigene Forumsseite erstellen können. Es ist eine leichte und mehrsprachige Forenlösung, die Ihnen hilft, innerhalb von Minuten eine Online-Community aufzubauen. Sie ist in PHP geschrieben und wird mit vielen Add-ons und Themen geliefert. Sie ist vollgepackt mit Premiumfunktionen und wird von Top-Marken verwendet, um Kunden zu gewinnen, die Loyalität zu fördern und die Supportkosten zu reduzieren.

In diesem Tutorial werden wir lernen, wie man das Vanilla-Forum auf CentOS 8 installiert und mit Let’s Encrypt SSL sichert.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Auf Ihrem Server ist ein Root-Passwort eingerichtet.

LEMP-Server installieren

Zuerst müssen Sie den Nginx-Webserver, den MariaDB-Datenbankserver, PHP und andere erforderliche PHP-Erweiterungen in Ihrem System installieren. Sie können den folgenden Befehl ausführen, um alle diese Erweiterungen zu installieren:

dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y

Nachdem Sie alle Pakete installiert haben, starten Sie den Nginx-, PHP-FPM- und MariaDB-Dienst und aktivieren Sie diese nach dem Systemneustart mit dem folgenden Befehl:

systemctl start nginx
 systemctl start php-fpm
 systemctl start mariadb
 systemctl enable nginx
 systemctl enable php-fpm
 systemctl enable mariadb

MariaDB-Datenbank konfigurieren

Bevor Sie beginnen, ist es eine gute Idee, Ihre MariaDB zu sichern. Sie können sie mit dem folgenden Skript sichern:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new 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

Nachdem Sie die MariaDB gesichert haben, loggen Sie sich mit folgendem Befehl in die MariaDB-Shell ein:

mysql -u root -p

Geben Sie Ihr MariaDB-Root-Passwort ein und erstellen Sie eine Datenbank und einen Benutzer für Vanilla mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
 MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';

Als nächstes gewähren Sie der Vanilla-Datenbank mit dem folgenden Befehl alle Privilegien:

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

Als nächstes müssen Sie die Privilegien aufheben und die MariaDB-Shell mit dem folgenden Befehl verlassen:

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

Vanilla Forum herunterladen

Sie können die letzte stabile Version des Vanilla-Forums von der offiziellen Website mit folgendem Befehl herunterladen:

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

Entpacken Sie nach dem Herunterladen die heruntergeladene Datei mit dem folgenden Befehl:

unzip vanilla-core-3.3.zip

Als nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl in das Web-Stammverzeichnis von Nginx:

mv package /var/www/html/vanilla

Als nächstes ändern Sie den Besitzer des Vanilla-Verzeichnisses auf Nginx:

chown -R nginx:nginx /var/www/html/vanilla

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

PHP-FPM-Pool konfigurieren

Standardmäßig ist PHP-FPM für Apache konfiguriert. Hier werden wir Nginx als Webserver verwenden. Sie müssen also PHP-FPM für Nginx konfigurieren. Sie können dies tun, indem Sie die Datei /etc/php-fpm.d/www.conf bearbeiten:

nano /etc/php-fpm.d/www.conf

Ändern Sie die folgenden Zeilen:

user = nginx
group = nginx

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Erstellen Sie dann ein Session-Verzeichnis für PHP und ändern Sie die Eigentümer:

mkdir -p /var/lib/php/session
 chown -R nginx:nginx /var/lib/php/session

Starten Sie als nächstes den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm

Nginx für Vanille konfigurieren

Als nächstes erstellen Sie eine neue virtuelle Nginx-Host-Datei für das Vanilla-Forum.

nano /etc/nginx/conf.d/vanilla.conf

Fügen Sie die folgenden Zeilen hinzu:

server {

  listen 80;
  server_name vanilla.linuxbuz.com;
  root /var/www/html/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    try_files $fastcgi_script_name =404;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }
  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Sicheres Vanilla mit Let’s Encrypt SSL

Als Nächstes müssen Sie das Dienstprogramm Certbot in Ihrem System installieren, um Let’s Encrypt SSL für Ihre Vanilla-Website herunterzuladen und zu installieren.

Sie können den Certbot-Client mit folgendem Befehl installieren:

wget https://dl.eff.org/certbot-auto
 mv certbot-auto /usr/local/bin/certbot-auto
 chown root /usr/local/bin/certbot-auto
 chmod 0755 /usr/local/bin/certbot-auto

Als nächstes erhalten und installieren Sie ein SSL-Zertifikat für Ihre Vanilla-Website mit folgendem Befehl:

certbot-auto --nginx -d vanilla.linuxbuz.com

Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie gebeten, eine E-Mail-Adresse anzugeben und die unten angegebene Laufzeit zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vanilla.conf

Wählen Sie aus, ob Sie HTTP-Verkehr wie unten gezeigt auf HTTPS umleiten möchten oder nicht:

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

Geben Sie 2 ein und drücken Sie Enter um fortzufahren. Wenn die Installation erfolgreich abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vanilla.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-06-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - 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

Konfigurieren Sie SELinux und Firewall

Standardmäßig ist SELinux in CentOS 8 aktiviert. Sie müssen es also für Ihre Vanilla-Forum-Website konfigurieren.

Sie können das SELinux mit dem folgenden Befehl konfigurieren:

setsebool httpd_can_network_connect on -P
 chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/vanilla

Als nächstes lassen Sie Port 80 und 443 durch die Firewall mit dem folgenden Befehl zu:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
 firewall-cmd --reload

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugang zum Vanilla-Forum

Öffnen Sie Ihren Webbrowser und besuchen Sie die URL https://vanilla.linuxbuz.com. Sie werden auf die folgende Seite weitergeleitet:

Datenbank-Einstellungen

Einstellungen der Anwendung

Geben Sie Ihre Datenbankangaben, den Titel der Anwendung, Ihre E-Mail-Adresse, Ihren Administrator-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Weiter. Sobald die Installation abgeschlossen ist, sollten Sie das Vanilla-Dashboard auf der folgenden Seite sehen:

Vanille-Forum zu CentOS

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben das Vanilla-Forum auf CentOS 8 mit Let’s Encrypt SSL erfolgreich installiert. Sie können nun ganz einfach Ihre eigene Community-Forums-Website hosten. Wenn Sie Fragen haben, können Sie mich gerne fragen.

Das könnte Dich auch interessieren …