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-RELEASE

Aktualisieren 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 -y

Installieren 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 git

Erstellen 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) ALL

Wechseln Sie nun mit dem Befehl su zu Ihrem neu erstellten Benutzer.

su - johndoe

HINWEIS: Ersetzen Sie johndoe durch Ihren Benutzernamen.

Richten Sie die Zeitzone ein.

sudo tzsetup

Schritt 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 Technologies

Setzen Sie einen symbolischen Link von php.ini-production zu php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Aktivieren und starten Sie PHP-FPM.

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Schritt 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.5

Erhalten 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-256

Wenn 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 --list

Erstellen 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:

exit

Schritt 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.1

Aktivieren und starten Sie den Nginx-Dienst.

sudo sysrc nginx_enable=yes  
sudo service nginx start

Fü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.conf

Kopieren 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 -t

Laden Sie Nginx neu.

sudo service nginx reload

Schritt 4 - DokuWiki installieren

Erstellen Sie ein Dokumentstammverzeichnis:

sudo mkdir -p /usr/local/www/dokuwiki

Navigieren Sie zum Dokumentstamm:

cd /usr/local/www/dokuwiki

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

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

Entpacken 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/dokuwiki

Starten 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:

DokuWiki-Installer

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:

Benutzername und Passwort festlegen

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

DokuWiki erfolgreich installiert

Klicken Sie nun auf die Schaltfläche Anmelden. Sie werden auf die folgende Seite umgeleitet:

Anmelden

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:

Willkommen bei DokuWiki

Nach einer erfolgreichen Konfiguration löschen Sie die Datei install.php aus dem DokuWiki-Stammverzeichnis:

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

Herzlichen 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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.