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:11] torsten.roehlprojekt:dokuwiki [2026/02/25 07:48] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 ====== Dokuwiki ====== ====== Dokuwiki ======
 +[[raspberry_pi:einstiegskurs_raspberry_pi|  ☚ zurück - Einstiegskurs]]
  
-[[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.
  
  
 ====== Überblick ====== ====== Überblick ======
   * **Webserver <color #7092be>(Apache2 & PHP)</color> installieren**   * **Webserver <color #7092be>(Apache2 & PHP)</color> installieren**
 +  * **Webserver <color #7092be>STARTSEITE</color> erstellen**
   * **DokuWiki <color #7092be">(Download & Konfiguration)</color>**   * **DokuWiki <color #7092be">(Download & Konfiguration)</color>**
   * **DokuWiki <color #7092be">(Installation)</color>**   * **DokuWiki <color #7092be">(Installation)</color>**
  
 ====== Details ====== ====== Details ======
 +
 ===== Webserver (Apache2 & PHP) installieren ===== ===== Webserver (Apache2 & PHP) installieren =====
  
-**Apache2 ist ein Webserve**r, der Anfragen von Browsern entgegennimmt und Webseiten ausliefert. +**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. **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.+<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 32: Zeile 40:
  
  
-=== Überprüfen, ob der Webserver läuft === +==== Apache2 Konfiguration ==== 
-Um sicherzustellen, dass Apache2 korrekt gestartet wurde und Webseiten ausliefern kann, sollte der Status des Servers überprüft werden.  + 
 +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> <code bash>
Zeile 44: Zeile 120:
   * Von einem anderen Gerät im Netzwerk: ''%%http://IP-Adresse-des-Raspberry-Pi%%''   * Von einem anderen Gerät im Netzwerk: ''%%http://IP-Adresse-des-Raspberry-Pi%%''
  
 +|{{ :raspberry_pi:apach2_neu.png?600 |}}|
 +|Ein frisch aufgesetzter Apache2-Webserver.|
  
  
  
 +
 +----
 +
 +
 +===== Webserver STARTSEITE erstellen =====
 +
 +Im Verzeichnis des Apache2-Webservers (''/var/www/html'') wird eine ''index.html'' bereitgestellt. 
 +Beim Aufruf der **IP-Adresse des Raspberry Pi im Browser** wird diese Startseite geladen, über die anschließend das gewünschte Projekt ausgewählt werden kann.
 +
 +<note tip> **Tip**
 +
 +Bevor die neue ''index.html'' im Verzeichnis ''/var/www/html'' erstellt wird, sollte die vorhandene Apache-Standardseite ''index.html'' gesichert werden.
 +<code bash>
 +sudo mv /var/www/html/index.html /var/www/html/index_course_backup.html
 +</code>
 +</note>
 +
 +<code html /var/www/html/index.html>
 +<!DOCTYPE html>
 +<html>
 +<head>
 +    <title>Projekt Auswahl</title>
 +</head>
 +<body>
 +
 +<h1>Projekt Auswahl</h1>
 +
 +<ul>
 +    <li><a href="/wiki">DokuWiki</a></li>  
 +    <li><a href="/html">HTML</a></li>  
 +</ul>
 +
 +</body>
 +</html>
 +</code>
 +
 +
 +Im Verlauf des Kurses werden weitere Links ergänzt, beispielsweise zur Steuerung der LED-Ampel.
 +Diese werden jeweils im ''<ul>''-Abschnitt eingefügt.
 +Der Bereich „**HTML**“ ist für eigene Experimente vorgesehen.
  
 ===== DokuWiki (Download & Konfiguration) ===== ===== DokuWiki (Download & Konfiguration) =====
Zeile 65: Zeile 183:
 ++++ ++++
  
-=== DokuWiki herunterladen ===+==== Download ====
  
 |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}| |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}|
Zeile 80: Zeile 198:
   * 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 89: Zeile 213:
 |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 109: Zeile 233:
 === 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.1770973899.txt.gz · Zuletzt geändert: von torsten.roehl