Installation von DokuWiki mit Let’s Encrypt SSL unter Debian 11
DokuWiki ist eine kostenlose, quelloffene und leistungsstarke Wiki-Software, die in PHP geschrieben wurde. Sie verwendet eine Datei, um ihre Daten zu speichern, anstatt eine Datenbank zu benutzen. Sie ist einfach und leichtgewichtig und ermöglicht es dir, eine Website über den Webbrowser zu erstellen und zu bearbeiten. Sie bietet viele Funktionen, mit denen du deine Website leicht skalieren und optimieren kannst. Sie wird von vielen Nutzern wegen ihrer sauberen und lesbaren Syntax, der einfachen Wartung, Sicherung und Integration verwendet.
In diesem Tutorium zeige ich dir, wie du DokuWiki mit Apache und Let’s Encrypt SSL auf Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 20.04 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, solltest du deine Systempakete auf die neueste Version aktualisieren. Du kannst sie aktualisieren, indem du den folgenden Befehl ausführst:
apt-get update -y
Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.
Installiere Apache und PHP
DokuWiki läuft auf Apache oder Nginx und ist in der Programmiersprache PHP geschrieben. Du musst also den Apache, PHP und andere benötigte Erweiterungen auf deinem Server installieren. Du kannst sie installieren, indem du den folgenden Befehl ausführst:
apt-get install apache2 php php-gd php-xml php-json -y
Wenn alle Pakete installiert sind, starte den Apache-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:
systemctl start apache2 systemctl enable apache2
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
DokuWiki installieren
Rufe zunächst die DokuWiki-Downloadseite auf und lade die neueste Version von DokuWiki mit dem folgenden Befehl herunter:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Sobald der Download abgeschlossen ist, erstelle ein Verzeichnis für DokuWiki innerhalb des Apache-Web-Root-Verzeichnisses:
mkdir /var/www/html/dokuwiki
Als Nächstes entpackst du die heruntergeladene Datei mit folgendem Befehl in das DokuWiki-Verzeichnis:
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Als Nächstes kopierst du einige notwendige Dateien mit dem folgenden Befehl:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Als Nächstes musst du die Eigentumsrechte für das DokuWiki-Verzeichnis festlegen:
chown -R www-data:www-data /var/www/html/dokuwiki
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Einen virtuellen Apache-Host für DokuWiki erstellen
Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host erstellen, um DokuWiki im Internet zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/apache2/sites-available/dokuwiki.conf
Füge die folgenden Zeilen hinzu:
<VirtualHost *:80> ServerName dokuwiki.example.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>
Speichere und schließe die Datei und aktiviere die Konfigurationsdatei des virtuellen Hosts mit folgendem Befehl:
a2ensite dokuwiki.conf
Als Nächstes lädst du den Apache neu, damit die Änderungen übernommen werden.
systemctl reload apache2
Du kannst den Apache-Status auch mit dem folgenden Befehl überprüfen:
systemctl status apache2
Du erhältst die folgende Ausgabe:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-10-24 04:01:29 UTC; 9min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 27698 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Tasks: 77 (limit: 4691) Memory: 12.5M CGroup: /system.slice/apache2.service ??21346 /usr/sbin/apache2 -k start ??27703 Passenger watchdog ??27706 Passenger core ??27711 Passenger ust-router ??27729 /usr/sbin/apache2 -k start ??27730 /usr/sbin/apache2 -k start
DokuWiki mit Let’s Encrypt SSL sichern
Nachdem du den Apache konfiguriert hast, solltest du deine Wikiseite mit einem Let’s Encrypt SSL-Zertifikat sichern. Dazu musst du den Certbot-Client auf deinem System installieren. Certbot ist ein einfach zu bedienender Client, der ein Zertifikat von Let’s Encrypt, einer offenen Zertifizierungsstelle, die von der EFF, Mozilla und anderen ins Leben gerufen wurde, abruft und es auf einem Webserver bereitstellt. Mit dem Certbot Let’s Encrypt Client kannst du das SSL-Zertifikat für deine Domain ganz einfach herunterladen, installieren und erneuern.
Du kannst den Certbot mit dem folgenden Befehl installieren:
apt-get install certbot python3-certbot-apache -y
Sobald der Certbot-Client erfolgreich installiert wurde, führe den folgenden Befehl aus, um das Let’s Encrypt SSL-Zertifikat für deine Website zu installieren:
certbot --apache -d dokuwiki.example.com
Du wirst aufgefordert, deine gültige E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):
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): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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.example.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
Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder ob Nginx so konfiguriert werden soll, dass der gesamte Verkehr auf einen sicheren HTTPS-Zugang 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
Gib 2 ein und drücke die Eingabetaste, um den Vorgang zu starten. Sobald die Installation abgeschlossen ist, solltest du 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.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem Your cert will expire on 2021-01-25. 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 deine Dokuwiki-Website mit Let’s Encrypt SSL gesichert. Du kannst jetzt über das HTTPS-Protokoll sicher auf deine Website zugreifen.
Einrichten der automatischen Erneuerung von Let’s Encrypt SSL-Zertifikaten
Let’s Encrypt Zertifikate sind standardmäßig 90 Tage lang gültig. Daher musst du 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 ausgeführt wird.
Wenn du das SSL-Zertifikat manuell erneuern möchtest, führe den folgenden Befehl aus:
certbot renew --dry-run
Du kannst einen Cron-Job einrichten, der das SSL-Zertifikat jeden Tag um 10:00 Uhr automatisch erneuert, indem du die folgende Datei bearbeitest:
crontab -e
Füge die folgende Zeile hinzu:
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Speichere und schließe die Datei, wenn du fertig bist.
Zugriff auf DokuWiki
Öffne nun deinen Webbrowser und gib die URL https://dokuwiki.example.com/install.php ein. Du solltest den Installationsbildschirm von DokuWiki sehen:
Gib deinen Wiki-Namen, deinen Admin-Benutzernamen, dein Passwort und deine E-Mail-Adresse ein, wähle deine Richtlinie und klicke auf die Schaltfläche Speichern. Du wirst auf die folgende Seite weitergeleitet:
Klicke auf„Dein neues DokuWiki„. Du solltest den folgenden Bildschirm sehen:
Klicke auf die Schaltfläche “ Anmelden“. Du wirst zum DokuWiki-Anmeldebildschirm weitergeleitet (siehe unten):
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf dem folgenden Bildschirm solltest du das DokuWiki-Dashboard sehen:
Fazit
Glückwunsch! Du hast DokuWiki erfolgreich installiert und mit Let’s Encrypt SSL auf Debian 11 gesichert. Jetzt kannst du damit beginnen, deine erste Website mit DokuWiki zu erstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.