Wie man DokuWiki mit Nginx und Let’s encrypt SSL auf CentOS 8 installiert

DokuWiki ist eine einfach zu benutzende und sehr vielseitige Open-Source-Wiki-Software, die keine Datenbank benötigt. Sie wird von den Benutzern wegen ihrer sauberen und lesbaren Syntax geliebt. Die Leichtigkeit der 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 ein breites Spektrum von Anwendungsfällen, die über ein traditionelles Wiki hinausgehen. Dieses Tutorial zeigt Ihnen, wie Sie DokuWiki auf einem frischen CentOS 8-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 Betriebssystem CentOS 8.
  • Ein Nicht-Root-Benutzer mit sudoBerechtigungen.

Erste Schritte

Überprüfen Sie Ihre CentOS-Version:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (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, denn er stellt sicher, dass Sie über die neuesten Aktualisierungen und Sicherheitskorrekturen für die Standard-Softwarepakete Ihres Betriebssystems verfügen:

sudo dnf update -y

Installieren Sie einige wesentliche Pakete, die für die grundlegende Administration des CentOS-Betriebssystems notwendig sind:

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

Schritt 1 – PHP und PHP-Erweiterungen installieren

Installieren Sie PHP und die erforderlichen PHP-Erweiterungen:

sudo dnf install -y php php-cli php-fpm php-gd php-xml php-zip

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

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

Prüfen Sie die PHP-Version:

php --version
# PHP 7.2.11-1-(cli) (built: Oct 26 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

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

Die Sicherung Ihrer Site mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr Ihrer Site 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 [email protected]
source ~/.bashrc
cd ~

acme.sh-Version prüfen:

acme.sh --version
# v2.8.2

Erhalten Sie 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 gefälschte Zertifikate zum Testen benötigen, können Sie den obigen Befehlen ein --stagingFlag hinzufügen.

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 den Tarball ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis zum Speichern 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 herunterladen und installieren.

# 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 läuft auf jedem Webserver, 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 CentOS-Repository herunter und installieren Sie es:

sudo dnf 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/conf.d/dokuwiki.conf

Kopieren/einfügen Sie die folgende Nginx-Konfiguration 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 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

Überprüfen Sie die Nginx-Konfiguration:

sudo nginx -t

Nginx neu laden:

sudo systemctl reload nginx.service

Schritt 4 – DokuWiki installieren

Erstellen Sie ein Dokument-Stammverzeichnis:

sudo mkdir -p /var/www/dokuwiki

Navigieren Sie zum Stammverzeichnis des Dokuments:

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 nginx:nginx /var/www/dokuwiki

Ausführen sudo vim /etc/php-fpm.d/www.confund setzen Sie Benutzer und Gruppe auf nginx. Anfänglich wird es auf Benutzer und Gruppe apachegesetzt.

sudo vim /etc/php-fpm.d/www.conf

neu starten 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. Es erstellt auch ein anfängliches Administratorkonto und eine anfängliche ACL-Richtlinie. Um das Installationsprogramm auszuführen, öffnen http://wiki.example.com/install.phpSie es im 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 umgeleitet:

DikuWiki-Installationsprogramm

Geben Sie alle erforderlichen Informationen wie Superusernamen, 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 nun auf Ihr neues DokuWiki. Sie sollten die folgende Seite sehen:

DokuWiki erfolgreich installiert

Klicken Sie jetzt auf die Anmeldeschaltfläche. 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 einer erfolgreichen 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 CentOS 8-Server installiert und konfiguriert. Sie können nun Ihre eigene Wiki-Site einfach mit DokuWiki erstellen.

Das könnte dich auch interessieren …