Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekt:dokuwiki

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekt:dokuwiki [2026/02/13 08:59] torsten.roehlprojekt:dokuwiki [2026/02/13 16:47] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 +====== Dokuwiki ======
 +[[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück ]]
 +
 +//Dieses Kapitel beschreibt die Installation und Konfiguration von DokuWiki auf einem Raspberry Pi. Es werden die Einrichtung des Webservers (Apache2 & PHP), der Download und die Konfiguration von DokuWiki sowie die notwendigen Berechtigungen  behandelt.// 
 +{{ :projekt:dokuwiki_logo.png?200|}}
 +
 +
 +
 +Das offizielle DokuWiki-Logo ist
 +unter der GNU General Public License (GPL)
 +veröffentlicht, wie auch die gesamte
 +DokuWiki-Software selbst.
 +
 +
 +====== Überblick ======
 +  * **Webserver <color #7092be>(Apache2 & PHP)</color> installieren**
 +  * **DokuWiki <color #7092be">(Download & Konfiguration)</color>**
 +  * **DokuWiki <color #7092be">(Installation)</color>**
 +
 +====== Details ======
 +
 +===== Webserver (Apache2 & PHP) installieren =====
 +
 +**Apache2 ist ein Webserver**, der Anfragen von Browsern entgegennimmt und Webseiten ausliefert.
 +**PHP ist eine serverseitige Scriptsprache**, mit der dynamische Inhalte erzeugt werden können.
 +
 +<note>
 +Apache2 und PHP bilden zusammen die Grundlage, um DokuWiki auf dem Raspberry Pi im lokalen Netzwerk oder Internet bereitzustellen.
 +</note>
 +
 +
 +==== Apache2 und PHP ====
 +<code bash>
 +sudo apt update && sudo apt upgrade -y 
 +sudo apt install -y apache2 php libapache2-mod-php php-xml php-mbstring php-zip php-gd php-json php-curl php-opcache 
 +sudo systemctl restart apache2
 +</code>
 +
 +
 +
 +==== Apache2 Konfiguration ====
 +
 +Damit das **DokuWiki** korrekt funktioniert, müssen zwei Dinge eingerichtet werden:
 +
 +
 +<note important>
 +Bevor die ''apache2.conf'' editiert wird, sollte man das Original sichern:
 +
 +<code>
 +sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2_course_backup.conf
 +</code>
 +</note>
 +
 +
 +++++ Apache `.htaccess`-Dateien erlauben |
 +<note>
 +`.htaccess` muss erlaubt werden, damit DokuWiki wichtige Konfigurationsregeln wie Pretty URLs und Berechtigungen umsetzen kann.
 +</note>
 +
 +
 +In der Datei ''/etc/apache2/apache2.conf'' muss im Abschnitt:
 +
 +<code>
 +<Directory /var/www/>
 +    ...
 +    AllowOverride None
 +    ...
 +</Directory>
 +</code>
 +
 +die Zeile ''AllowOverride None'' auf ''All'' geändert werden:
 +
 +<code>
 +<Directory /var/www/>
 +    ...
 +    AllowOverride All
 +    ...
 +</Directory>
 +</code>
 +
 +
 +<note tip>
 +**Tipp:** Wenn DokuWiki nur in einem Unterverzeichnis liegt, z. B. ''/var/www/wiki/'', kann auch gezielt nur dieses Verzeichnis gesetzt werden:
 +
 +<code>
 +<Directory /var/www/wiki/>
 +    AllowOverride All
 +</Directory>
 +</code>
 +</note>
 +++++
 +
 +++++ Mod Rewrite aktivieren |
 +
 +<note>
 +Mod Rewrite muss aktiviert werden, damit DokuWiki sogenannte „Pretty URLs“ nutzen kann, also saubere, benutzerfreundliche Webadressen ohne Parameter wie `?id=`.
 +</note>
 +
 +Jetzt wird Mod Rewrite aktiviert und der Webserver neugestartet:
 +
 +<code>
 +sudo a2enmod rewrite
 +sudo systemctl restart apache2
 +</code>
 +++++
 +
 +
 +==== Überprüfen, ob der Webserver läuft ====
 +
 +Um sicherzustellen, dass Apache2 korrekt gestartet wurde und Webseiten ausliefern kann, sollte der Status des Servers überprüft werden.
 +
 +<code bash>
 +sudo systemctl status apache2    # Zeigt den aktuellen Status von Apache2
 +</code>
 +
 +
 +Außerdem sollte der Webserver über einen Browser getestet werden:
 +  *  Lokal auf dem Raspberry Pi: ''%%http://localhost%%''  
 +  * Von einem anderen Gerät im Netzwerk: ''%%http://IP-Adresse-des-Raspberry-Pi%%''
 +
 +|{{ :raspberry_pi:apach2_neu.png?600 |}}|
 +|Ein frisch aufgesetzter Apache2-Webserver.|
 +
 +
 +
 +
 +----
 +
 +
 ===== DokuWiki (Download & Konfiguration) ===== ===== DokuWiki (Download & Konfiguration) =====
 +
  
 ++++ Headless Raspberry Pi | ++++ Headless Raspberry Pi |
