Wie man Vanilla Forum auf CentOS 7 installiert

Vanilla ist ein kostenloses, quelloffenes 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 eigene Funktionen hinzuzufügen.Inhalte für das Vanilla Forum können in der Markdown-Sprache geschrieben werden.In diesem Tutorial werden wir die Installation und Einrichtung des Vanilla-Forums auf dem CentOS 7-System mit Nginx als Webserver, MySQL als Datenbankserver und optional mit dem acme.sh-Client und der Let’s Encrypt-Zertifizierungsstelle zur SSL-Unterstützung durchgehen.

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 mit CentOS 7.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

Erste Schritte

Überprüfen Sie Ihre CentOS-Version:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

Richten Sie die Zeitzone ein:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 yum update -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Administration des CentOS-Betriebssystems erforderlich sind:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

Schritt 1 – Installieren Sie PHP und die notwendigen PHP-Erweiterungen.

Richten Sie die Webtatic YUM Repo:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-curl php72w-gd php72w-mysql

Um PHP, das in Modulen kompiliert ist, anzuzeigen, können Sie ausführen:

php -m< ctype curl exif fileinfo . . . . . ./code>

Überprüfen Sie die PHP-Version:

php --version
# PHP 7.2.14 (cli) (built: Jan 12 2019 12:47:33) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Wir können zum nächsten Schritt übergehen, nämlich der Installation und Einrichtung der Datenbank.

Schritt 2 – MariaDB installieren und eine Datenbank für Vanilla Forum erstellen.

Vanilla Forum unterstützt MySQL, MariaDB und Percona Datenbanken. In diesem Tutorial verwenden wir MariaDB als Datenbankserver. Da CentOS 7 Repositorien standardmäßig eine sehr alte MariaDB-Version enthalten, die nicht mit Vanilla Forum kompatibel ist, müssen wir den offiziellen MariaDB Repo verwenden, um eine neuere Version zu installieren.

Erstellen Sie MariaDB 10.2 YUM Repository für CentOS:

sudo vim /etc/yum.repos.d/MariaDB.repo

Kopiere den folgenden Text und füge ihn ein:

# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Nachdem die Datei vorhanden ist, installieren Sie MariaDB durch Ausführen:

sudo yum install -y MariaDB-server MariaDB-client

Überprüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for Linux (x86_64) using readline 5.1

Starten und aktivieren Sie den MariaDB-Dienst:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Laufenmysql_secure installationSkript zur Verbesserung der MariaDB-Sicherheit und zur Festlegung des Passworts für MariaDBrootBenutzer:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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 [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Verlassen Sie MariaDB:

MariaDB [(none)]> exit

Ersetzen Sie,dbnameundusernamedurch Ihre eigenenpasswordNamen.

Schritt 3 – Client installierenacme.shund Let’s Encrypt Zertifikat erhalten (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das 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 your_email@example.com
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.--stagingflage 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.comVerzeichnis.
  • Für ECC/ECDSA:/home/username/example.com_eccVerzeichnis.

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/etc/letsencryptVerzeichnis verwenden.

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 das Formular root user und kehren Sie zum normalen sudo user 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 CentOS-Repository:

sudo yum install -y nginx

Überprüfen Sie die Nginx-Version:

nginx -v
# nginx version: nginx/1.12.2

Starten und aktivieren Sie den Nginx-Dienst:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Konfigurieren Sie Nginx for Vanilla, indem Sie es ausführen:

sudo vim /etc/nginx/conf.d/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/ECDSA
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(/|$) {
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 127.0.0.1:9000;
}

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/.

Ü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/vanillaVerzeichnisses auf {.jour_user}:

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.6.4.zip

Extrahieren und entfernen Sie das Vanilla-Zip-Archiv:

unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip

Stellen Sie das entsprechende Eigentum zur Verfügung:

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

Führen Sie aus undsudo vim /etc/php-fpm.d/www.confsetzen Sie den Benutzer und die Gruppe auf . Zunächst werden sie auf die folgenden Werte gesetztapache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

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:

Vanilla Forum Installer

Geben Sie die erforderlichen Informationen ein und klicken Sie auf die SchaltflächeContinue ?“, um die Installation und Einrichtung abzuschließen. Danach sollte die Admin-Oberfläche des Vanilla Forums erscheinen.

Vanille-Forum auf Ubuntu 18.04 LTS

Das könnte Dich auch interessieren …