Wie man DokuWiki auf Ubuntu 20.04 LTS installiert

DokuWiki ist eine freie, quelloffene und äußerst vielseitige Wiki-Anwendung, die in PHP geschrieben wurde. Sie ist einfach und leichtgewichtig und verwendet ein einfaches Dateiformat zur Speicherung ihrer Daten, so dass sie keine Datenbank benötigt. Es ist bekannt für seine saubere und lesbare Syntax und erlaubt Ihnen die einfache Skalierung und Optimierung mit vielen fortgeschrittenen Funktionen. Sie können Ihre persönlichen oder geschäftlichen Websites erstellen, indem Sie einfach ihren Inhalt auf Ihren Server hochladen. Es wird mit einem reichhaltigen Satz von Funktionen geliefert, darunter WYSIWYG-Unterstützung, SEO-freundlich, integrierte Zugriffskontrollen und Authentifizierungskonnektoren, flexibles CSS-Framework und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie DokuWiki mit Apache und Letsencrypt SSL-Zertifikat unter Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domain-Name, der auf Ihren Server verweist.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

Aktualisieren Sie die Systempakete

Bevor Sie beginnen, wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können dies mit dem folgenden Befehl tun:

apt-get update -y
apt-get upgrade -y

Sobald Ihr System aktualisiert ist, starten Sie es neu, um die Änderungen zu implementieren.

Apache und PHP installieren

DokuWiki ist in PHP geschrieben und läuft auf dem Webserver. Sie müssen also den Apache-Webserver, PHP und andere PHP-Bibliotheken auf Ihrem System installieren. Sie können sie alle installieren, indem Sie den folgenden Befehl ausführen:

apt-get install apache2 php php-gd php-xml php-json -y

Wenn alle Pakete installiert sind, starten Sie den Apache-Dienst und aktivieren ihn beim Booten mit dem folgenden Befehl:

systemctl start apache2
systemctl enable apache2

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

DokuWiki herunterladen

Gehen Sie zunächst auf die offizielle DokuWiki-Download-Seite und laden Sie die neueste Version des DokuWiki mit dem folgenden Befehl herunter:

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-rc.tgz

Sobald der Download abgeschlossen ist, erstellen Sie ein DokuWiki-Verzeichnis innerhalb des Apache-Web-Stammverzeichnisses und entpacken Sie das DokuWiki:

mkdir /var/www/html/dokuwiki
tar -xvzf dokuwiki-rc.tgz -C /var/www/html/dokuwiki/ --strip-components=1

Kopieren Sie anschließend die Beispieldatei .htaccess mit folgendem Befehl:

cp /var/www/html/dokuwiki/.htaccess{.dist,}

Als nächstes ändern Sie den Eigentümer des DokuWiki in www-data:

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

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Apache für DokuWiki konfigurieren

Als nächstes erstellen Sie eine Apache-Konfigurationsdatei für virtuelle Hosts, um die DokuWiki-Website bereitzustellen:

nano /etc/apache2/sites-available/dokuwiki.conf

Fügen Sie die folgenden Zeilen hinzu:

<VirtualHost *:80>
        ServerName    dokuwiki.linuxbuz.com      
        DocumentRoot  /var/www/html/dokuwiki

        <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)">
            <IfModule mod_authz_core.c>
                AllowOverride All
                Require all denied
            </IfModule>
            <IfModule !mod_authz_core.c>
                Order allow,deny
                Deny from all
            </IfModule>
        </Directory>

        ErrorLog   /var/log/apache2/dokuwiki_error.log
        CustomLog  /var/log/apache2/dokuwiki_access.log combined
</VirtualHost>

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Aktivieren Sie dann die DokuWiki-Website und laden Sie den Apache-Dienst mit dem folgenden Befehl neu:

a2ensite dokuwiki.conf
systemctl reload apache2

Zu diesem Zeitpunkt ist der Apache-Webserver so konfiguriert, dass er die DokuWiki-Site bedient. Sie können nun mit der Installation von Let’s Encrypt SSL auf Ihrer Website fortfahren.