Zeile 8: Zeile 138:
  
 Es stehen zwei Methoden zur Auswahl: Es stehen zwei Methoden zur Auswahl:
-  * ein SFTP-GUI-Client (z. B. FileZilla)+  * ein SFTP-GUI-Client (z. B. FileZilla)
   * oder ''scp'' auf der Konsole   * oder ''scp'' auf der Konsole
  
Zeile 16: Zeile 146:
 ++++ ++++
  
-=== DokuWiki herunterladen ===+==== Download ====
  
 |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}| |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}|
 |Die offizielle Website des DokuWiki.|  |Die offizielle Website des DokuWiki.| 
  
-DokuWiki wird über die offizielle Website :contentReference[oaicite:0]{index=0} heruntergeladen.+DokuWiki wird über die offizielle Website DokuWiki heruntergeladen.
  
 **Wir verwenden stets die Version: Stable.** **Wir verwenden stets die Version: Stable.**
Zeile 31: Zeile 161:
   * https://www.dokuwiki.org/dokuwiki   * https://www.dokuwiki.org/dokuwiki
 </note> </note>
 +
 +
 +<note>Nach dem Herunterladen benennen wir die Datei auf ''dokuwiki-stable.tgz'' um!
 +
 +**Dadurch können die hier aufgeführten Befehle einfacher übernommen werden. :-)**</note> 
 +
  
 Wir verwenden folgende Einstellungen: Wir verwenden folgende Einstellungen:
Zeile 40: Zeile 176:
 |Die Abbildung zeigt die von uns verwendeten Einstellungen zum Download von DokuWiki.| |Die Abbildung zeigt die von uns verwendeten Einstellungen zum Download von DokuWiki.|
  
-=== Konfiguration ===+==== Konfiguration ====
 Nach dem Herunterladen muss die Datei ''(*.tgz)'' in das Verzeichnis ''/var/www/html'' kopiert und dort entpackt werden. Nach dem Herunterladen muss die Datei ''(*.tgz)'' in das Verzeichnis ''/var/www/html'' kopiert und dort entpackt werden.
  
Zeile 49: Zeile 185:
 </code> </code>
  
-Anschließend muss sichergestellt werden, dass die Verzeichnisse und Dateien dem Benutzer und der Gruppe ''www-data'' zugeordnet sind, wie es für :contentReference[oaicite:1]{index=1} erforderlich ist.+Anschließend muss sichergestellt werden, dass die Verzeichnisse und Dateien dem Benutzer und der Gruppe ''www-data'' zugeordnet sind, wie es für Apache HTTP Server erforderlich ist.
  
 Schließlich sollte das Verzeichnis noch „ordentlich“ umbenannt werden. Erst danach kann die eigentliche Installation von DokuWiki erfolgen. Schließlich sollte das Verzeichnis noch „ordentlich“ umbenannt werden. Erst danach kann die eigentliche Installation von DokuWiki erfolgen.
Zeile 60: Zeile 196:
 === Wiki bearbeiten === === Wiki bearbeiten ===
 ++++ Um produktiv arbeiten zu können | ++++ Um produktiv arbeiten zu können |
-kann der Benutzer (hier: pi) der Gruppe www-data hinzugefügt werden. Für ein Heimnetzwerk wie "BASELSYSTEM" ist das eine gute Lösung. Für professionelle Ansprüche existieren natürlich auch andere Alternativen.+kann der Benutzer (hier: pi) der Gruppe www-data hinzugefügt werden. 
 + 
 +<note>Diese Vorgehensweise eignet sich gut für Heimnetzwerke; in professionellen Umgebungen werden dagegen separate Benutzer, Benutzergruppen, ACLs oder Containerlösungen eingesetzt, um Rechte und Sicherheit gezielt zu steuern.</note> 
 + 
  
 <code bash> <code bash>
