Wie man Vanilla Forum auf Debian 9 installiert
Vanilla ist ein kostenloses, Open-Source-Diskussionsforum, das in PHP geschrieben wurde. Die Vanilla Forum Software wird unter der GNU GPL2 Lizenz vertrieben. Der Quellcode ist über Github erhältlich. Es hat ein reichhaltiges Add-on-System, das Sie nutzen können, um Ihrem Vanilla-Forum benutzerdefinierte Funktionen hinzuzufügen. Content for Vanilla Forum kann in der Markdown-Sprache geschrieben werden.In diesem Tutorial zeige ich Ihnen, wie Sie Vanilla Forum unter Debian 9 installieren können, indem Sie Nginx als Webserver, MariaDB als Datenbankserver verwenden, und optional können Sie die Transportschicht sichern, indem Sie den acme.sh-Client und die Let’s Encrypt-Zertifizierungsstelle verwenden, um SSL-Unterstützung hinzuzufügen.
Anforderungen
Vanilla benötigt einen Server mit PHP, MySQL und Webserver-Software (wie Apache oder Nginx). Sie müssen wahrscheinlich eine eigene Domain besitzen und diese bereits auf Ihrem Server mit DNS konfiguriert haben, wenn Sie auf einem Produktionsserver installieren möchten, aber wenn nicht, dann benötigen Sie keine Domain.
Die Mindestanforderungen für das Vanilla Forum sind:
- PHP Version 7.0 oder neuer.
- PHP-Erweiterungen mbstring, cURL, GD und PDO, MySQLi, OpenSSL.
- MySQL Version 5.0 oder neuer (oder Percona/MariaDB-Äquivalent).
- Webserver-Software (Nginx, Apache….).
- MySQL Strenge Modus deaktiviert.
Vanilla Forum empfiehlt dringend:
- PHP Version 7.2 oder neuer.
- PHP-Erweiterungen mbstring, cURL, GD und PDO, MySQLi, OpenSSL.
- MySQL Version 5.7 oder neuer (oder Percona/MariaDB-Äquivalent).
- Webserver-Software (Nginx, Apache….).
- SSL-Verschlüsselung.
HINWEIS: PHP 7.0 hat das Ende seines Lebens erreicht und wird keine Sicherheitspatches mehr erhalten, daher wird dringend empfohlen, neuere PHP-Versionen zu verwenden. vanillas Unterstützung für PHP 7.0 wird bald enden!
Voraussetzungen
- Ein Betriebssystem unter Debian 9.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Überprüfen Sie Ihre Debian-Version:
lsb_release -ds # Debian GNU/Linux 9.7 (stretch)
Richten Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdata
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:
sudo apt update && sudo apt upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Debian-Betriebssystems notwendig sind:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https lsb-release ca-certificates dirmngr software-properties-common
Schritt 1 – Installieren Sie PHP und die notwendigen PHP-Erweiterungen.
Füge den neuen Repo zu deinem System hinzu, um eine neuere PHP-Version zu installieren:
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt update && sudo apt upgrade -y
Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-curl php7.2-gd php7.2-mysql php7.2-json
Um PHP, das in Modulen kompiliert ist, anzuzeigen, können Sie ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.14-1+0~20190113100742.14+stretch~1.gbpd83c69 (cli) (built: Jan 13 2019 10:07:43) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.14-1+0~20190113100742.14+stretch~1.gbpd83c69, Copyright (c) 1999-2018, by Zend Technologies
Der PHP-FPM-Dienst wird beim Neustart auf dem Debian 9-System automatisch gestartet und aktiviert, so dass es nicht notwendig ist, ihn manuell zu starten und zu aktivieren, sondern zum nächsten Schritt, der Datenbankinstallation und -einrichtung.
Schritt 2 – MariaDB installieren und eine Datenbank für Vanilla Forum erstellen.
Vanilla Forum unterstützt MySQL, MariaDB und Percona Datenbanken. In diesem Tutorial werden wir MariaDB als Datenbankserver verwenden.
Installieren Sie MariaDB Version 10.2 aus dem offiziellen MariaDB Repo für Debian:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main' sudo apt update sudo apt install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
Führen Sie dasmysql_secure installation
Skript aus, um die MariaDB-Sicherheit zu verbessern, und legen Sie das Passwort für den MariaDB-Benutzer fest:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
Would you like to setup VALIDATE PASSWORD plugin? N New password: your_secure_password Re-enter new password: your_secure_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
Verbinden Sie sich mit der MariaDB-Shell als Root-Benutzer:
sudo mysql -u root -p # Enter password
Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für das Vanilla Forum und merken Sie sich die Zugangsdaten:
mariadb> CREATE DATABASE dbname; mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'mypassword'; mariadb> FLUSH PRIVILEGES;
Ersetzen Sie das Wort mypassword durch ein sicheres Passwort Ihrer Wahl. Verlassen Sie MariaDB:
mariadb> exit
Ersetzen dbname
Sie, username
und password
durch Ihre eigenen Namen.
Schritt 3 – Installieren Sie den acme.sh-Client und erhalten Sie Let’s Encrypt Zertifikat (optional).
Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Erhalten von TLS-Zertifikaten von Let’s Encrypt ohne Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo su - root git clone https://github.com/Neilpang/acme.sh.git cd acme.sh ./acme.sh --install --accountemail [email protected] source ~/.bashrc cd ~
Überprüfen Sie die Version von acme.sh:
acme.sh --version # v2.8.0
Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:
# RSA 2048 acme.sh --issue --standalone -d example.com --keylength 2048 # ECDSA acme.sh --issue --standalone -d example.com --keylength ec-256
Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie diese hinzufügen. --staging
Flagge zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:
- Für RSA:
/home/username/example.com
Verzeichnis. - Für ECC/ECDSA:
/home/username/example.com_ecc
Verzeichnis.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie diese ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden das Verzeichnis verwenden./etc/letsencrypt.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Zertifikate installieren/kopieren nach/etc/letsencryptVerzeichnis.
# RSA acme.sh --install-cert -d example.com \ --cert-file /etc/letsencrypt/example.com/cert.pem \ --key-file /etc/letsencrypt/example.com/private.key \ --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \ --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh –install-cert -d example.com –ecc \
–cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
–key-file /etc/letsencrypt/example.com_ecc/private.key \
–fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
–reloadcmd „sudo systemctl reload nginx.service“
Alle Zertifikate werden automatisch alle 60 Tage erneuert.
Nach Erhalt der Zertifikate verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 4 – NGINX installieren und NGINX für Vanilla Forum konfigurieren
Vanilla Forum kann mit vielen gängigen Webserver-Programmen gut funktionieren. In diesem Tutorial haben wir Nginx ausgewählt. Wenn Sie den Apache Webserver gegenüber Nginx bevorzugen, besuchen Sie bitte https://docs.vanillaforums.com/developer/backend/server-apache/, um mehr zu erfahren.
Laden Sie Nginx herunter und installieren Sie es aus dem Debian-Repository:
sudo apt install -y nginx
Überprüfen Sie die Nginx-Version:
sudo nginx -v
Konfigurieren Sie Nginx for Vanilla, indem Sie es ausführen:
sudo vim /etc/nginx/sites-available/vanilla.conf
Und füllen Sie die Datei mit der folgenden Konfiguration:
server { listen 80; listen 443 ssl http2; server_name forum.example.com; root /var/www/vanilla; index index.php; # RSA ssl_certificate /etc/letsencrypt/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/example.com/private.key; # ECC ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem; ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key; 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(/|$) { include snippets/fastcgi-php.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/php7.2-fpm.sock; } location ~* \.php(/|$) { rewrite ^ /index.php$uri last; } location / { try_files $uri $uri/ @vanilla; } location @vanilla { rewrite ^ /index.php$uri last; } }
HINWEIS: Für eine vollständige und produktionsreife Nginx-Konfiguration für Vanille besuchen Sie https://docs.vanillaforums.com/developer/backend/server-nginx/.
Aktivieren Sie die neue vanilla.conf
Konfiguration, indem Sie die Datei mit dem sites-enabled
Verzeichnis verknüpfen.
sudo ln -s /etc/nginx/sites-available/vanilla.conf /etc/nginx/sites-enabled
Überprüfen Sie die Nginx-Konfiguration auf Syntaxfehler:
sudo nginx -t
Nginx-Dienst neu laden:
sudo systemctl reload nginx.service
Schritt 5 – Vanilla Forum installieren
Erstellen Sie ein Dokumentenstammverzeichnis, in dem sich das Vanilla Forum befinden soll:
sudo mkdir -p /var/www/vanilla
Ändern Sie den Besitzer des /var/www/vanilla
Verzeichnisses auf {yyour_user}. Replace the string {y
our_user} with the name of the Linux user that you are currently logged in, so when your username is e.g. johndoe, then replace '{y
our_user}' with 'johndoe'.
sudo chown -R {your_user}:{your_user} /var/www/vanilla
HINWEIS: Ersetzen Sie { durchjour_user}
Ihren ursprünglich erstellten Nicht-Root-Benutzernamen.
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/vanilla
Laden Sie das Zip-Archiv des Vanilla Forums herunter:
wget https://open.vanillaforums.com/get/vanilla-core-2.8.1.zip
Extrahieren und entfernen Sie das Vanilla-Zip-Archiv:
unzip vanilla-core-2.8.1.zip rm vanilla-core-2.8.1.zip mv vanilla-2.8.1/* . && mv vanilla-2.8.1/.* .
Stellen Sie das entsprechende Eigentum zur Verfügung:
sudo chown -R www-data:www-data /var/www/vanilla
Navigieren Sie zu dem Ordner, in den Sie Vanilla in Ihrem Webbrowser hochgeladen haben, und folgen Sie den Anweisungen auf dem Bildschirm.
Schritt 6 – Fertigstellung der Vanilla Forum Installation und Einrichtung
Nachdem Sie Ihre Website in einem Webbrowser geöffnet haben, sollten Sie auf die folgende Seite weitergeleitet werden:
Geben Sie die erforderlichen Informationen ein und klicken Sie auf die Schaltfläche „Continue ?“, um die Installation und Einrichtung abzuschließen. Danach sollte die Admin-Oberfläche des Vanilla Forums erscheinen.