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 09:05] – [Webserver (Apache2 & PHP) installieren] torsten.roehlprojekt:dokuwiki [2026/02/13 16:47] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
-===== Dokuwiki ====== +====== Dokuwiki ======
 [[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück ]] [[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|}}
 +
  
  
-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+Das offizielle DokuWiki-Logo ist 
 +unter der GNU General Public License (GPL) 
 +veröffentlichtwie auch die gesamte 
 +DokuWiki-Software selbst.
  
  
Zeile 13: Zeile 19:
  
 ====== Details ====== ====== Details ======
 +
 ===== Webserver (Apache2 & PHP) installieren ===== ===== Webserver (Apache2 & PHP) installieren =====
  
-**Apache2 ist ein Webserve**r, der Anfragen von Browsern entgegennimmt und Webseiten ausliefert. **PHP ist eine serverseitige Scriptsprache**, mit der dynamische Inhalte erzeugt werden können. Zusammen bilden sie die Grundlage, um DokuWiki auf dem Raspberry Pi im lokalen Netzwerk oder Internet bereitzustellen.+**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 ===+==== Apache2 und PHP ====
 <code bash> <code bash>
 sudo apt update && sudo apt upgrade -y  sudo apt update && sudo apt upgrade -y 
Zeile 26: Zeile 37:
 </code> </code>
  
-=== Überprüfen, ob der Webserver läuft ===+ 
 + 
 +==== 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 45: Zeile 146:
 ++++ ++++
  
-=== DokuWiki herunterladen ===+==== Download ====
  
 |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}| |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}|
Zeile 60: 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 69: 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 89: 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) ===== ===== DokuWiki (Installation) =====
 Die Installation von DokuWiki läuft nach folgendem Schema ab:   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.+  - 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.
  
-Zum Schluss sind häufig Aufräumarbeiten durchzuführenBei 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 erneutindem man die heruntergeladene Datei – wie weiter oben beschrieben – extrahiert.</note>
  
-Dieses Schema kann beliebig oft mit einer neuen Installation wiederholt werden, falls man das Wiki durch zu viel Experimentieren „zerschießen“ sollte.+==== 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 Meldungdass 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.1770973550.txt.gz · Zuletzt geändert: von torsten.roehl