Sicheres DokuWiki mit Let’s Encrypt SSL

Zunächst müssen Sie den Certbot-Client in Ihrem System installieren. Der Certbot ist ein einfach zu bedienender Client, der ein Zertifikat von Let’s Encrypt, einer offenen Zertifizierungsstelle, die von der EFF, Mozilla und anderen gestartet wurde, abruft und auf einem Webserver einsetzt. Mit dem Certbot Let’s Encrypt-Client können Sie das SSL-Zertifikat für Ihre Domain einfach herunterladen, installieren und erneuern.

Sie können den Certbot mit dem folgenden Befehl installieren:

apt-get install certbot python3-certbot-apache -y

Wenn der Certbot-Client erfolgreich installiert wurde, führen Sie den folgenden Befehl aus, um Let’s Encrypt SSL für Ihre Website zu installieren:

certbot --apache -d dokuwiki.linuxbuz.com

Sie werden aufgefordert, Ihre gültige E-Mail einzugeben und die Servicebedingungen wie unten dargestellt zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for dokuwiki.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf

Wählen Sie als nächstes aus, ob HTTP-Datenverkehr zu HTTPS umgeleitet werden soll oder nicht, oder konfigurieren Sie Nginx so, dass der gesamte Datenverkehr zum sicheren HTTPS-Zugriff umgeleitet wird, wie in der folgenden Ausgabe gezeigt:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Geben Sie 2 ein und drücken Sie Enter, um den Prozess zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://dokuwiki.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/dokuwiki.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/dokuwiki.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-05. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Zu diesem Zeitpunkt ist Ihre Dokuwiki-Site mit Let’s Encrypt SSL gesichert. Sie können jetzt sicher auf Ihre Site über das HTTPS-Protokoll zugreifen.

Zugang zum DokuWiki

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://dokuwiki.linuxbuz.com/install.php ein. Sie sollten den Installationsbildschirm des DokuWiki sehen:

DokuWiki Installer

Lizenz wählen

Geben Sie Ihren Wikinamen, Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse an, wählen Sie Ihre Richtlinie und klicken Sie auf die Schaltfläche Speichern. Sie werden auf die folgende Seite umgeleitet:

Fertige Konfiguration

Klicken Sie auf„Ihr neues DokuWiki„. Sie sollten den folgenden Bildschirm sehen:

DokuWiki-Begrüßungsseite

Klicken Sie auf die Schaltfläche Login. Sie werden zum DokuWiki-Anmeldebildschirm wie unten gezeigt weitergeleitet:

DokuWiki-Anmeldung

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten das DokuWiki-Dashboard auf dem folgenden Bildschirm sehen:

DokuWiki admin dashboard

Einrichten von Let’s Encrypt SSL Certificate Auto-Renewal

Standardmäßig sind Let’s Encrypt-Zertifikate 90 Tage lang gültig. Sie müssen also einen Cron-Job einrichten, um das SSL-Zertifikat automatisch zu erneuern. Es ist sicher, einen Cron-Job zu erstellen, der jede Woche oder sogar jeden Tag läuft.

Wenn Sie das SSL-Zertifikat manuell erneuern möchten, führen Sie den folgenden Befehl aus:

certbot renew --dry-run

Sie können einen Cron-Job einrichten, um das SSL-Zertifikat jeden Tag um 10:00 Uhr automatisch zu erneuern, indem Sie die folgende Datei bearbeiten:

crontab -e

Fügen Sie die folgende Zeile hinzu:

00 10 * * *   root /usr/bin/certbot renew >/dev/null 2>&1

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben DokuWiki erfolgreich installiert und mit Let’s Encrypt SSL auf Ubuntu 20.04 gesichert. Sie können Ihr DokuWiki auch mit Theme, Plugins und Templates erweitern. Wenn Sie Fragen haben, können Sie mich gerne fragen.

Das könnte dich auch interessieren …