====== 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 (Apache2 & PHP) installieren** * **DokuWiki (Download & Konfiguration)** * **DokuWiki (Installation)** ====== 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. Apache2 und PHP bilden zusammen die Grundlage, um DokuWiki auf dem Raspberry Pi im lokalen Netzwerk oder Internet bereitzustellen. ==== Apache2 und PHP ==== 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 ==== Apache2 Konfiguration ==== Damit das **DokuWiki** korrekt funktioniert, müssen zwei Dinge eingerichtet werden: Bevor die ''apache2.conf'' editiert wird, sollte man das Original sichern: sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2_course_backup.conf ++++ Apache `.htaccess`-Dateien erlauben | `.htaccess` muss erlaubt werden, damit DokuWiki wichtige Konfigurationsregeln wie Pretty URLs und Berechtigungen umsetzen kann. In der Datei ''/etc/apache2/apache2.conf'' muss im Abschnitt: ... AllowOverride None ... die Zeile ''AllowOverride None'' auf ''All'' geändert werden: ... AllowOverride All ... **Tipp:** Wenn DokuWiki nur in einem Unterverzeichnis liegt, z. B. ''/var/www/wiki/'', kann auch gezielt nur dieses Verzeichnis gesetzt werden: AllowOverride All ++++ ++++ Mod Rewrite aktivieren | Mod Rewrite muss aktiviert werden, damit DokuWiki sogenannte „Pretty URLs“ nutzen kann, also saubere, benutzerfreundliche Webadressen ohne Parameter wie `?id=`. Jetzt wird Mod Rewrite aktiviert und der Webserver neugestartet: sudo a2enmod rewrite sudo systemctl restart apache2 ++++ ==== Ü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. sudo systemctl status apache2 # Zeigt den aktuellen Status von Apache2 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) ===== ++++ Headless Raspberry Pi | Das Herunterladen geschieht normalerweise auf dem Remote-Rechner. Dadurch stellt sich die Frage, wie DokuWiki auf den Raspberry Pi übertragen wird. Man könnte //(nicht empfohlen)// auch über **VNC** arbeiten. Damit wäre dieses Problem gelöst. Wir wollen jedoch lernen, wie man unter Linux auf der Konsole arbeitet. :-) Es stehen zwei Methoden zur Auswahl: * ein SFTP-GUI-Client (z. B. FileZilla) * oder ''scp'' auf der Konsole **Im Kurs werden alle drei Methoden (VNC, FileZilla und scp) geübt.** ++++ ==== Download ==== |{{ :raspberry_pi:dokuwiki_download1.png?400 |}}| |Die offizielle Website des DokuWiki.| DokuWiki wird über die offizielle Website DokuWiki heruntergeladen. **Wir verwenden stets die Version: Stable.** Beim Download kann zusätzlich angegeben werden, welche Sprachen oder Plugins enthalten sein sollen. DokuWiki herunterladen: * https://www.dokuwiki.org/dokuwiki Nach dem Herunterladen benennen wir die Datei auf ''dokuwiki-stable.tgz'' um! **Dadurch können die hier aufgeführten Befehle einfacher übernommen werden. :-)** Wir verwenden folgende Einstellungen: * **Sprache:** nur Englisch und Deutsch * **Plugins:** Alle Plugins aktivieren * **Version:** Wir wählen die **Stable-Version** |{{ :raspberry_pi:dokuwiki_download.png?600 |}}| |Die Abbildung zeigt die von uns verwendeten Einstellungen zum Download von DokuWiki.| ==== Konfiguration ==== Nach dem Herunterladen muss die Datei ''(*.tgz)'' in das Verzeichnis ''/var/www/html'' kopiert und dort entpackt werden. sudo cp ~/dokuwiki-stable.tgz /var/www/html # kopieren (User pi) nach /var/www/html cd /var/www/html # in das Verzeichnis wechseln sudo tar -xzf dokuwiki-stable.tgz # auspacken (extrahieren) 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. sudo chown -R www-data:www-data dokuwiki* # Benutzer und Gruppe auf www-data setzen sudo mv dokuwiki* wiki # umbenennen === Wiki bearbeiten === ++++ Um produktiv arbeiten zu können | kann der Benutzer (hier: pi) der Gruppe www-data hinzugefügt werden. 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. sudo usermod -aG www-data pi # pi in die Gruppe 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! ++++ ---- ===== 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. 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. ==== Anleitung ==== Zum Starten des **Installers** wird die **IP-Adresse** gefolgt von ''/wiki/install.php'' im Browser aufgerufen. **Beispiel** Wenn die IP-Adresse z.B. ''172.16.33.209'' ist, muss folgende URL im Browser aufgerufen werden: 172.16.33.209/wiki/install.php === Installation Hauptseite === * Zuerst die Sprache oben wählen, sonst muss man alles von vorne neu eintragen. * Die Warnung 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.| Die ''install.php'' muss gelöscht werden, um zu verhindern, dass Unbefugte die Installation erneut starten und Zugriff auf das Wiki erhalten. 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 $ === Wiki ist einsatzbereit === |{{ :raspberry_pi:wiki_startpage.png?550 |}}| |Ein frisch aufgesetztes Wiki, bereit, bearbeitet zu werden – 8-)| Wie man anschließend mit dem Wiki arbeitet, wird beispielsweise im Kurs gezeigt.