Installation · 6 min read · Dec 14, 2025
So installieren Sie DokuWiki mit Nginx und Let's Encrypt SSL auf FreeBSD 12
DokuWiki ist eine einfach zu bedienende und äußerst vielseitige Open Source Wiki-Software, die keine Datenbank benötigt. Benutzer lieben es wegen seiner sauberen und lesbaren Syntax. Die einfache Wartung, Sicherung und Integration macht es zu einem Favoriten unter Administratoren. Eingebaute Zugriffskontrollen und Authentifizierungsverbindungen machen DokuWiki besonders nützlich im Unternehmenskontext, und eine große Anzahl von Plugins, die von seiner lebhaften Community beigetragen wurden, ermöglicht eine breite Palette von Anwendungsfällen über ein traditionelles Wiki hinaus. Dieses Tutorial zeigt Ihnen, wie Sie DokuWiki auf einem FreeBSD 12-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 FreeBSD 12-Betriebssystem.
- Ein Nicht-Root-Benutzer mit
sudo-Rechten.
Erste Schritte
Überprüfen Sie die FreeBSD-Version.
uname -ro
# FreeBSD 12.1-RELEASEAktualisieren Sie die Pakete Ihres Betriebssystems (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems haben.
freebsd-update fetch install
pkg update && pkg upgrade -yInstallieren Sie einige essentielle Pakete, die für die grundlegende Verwaltung des FreeBSD 12-Betriebssystems erforderlich sind.
pkg install -y sudo vim unzip curl wget bash bash-completion socat gitErstellen Sie ein neues Benutzerkonto mit Ihrem bevorzugten Benutzernamen, wir verwenden johndoe.
adduser
# Benutzername: johndoe
# Vollständiger Name: John Doe
# Uid (Leer lassen für Standard):
# Anmeldegruppe [johndoe]:
# Anmeldegruppe ist johndoe. johndoe in andere Gruppen einladen? []: wheel
# Anmeldeklasse [default]:
# Shell (sh csh tcsh nologin) [sh]: bash
# Heimatverzeichnis [/home/johndoe]:
# Berechtigungen für das Heimatverzeichnis (Leer lassen für Standard):
# Passwortbasierte Authentifizierung verwenden? [ja]:
# Ein leeres Passwort verwenden? (ja/nein) [nein]:
# Ein zufälliges Passwort verwenden? (ja/nein) [nein]:
# Passwort eingeben: your_secure_password
# Passwort erneut eingeben: your_secure_password
# Konto nach der Erstellung sperren? [nein]:
# OK? (ja/nein): ja
# Einen weiteren Benutzer hinzufügen? (ja/nein): nein
# Auf Wiedersehen! Führen Sie den Befehl visudo aus und entfernen Sie das Kommentarzeichen von der Zeile %wheel ALL=(ALL) ALL, um Mitgliedern der wheel-Gruppe die Ausführung beliebiger Befehle zu ermöglichen.
visudo
# Kommentar entfernen, indem Sie das Hash-Zeichen (#) entfernen
%wheel ALL=(ALL) ALLWechseln Sie nun mit dem Befehl su zu Ihrem neu erstellten Benutzer.
su - johndoeHINWEIS: Ersetzen Sie johndoe durch Ihren Benutzernamen.
Richten Sie die Zeitzone ein.
sudo tzsetupSchritt 1 - PHP und PHP-Erweiterungen installieren
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen.
sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsqlÜberprüfen Sie die PHP-Version.
php --version
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend TechnologiesSetzen Sie einen symbolischen Link von php.ini-production zu php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.iniAktivieren und starten Sie PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startSchritt 2 - acme.sh-Client installieren und Let’s Encrypt-Zertifikat erhalten (optional)
Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, 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 einfache UNIX-Shell-Software zum Erhalten von TLS-Zertifikaten von Let’s Encrypt mit null Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo pkg install -y acme.shÜberprüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.5Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Ihren Hostnamen:
# RSA 2048
sudo acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone -d example.com --keylength ec-256Wenn Sie gefälschte Zertifikate zu Testzwecken möchten, können Sie das --staging-Flag zu den obigen Befehlen hinzufügen.
Nach dem Ausführen der obigen Befehle befinden sich Ihre Zertifikate und Schlüssel in:
- Für RSA: Verzeichnis
/home/username/example.com. - Für ECC/ECDSA: Verzeichnis
/home/username/example.com_ecc.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --listErstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir verwenden das Verzeichnis /etc/letsencrypt.
`sudo mkdir -p /etc/letsecnrypt/example.com`
`sudo mkdir -p /etc/letsencrypt/example.com_ecc`Installieren/kopieren Sie die Zertifikate in das Verzeichnis /etc/letsencrypt.
# RSA
sudo 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
sudo 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, verlassen Sie den Root-Benutzer und kehren Sie zum regulären Sudo-Benutzer zurück:
exitSchritt 3 - Nginx installieren und konfigurieren
DokuWiki kann auf jedem Webserver ausgeführt werden, der PHP unterstützt. In diesem Tutorial verwenden wir Nginx. Wenn Sie Apache oder einen anderen Webserver bevorzugen, können Sie diesen anstelle von Nginx verwenden.
Installieren Sie Nginx.
sudo pkg install -y nginxÜberprüfen Sie die Nginx-Version.
nginx -v
# nginx version: nginx/1.16.1Aktivieren und starten Sie den Nginx-Dienst.
sudo sysrc nginx_enable=yes
sudo service nginx startFühren Sie sudo vim /usr/local/etc/nginx/dokuwiki.conf aus und richten Sie den Nginx-virtuellen Server für DokuWiki ein.
sudo vim /usr/local/etc/nginx/dokuwiki.confKopieren 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 /usr/local/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 $uri/ /doku.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param REDIRECT_STATUS 200;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Speichern Sie die Datei und verlassen Sie Ihren Editor.
Fügen Sie die Datei dokuwiki.conf zur Hauptdatei nginx.conf hinzu, indem Sie sudo vim /usr/local/etc/nginx/nginx.conf ausführen und die folgende Zeile zum http {}-Block hinzufügen.
include dokuwiki.conf;
Testen Sie unsere Nginx-Konfigurationsänderungen.
sudo nginx -tLaden Sie Nginx neu.
sudo service nginx reloadSchritt 4 - DokuWiki installieren
Erstellen Sie ein Dokumentstammverzeichnis:
sudo mkdir -p /usr/local/www/dokuwikiNavigieren Sie zum Dokumentstamm:
cd /usr/local/www/dokuwikiLaden Sie die neueste stabile Version von DokuWiki von der DokuWiki-Downloadseite herunter:
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgzEntpacken Sie das DokuWiki-Tarball:
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 Verzeichnisses /var/www/dokuwiki in www:
sudo chown -R www:www /usr/local/www/dokuwikiStarten Sie PHP-FPM neu :
sudo service php-fpm restartÖffnen Sie das DokuWiki-Setup-Skript install.php in Ihrem Browser und richten Sie DokuWiki ein. Das Setup-Skript überprüft die Verfügbarkeit der erforderlichen PHP-Funktionen und prüft die erforderlichen Dateiberechtigungen. Es erstellt auch ein erstes Administratorkonto und eine erste ACL-Richtlinie. Um den Installer auszuführen, öffnen Sie http://wiki.example.com/install.php im Browser und folgen Sie den Anweisungen.
Schritt 5 - Zugriff auf die DokuWiki-Weboberfläche
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com/install.php ein. Sie werden auf die folgende Seite umgeleitet:
Geben Sie alle erforderlichen Informationen wie Superbenutzername, E-Mail und Passwort ein. Klicken Sie dann auf die Schaltfläche Speichern. Sobald die Installation erfolgreich abgeschlossen wurde, sollten Sie die folgende Seite sehen:
Klicken Sie nun auf Ihr neues DokuWiki. Sie sollten die folgende Seite sehen:
Klicken Sie nun auf die Schaltfläche Anmelden. Sie werden auf die folgende Seite umgeleitet:
Geben Sie nun Ihren Admin-Benutzernamen und Ihr Passwort ein. Klicken Sie dann auf die Schaltfläche Einloggen. Sie sollten das DokuWiki-Dashboard auf der folgenden Seite sehen:
Nach einer erfolgreichen Konfiguration löschen Sie die Datei install.php aus dem DokuWiki-Stammverzeichnis:
sudo rm /var/www/dokuwiki/install.phpHerzlichen Glückwunsch! Sie haben DokuWiki erfolgreich auf dem FreeBSD 12-Server installiert und konfiguriert. Sie können jetzt ganz einfach Ihre eigene Wiki-Website mit DokuWiki erstellen.
Links
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.