Wie man DokuWiki mit Nginx und SSL unter Debian 10 installiert

DokuWiki ist eine einfach zu bedienende und äußerst vielseitige Open-Source-Wiki-Software, die keine Datenbank benötigt. Sie wird von den Benutzern wegen ihrer sauberen und lesbaren Syntax geliebt. Die einfache Wartung, Sicherung und Integration macht es zum Favoriten der Administratoren. Eingebaute Zugriffskontrollen und Authentifizierungskonnektoren machen DokuWiki besonders nützlich im Unternehmenskontext, und eine große Anzahl von Plugins, die von seiner lebendigen Gemeinschaft beigesteuert werden, ermöglichen eine breite Palette von Anwendungsfällen, die über ein traditionelles Wiki hinausgehen. Dieses Tutorial zeigt Ihnen, wie Sie DokuWiki auf einem frischen Debian 10 (Buster)-Server installieren.

Anforderungen

Stellen Sie sicher, dass Ihr Server die folgenden Anforderungen erfüllt.

  • Webserver-Software, die PHP unterstützt (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
  • PHP Version 5.6 oder höher, neuere Versionen werden dringend empfohlen.

Voraussetzungen

  • Ein Debian 10 (Buster)-Betriebssystem.
  • Ein Nicht-Root-Benutzer mit sudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre Debian-Version:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Richten Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Das ist ein wichtiger erster Schritt, denn er stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standard-Softwarepakete Ihres Betriebssystems haben:

sudo apt update && sudo apt upgrade -y

Installieren Sie einige wesentliche 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

Schritt 1 – PHP und PHP-Erweiterungen installieren

Installieren Sie PHP und die erforderlichen PHP-Erweiterungen:

sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-gd php7.3-xml php7.3-zip

Um in Modulen kompiliertes PHP anzuzeigen, können Sie es ausführen:

php -m
ctype
curl
exif
fileinfo
. . .
. . .

Prüfen Sie die PHP-Version:
php --version
# PHP 7.3.9-1 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart des Debian 10-Systems automatisch gestartet und aktiviert, so dass es nicht notwendig ist, ihn manuell zu starten und zu aktivieren. Wir können zum nächsten Schritt übergehen, wo wir den acme.sh-Client installieren und SSL-Zertifikate erhalten.

Schritt 2 – Installieren Sie den acme.sh-Client und erhalten Sie das Let’s Encrypt-Zertifikat ( optional )

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den acme.sh-Client verwenden. Acme.sh ist eine einfache UNIX-Shell-Software, um TLS-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

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

Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/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 gefälschte Zertifikate zum Testen wünschen, können Sie den oben genannten Befehlen ein --stagingKennzeichen hinzufügen.

Nachdem Sie die oben genannten 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 zur Speicherung Ihrer Zertifikate. Wir werden das/etc/letsencrypt Verzeichnis verwenden.

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

Installieren/Kopieren von Zertifikaten nach /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 automatisch alle 60 Tage erneuert.

Nach Erhalt der Zertifikate verlassen Sie den Benutzer root und kehren zum regulären Benutzer sudo zurück:

exit

Schritt 3 – Installieren und Konfigurieren von Nginx

DokuWiki wird auf jedem Webserver laufen, der PHP unterstützt. In diesem Tutorial werden wir Nginx verwenden. Wenn Sie Apache oder einen anderen Webserver bevorzugen, können Sie diesen anstelle von Nginx verwenden.

Laden Sie NGINX aus dem Debian-Repository herunter und installieren Sie es:

sudo apt install -y nginx

Prüfen Sie die Nginx-Version:

sudo nginx -v
# nginx version: nginx/1.14.2

Konfigurieren Sie Nginx:

sudo vim /etc/nginx/sites-available/dokuwiki.conf

Kopieren Sie die folgende Nginx-Konfiguration und fügen Sie sie ein und speichern Sie sie:

server {
listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80; # 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;
server_name wiki.example.com; root /var/www/dokuwiki; index index.html index.htm index.php doku.php; client_max_body_size 15M; client_body_buffer_size 128K; location / { try_files $uri $uri/ @dokuwiki; } location ^~ /conf/ { return 403; } location ^~ /data/ { return 403; } location ~ /\.ht { deny all; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

Aktivieren Sie die neue dokuwiki.confKonfiguration, indem Sie die Datei mit dem sites-enabledVerzeichnis verknüpfen:

sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/

Überprüfen Sie die Nginx-Konfiguration:

sudo nginx -t

Nginx neu laden:

sudo systemctl reload nginx.service

Schritt 4 – DokuWiki installieren

Erstellen Sie ein Dokumentenstammverzeichnis:

sudo mkdir -p /var/www/dokuwiki

Navigieren Sie zum Dokumentenstamm:

cd /var/www/dokuwiki

Laden Sie die neueste stabile Version von DokuWiki von der DokuWiki-Download-Seite herunter:

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

DokuWiki-Tarball auspacken:

sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
sudo rmdir dokuwiki-2018-04-22b/

Ändern Sie den Eigentümer des /var/www/dokuwikiVerzeichnisses auf www-data:

sudo chown -R www-data:www-data /var/www/dokuwiki

Neustart php7.3-fpm.service:

sudo systemctl restart php7.3-fpm.service

Öffnen Sie das DokuWiki-Setup-Skript, install.php, in Ihrem Browser und richten Sie DokuWiki ein. Das Setup-Skript prüft die Verfügbarkeit der erforderlichen PHP-Funktionen und prüft die erforderlichen Dateiberechtigungen. Außerdem werden ein anfängliches Administratorkonto und eine anfängliche ACL-Richtlinie erstellt. Um das Installationsprogramm auszuführen, öffnen http://wiki.example.com/install.phpSie den Browser und folgen Sie den Anweisungen.

Schritt 5 – Zugang zur DokuWiki-Webschnittstelle

Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com/install.php ein. Sie werden auf die folgende Seite weitergeleitet:

DikuWiki-Installationsprogramm

Geben Sie alle erforderlichen Informationen wie Superuser-Name, E-Mail, Passwort an. Klicken Sie dann auf die Schaltfläche Speichern. Wenn die Installation erfolgreich abgeschlossen ist, sollten Sie die folgende Seite sehen:

Benutzername und Passwort festlegen

Klicken Sie jetzt auf Ihr neues DokuWiki. Sie sollten die folgende Seite sehen:

DokuWiki erfolgreich installiert

Klicken Sie nun auf die Schaltfläche „Login“. Sie werden auf die folgende Seite weitergeleitet:

Login

Geben Sie jetzt Ihren Admin-Benutzernamen und Ihr Passwort ein. Klicken Sie dann auf die Schaltfläche Anmelden. Sie sollten das DokuWiki-Dashboard auf der folgenden Seite sehen:

Willkommen bei DokuWiki

Nach erfolgreicher Konfiguration löschen Sie die install.phpDatei aus dem DokuWiki-Stammverzeichnis:

sudo rm /var/www/dokuwiki/install.php

Herzlichen Glückwunsch! Sie haben DokuWiki erfolgreich auf dem Debian-10-Server installiert und konfiguriert. Sie können jetzt Ihre eigene Wiki-Site einfach mit DokuWiki erstellen.

Das könnte Dich auch interessieren …