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
sudo
Berechtigungen.
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 --staging
Kennzeichen hinzufügen.
Nachdem Sie die oben genannten Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel 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 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.conf
Konfiguration, indem Sie die Datei mit dem sites-enabled
Verzeichnis 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/dokuwiki
Verzeichnisses 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.php
Sie 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:
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:
Klicken Sie jetzt auf Ihr neues DokuWiki. Sie sollten die folgende Seite sehen:
Klicken Sie nun auf die Schaltfläche „Login“. Sie werden auf die folgende Seite weitergeleitet:
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:
Nach erfolgreicher Konfiguration löschen Sie die install.php
Datei 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.