Phorum ist eine auf PHP und MySQL basierende Open-Source-Forensoftware. In dieser Anleitung führen wir Sie Schritt für Schritt durch den Phorum-Installationsprozess auf dem Betriebssystem Debian 9 mit Nginx als Webserver, MariaDB als Datenbank und acme.sh und Let’s Encrypt für HTTPS.
Anforderungen
Voraussetzungen für den Betrieb von Phorum sind:
- Nginx
- PHP-Version 5.2 oder höher
- MySQL/MariaDB Version 5.0 oder höher
Voraussetzungen
- Ein Debian 9-Betriebssystem.
- Ein Nicht-Root-Benutzer mit
sudo
Privilegien.
Erste Schritte
Überprüfen Sie Ihre Debian-Version:
lsb_release -ds
# Debian GNU/Linux 9.8 (stretch)
Richten Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdata
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 apt update && sudo apt upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Debian-Betriebssystems erforderlich sind:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https build-essential
Schritt 1 – PHP installieren
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-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.0.33-0debian0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.
Schritt 2 – Installieren Sie MariaDB und erstellen Sie eine Datenbank
Installieren Sie den MariaDB-Datenbankserver:
sudo apt install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version
Führen Sie mysql_secure installation
aus Skript, um die MariaDB-Sicherheit zu verbessern und das Passwort für MariaDB root
festzulegen Benutzer:
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 als Root-Benutzer mit der MariaDB-Shell:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MariaDB-Datenbank und einen Benutzer für Phorum und merken Sie sich die Anmeldeinformationen:
mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;
Beenden Sie MariaDB:
mariadb> exit
Ersetzen Sie dbname
, username
und password
mit Ihren eigenen Namen.
Schritt 3 – Installieren Sie den acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)
Das Sichern Ihres Forums 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 ~
Prüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.0
Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domäne/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 Flag 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 ein Verzeichnis zum Speichern Ihrer Zertifikate. Wir werden /etc/letsencrypt
verwenden Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das Verzeichnis /etc/letsencrypt.
# 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, beenden Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 4 – NGINX installieren und konfigurieren
Installieren Sie NGINX:
sudo apt install -y nginx
Überprüfen Sie die NGINX-Version:
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Konfigurieren Sie NGINX für Phorum. Führen Sie sudo vim /etc/nginx/sites-available/phorum.conf
aus und fü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 snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
Aktivieren Sie die neue phorum.conf
konfigurieren, indem Sie die Datei mit sites-enabled
verknüpfen Verzeichnis:
sudo ln -s /etc/nginx/sites-available/phorum.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 4 - Phorum installieren
Erstellen Sie ein Dokumentenstammverzeichnis für Phorum:
sudo mkdir -p /var/www/phorum
Ändern Sie den Besitz von /var/www/phorum
Verzeichnis 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 Dokumentstammverzeichnis:
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 include/db/config.php
bearbeiten Datei:
vim include/db/config.php
Ändern Sie den Eigentümer von /var/www/phorum
Verzeichnis nach www-data:
sudo chown -R www-data:www-data /var/www/phorum
Um die Installation abzuschließen, führen Sie das webbasierte Installationsprogramm aus, indem Sie http://forum.example.com/admin.php
besuchen in Ihrem Webbrowser.