GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Vanilla Forum auf CentOS 7

Vanilla ist ein kostenloses, in PHP geschriebenes Open-Source-Diskussionsforum. Vanilla Forum-Software wird unter der GNU GPL2-Lizenz vertrieben. Der Quellcode ist über Github verfügbar. Es verfügt über ein reichhaltiges Add-On-System, das Sie nutzen können, um Ihrem Vanilla-Forum benutzerdefinierte Funktionen hinzuzufügen. Inhalte für das Vanilla-Forum können mit der Markdown-Sprache geschrieben werden. In diesem Tutorial gehen wir durch die Installation und Einrichtung des Vanilla-Forums auf dem CentOS 7-System, indem wir Nginx als Webserver und MySQL 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 erfordert einen Server mit PHP, MySQL und Webserver-Software (wie Apache oder Nginx). Sie müssen wahrscheinlich eine Domäne besitzen und diese bereits auf Ihrem Server mit DNS konfiguriert haben, wenn Sie auf einem Produktionsserver installieren möchten, aber wenn nicht, benötigen Sie keine Domäne.

Vanilla-Forum Minimum Voraussetzungen 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 ...).
  • Strikter MySQL-Modus deaktiviert.

Vanilla Forum dient empfohlen :

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

HINWEISPHP 7.0 hat das Ende seiner Lebensdauer erreicht und erhält keine Sicherheitspatches mehr, daher wird dringend empfohlen, neuere PHP-Versionen zu verwenden. Die Unterstützung von Vanilla für PHP 7.0 endet bald!

Voraussetzungen

  • Ein Betriebssystem, auf dem CentOS 7 ausgeführt wird.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

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, da dadurch sichergestellt wird, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

sudo yum update -y

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

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

Schritt 1 – Installiere PHP und notwendige PHP-Erweiterungen

Richten Sie das Webtatic YUM-Repo ein:

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

Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:

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

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Ü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 mit dem nächsten Schritt fortfahren, der Datenbankinstallation und -einrichtung.

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

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

Erstellen Sie das MariaDB 10.2 YUM-Repository für CentOS:

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

Kopieren Sie den folgenden Text und fügen Sie 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, indem Sie Folgendes 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

Führen Sie mysql_secure installation aus Skript zur Verbesserung der MariaDB-Sicherheit und zum Festlegen des Passworts für MariaDB root Benutzer:

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

Stellen Sie als Root-Benutzer eine Verbindung zur MariaDB-Shell her:

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 Anmeldedaten:

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Beenden Sie MariaDB:

MariaDB [(none)]> exit

Ersetzen Sie dbname , username und password mit Ihren eigenen Namen.

Schritt 3 - Installieren Sie acme.sh Client und erhalten Sie das Let's Encrypt-Zertifikat (optional )

Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr 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 Abrufen 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 acme.sh-Version:

acme.sh --version
# v2.8.0

Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie --staging hinzufügen Flage zu den obigen Befehlen.

Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein 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 Folgendes ausführen:

acme.sh --list

Erstellen Sie Verzeichnisse, um Ihre Zertifikate zu speichern. Wir verwenden /etc/letsencrypt Verzeichnis.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/kopieren Sie Zertifikate in das /etc/letsencrypt-Verzeichnis.

# 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 alle 60 Tage automatisch erneuert.

Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – Installieren Sie NGINX und konfigurieren Sie NGINX für Vanilla Forum

Vanilla Forum funktioniert gut mit vielen gängigen Webserver-Software. 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 aus dem CentOS-Repository herunter und installieren Sie es:

sudo yum install -y nginx

Überprüfen Sie die Nginx-Version:

nginx -v
# nginx version: nginx/1.12.2

Nginx-Dienst starten und aktivieren:

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

Konfigurieren Sie Nginx für Vanilla, indem Sie Folgendes 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 Vanilla 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 Dokumentstammverzeichnis, in dem sich Vanilla Forum befinden soll:

sudo mkdir -p /var/www/vanilla

Ändern Sie den Besitz von /var/www/vanilla Verzeichnis zu {jour_user} :

sudo chown -R {your_user}:{your_user} /var/www/vanilla

HINWEIS :Ersetzen Sie {jour_user} mit Ihrem ursprünglich erstellten Nicht-Root-Nutzernamen.

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

Geben Sie die entsprechende Eigentümerschaft an:

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

Führen Sie sudo vim /etc/php-fpm.d/www.conf aus und setzen Sie den Benutzer und die Gruppe auf nginx . Anfänglich werden sie auf apache: gesetzt

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

Navigieren Sie in Ihrem Webbrowser zu dem Ordner, in den Sie Vanilla hochgeladen haben, und folgen Sie den Anweisungen auf dem Bildschirm.

Schritt 6 – Installation und Einrichtung des Vanilla-Forums abschließen

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 "Weiter →" Schaltfläche, um die Installation und Einrichtung abzuschließen. Danach sollte die Verwaltungsoberfläche des Vanilla-Forums angezeigt werden.

  • https://open.vanillaforums.com/
  • https://github.com/vanilla/vanilla

Cent OS
  1. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter CentOS 7 / RHEL 7 und CentOS 6 / RHEL 6

  2. So installieren Sie PHP 5.5 auf CentOS

  3. So installieren Sie PHP 5.6 unter CentOS 7

  4. So installieren Sie PHP 7.2 auf CentOS 7

  5. So installieren Sie PHP 7.3 auf CentOS 7

So installieren Sie PHP 7.4 unter CentOS 8 / RHEL 8

So installieren Sie TaskBoard unter CentOS 7

So installieren Sie Vanilla Forum auf Fedora 29

So installieren Sie PHP 7 unter CentOS 7

So installieren Sie PHP 7.4 auf CentOS 8

So installieren Sie Vanila Forum auf CentOS 8