-sudo usermod -aG www-data pi +sudo usermod -aG www-data pi                                # pi in die Gruppe www-data 
-newgrp www-data+ 
 +sudo chmod g+s /var/www/html/wiki                           # Gruppenzugehörigkeit sicherstellen! 
 + 
 +sudo find /var/www/html/wiki -type d -exec chmod 775 {} \;  # Verzeichnisse 
 +sudo find /var/www/html/wiki -type f -exec chmod 664 {} \;  # Dateien 
 + 
 +newgrp www-data                                             # oder Alternativ neu anmelden!
 </code> </code>
 ++++ ++++
 +
 +
 +----
 +
 +
 +===== DokuWiki (Installation) =====
 +Die Installation von DokuWiki läuft nach folgendem Schema ab:  
 +  - Eine Installationsseite (hier: install.php) wird über den Webserver aufgerufen. 
 +  - Danach folgt man den Anweisungen für die jeweilige Installationsroutine.
 +  - Zum Schluss sind häufig Aufräumarbeiten durchzuführen. Bei DokuWiki bedeutet das, dass die Installationsdatei auf dem Server gelöscht werden muss.
 +
 +<note>Dieses Schema kann beliebig oft mit einer neuen Installation wiederholt werden, falls man das Wiki durch zu viel Experimentieren „zerschossen“ haben sollte.
 +Dazu löscht man einfach das alte Wiki-Verzeichnis und beginnt erneut, indem man die heruntergeladene Datei – wie weiter oben beschrieben – extrahiert.</note>
 +
 +==== Anleitung ====
 +
 +Zum Starten des **Installers** wird die **IP-Adresse** gefolgt von ''/wiki/install.php'' im Browser aufgerufen.
 +
 +<WRAP center round box 90%>
 +**Beispiel**
 +
 +Wenn die IP-Adresse z.B. ''172.16.33.209'' ist, muss folgende URL im Browser aufgerufen werden:
 +<code>
 +172.16.33.209/wiki/install.php
 +</code>
 +
 +</WRAP>
 +
 +=== Installation Hauptseite ===
 +
 +  * Zuerst die Sprache oben wählen, sonst muss man alles von vorne neu eintragen.
 +  * Die <color #ff7f27>Warnung</color> kann ignoriert werden, da wir **Apache2** schon ausreichend abgesichert haben.
 +  * Wir wählen ein privates **(geschlossenes)** Wiki!
 +
 +
 +|{{ :raspberry_pi:wiki_install.png?550 |}}|
 +|Die Installation besteht nur aus dieser Seite (siehe Abbildung), in der einiges eingetragen werden muss.|
 +
 +
 +
 +=== Installation erfolgreich beendet ===
 +|{{ :raspberry_pi:wiki_erfolg.png?400 |}}|
 +|Bei Erfolg erscheint die Meldung, dass die ''install.php'' im Verzeichnis ''/var/www/html/wiki/'' nun gelöscht werden muss.|
 +<note important>
 +Die ''install.php'' muss gelöscht werden, um zu verhindern, dass Unbefugte die Installation erneut starten und Zugriff auf das Wiki erhalten.
 +</note>
 +
 +<code bash>
 +
 +pi@raspi-209:/var/www/html/wiki $ ls
 +bin   COPYING  doku.php  inc        install.php  README       vendor
 +conf  data     feed.php  index.php  lib          SECURITY.md  VERSION
 +
 +pi@raspi-209:/var/www/html/wiki $ rm install.php 
 +
 +pi@raspi-209:/var/www/html/wiki $ ls
 +bin  conf  COPYING  data  doku.php  feed.php  inc  index.php  lib  README  SECURITY.md  vendor  VERSION
 +pi@raspi-209:/var/www/html/wiki $ 
 +</code>
 +
 +=== Wiki ist einsatzbereit ===
 +|{{ :raspberry_pi:wiki_startpage.png?550 |}}|
 +|Ein frisch aufgesetztes Wiki, bereit, bearbeitet zu werden – 8-)|
 +
 +<note>Wie man anschließend mit dem Wiki arbeitet, wird beispielsweise im Kurs gezeigt.
 +</note>
  
projekt/dokuwiki.1770973164.txt.gz · Zuletzt geändert: von torsten.roehl