Wie man Phorum mit Nginx auf Fedora 30 installiert

In diesem Leitfaden führen wir Sie Schritt für Schritt durch den Phorum-Installationsprozess auf dem Fedora 30-Betriebssystem mit Nginx als Webserver, MariaDB als Datenbank und acme.sh und Let’s Encrypt for HTTPS.

Anforderungen

Voraussetzungen für den Betrieb von Phorum sind:

  • Nginx
  • PHP Version 5.2 oder höher
  • MySQL Version 5.0 oder höher

Voraussetzungen

  • Fedora 30 Betriebssystem.
  • Ein Nicht-Root-Benutzer mitsudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre Fedora-Systemversion:

cat /etc/fedora-release
# Fedora release 30 (Thirty)

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 dnf upgrade -y

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

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

Schritt 1 – PHP installieren

Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:

sudo dnf install -y php php-cli php-fpm php-common php-mysqlnd

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.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.5, 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

Schritt 2 – MariaDB installieren und eine Datenbank erstellen

Installieren Sie den MariaDB-Datenbankserver:

sudo dnf install -y mariadb-server

Überprüfen Sie die MariaDB-Version:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.12-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:

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 leeren Benutzer für Phorum und merken Sie sich die Zugangsdaten:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Verlassen Sie MariaDB:

mysql> exit

Ersetzen Sie,dbnameundusernamedurch Ihre eigenenpasswordNamen.

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

Die Sicherung Ihres Forums 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.--stagingFlagge 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 den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – Installation und Konfiguration von NGINX

Installieren Sie NGINX:

sudo dnf install -y nginx

Überprüfen Sie die NGINX-Version:

nginx -v
# nginx version: nginx/1.16.0

Starten und aktivieren Sie den NGINX-Dienst:

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

Konfigurieren Sie NGINX für Phorum. Führen Sie aus undsudo vim /etc/nginx/conf.d/phorum.conffügen Sie die folgende Konfiguration hinzu.

server {
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/phorum;
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  index index.php index.html;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    include default.d/php.conf;
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
  }
}

PrüfenNGINXKonfiguration für Syntaxfehler:

sudo nginx -t

Neu ladenNGINXService:

sudo systemctl reload nginx.service

Schritt 4 – Phorum installieren

Erstellen Sie ein Document Root Directory für Phorum:

sudo mkdir -p /var/www/phorum

Wechseln Sie den Eigentümer des/var/www/phorumVerzeichnis zu[jour_user]:

sudo chown -R [your_user]:[your_user] /var/www/phorum

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/phorum

Laden Sie die neueste stabile Phorum-Distribution von der offiziellen Website herunter:

wget https://www.phorum.org/downloads/phorum-5.2.23.tar.gz

Entpacken Sie das heruntergeladene Archiv und verschieben Sie die Dateien in das Dokumentenverzeichnis:

tar xvzf phorum-5.2.23.tar.gz
rm phorum-5.2.23.tar.gz
mv Core-phorum_5_2_23/* . && mv Core-phorum_5_2_23/.* .
rmdir Core-phorum_5_2_23

Konfigurieren Sie den Datenbankzugriff:

cp include/db/config.php.sample include/db/config.php

Konfigurieren Sie die Datenbankeinstellungen, indem Sie dieinclude/db/config.phpDatei bearbeiten:

vim include/db/config.php

Wechseln Sie den Eigentümer des/var/www/craftVerzeichnis zunginx:

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

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

Um die Installation abzuschließen, führen Sie das webbasierte Installationsprogramm aus, indem Sie es inhttp://forum.example.com/admin.phpIhrem Webbrowser aufrufen.

Das könnte Dich auch interessieren …