Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste


C - Programmierung am Raspberry  Schaltpläne und Bauteilbeschreibungen  Adapterkabel  Mechanik  EDV-Literatur deutsch 



    FIAN Österreich     Marktplatz Natur    
    Bäckerei Freitag

rpi_dw

Raspberry als Dokuwiki-Server

Ver.: 1.01





Voraussetzung ist ein lauffähiges System mit SSH Zugang und einer am USB-Port angeschlossenen Festplatte oder einem USB-Stick.
In diesem Beispiel wird raspbian-buster-lite, Version 2019-09-26 verwendet. Da hier eine längere Installation durchgeführt wird, sollte ein full upgrade durchgeführt werden. Starten, und dann auf einen Kaffee oder so gehen.

Paketlisten aktualisieren

sudo apt full upgrade -y


Fixe IP-Adresse

Der Raspberry Pi bekommt eine fixe IP-Adresse, hier 192.168.20.210. Hierfür öffnen wir die dhcpcd.conf:

sudo nano /etc/dhcpcd.conf

und fügen an das Ende der Datei folgendes ein:

# Eigenes Netzwerk
interface eth0
static ip_address=192.168.20.210/24
static routers=192.168.20.20
static domain_name_servers=192.168.20.20

Die dhcpcd.conf speichern und den Pi rebooten:

sudo reboot

USB Festplatte am Raspberry installieren

Um größere Datenmengen unterzubringen, ist es notwendig, einen Datenträger zu installieren.
Nachdem die Festplatte am USB-Port angeschlossen wurde, müssen wir prüfen, ob sie gefunden wurde.

1. Festplatte erkennen

An der Konsole folgenden Befehl absetzen:

dmesg

damit wird die Festplatte identifiziert. In diesem Fall ist es   /dev/sda1  

Siehe dritte Zeile von unten.

2. Partition erstellen

sudo fdisk /dev/sda

In weiterer Folge nachstehendes am fdisk-Prompt eingeben:

Command (m for help):

n – um eine neue Partition zu erstellen
p – für eine primäre Partition
1 – für die erste Partition
dann 2 x die vorgeschlagenen Werte übernehmen

Command (m for help):

w – um die Änderungen aud die Disk zu schreiben.

3. Festplatte formatieren:

sudo mkfs.ext4 /dev/sda1

4. Festplatte mounten:

sudo mkdir /mnt/ssd
sudo mount /dev/sda1 /mnt/ssd

Nun wurde im Ordner /mnt/ das Verzeichnis /ssd/ erstellt und die Festplatte in diesem Ordner gemountet.

Mit der Eingabe von:

df -l -h

können wir kontrollieren, ob die neue Platte gefunden wird.

 Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf	
 /dev/root        29G    4,0G   24G   15% /	
 devtmpfs        459M       0  459M    0% /dev	
 tmpfs           463M       0  463M    0% /dev/shm	
 tmpfs           463M    6,4M  457M    2% /run	
 tmpfs           5,0M    4,0K  5,0M    1% /run/lock	
 tmpfs           463M       0  463M    0% /sys/fs/cgroup	
>/dev/sda1       118G     60M  112G    1% /mnt/ssd	
 /dev/mmcblk0p1   63M     21M   42M   33% /boot	
 tmpfs            93M       0   93M    0% /run/user/1000	
	

Siehe 3. Zeile von unten

5. Automatisch beim Booten mounten

UUID feststellen:

sudo ls -l /dev/disk/by-uuid/
	
insgesamt 0	
lrwxrwxrwx 1 root root 15 Feb 10 23:27 0EDC-9EC5 -> ../../mmcblk0p1	
lrwxrwxrwx 1 root root  9 Feb 10 23:27 7d4bd715-1158-4a82-a235-b100038fb4b6 -> ../../sda	
lrwxrwxrwx 1 root root 15 Feb 10 23:27 7f593562-9f68-4bb9-a7c9-2b70ad620873 -> ../../mmcblk0p2	
lrwxrwxrwx 1 root root 10 Feb 10 23:27 f9b3a36b-64d2-412c-8218-0fc2d083dd8e -> ../../sda1	
	
sudo nano /etc/fstab

Für unsere Festplatte folgende Zeile einfügen:

UUID=f9b3a36b-64d2-412c-8218-0fc2d083dd8e /mnt/ssd ext4  noauto,x-systemd.automount,x-systemd.idle-timeout=3600,defaults   0   0

Danach Rechte vergeben, dass alle auf die Disk schreiben können. Falls Bedenken bestehen, dass unberechtigte zugriff haben, die Rechte entsprechend ändern:

sudo chmod 777 /mnt/ssd/

Raspbian verwendet das Init-System systemd. Dieses enthält einen Automounter, der auch durch einen Eintrag in fstab aktiviert werden kann. Trägt man in einem fstab-Eintrag die mount-Optionen   noauto,x-systemd.automount ein, so wird die Partition bzw. Netzwerk-Freigabe nicht schon beim Systemstart, sondern erst bei einem Zugriffsversuch automatisch eingebunden. Fügt man noch zusätzlich die Option x-systemd.idle-timeout=60 ein, so wird die eingebundene Partition bzw. Freigabe nach einer Untätigkeit von 60 Sekunden wieder automatisch ausgehängt. Natürlich kann der Wert für das Timeout beliebig verändert werden.


Quelle: https://wiki.ubuntuusers.de/fstab/


Den Pi rebooten und kontrollieren, ob die Festplatte gefunden wird.

sudo reboot



Apache, MySQL, PHP, phpMyAdmin und FTP einrichten

Die Installation der Webserver-Umgebung ist unter Raspberry Pi als Webserver beschrieben.


DocumentRoot von Apache auf /ssd legen

Verzeichnisse anlegen:

mkdir /mnt/ssd/www
mkdir /mnt/ssd/www/html

Das DocumentRoot ist in der Konfigurationsdatei 000-default.conf im Ordner /etc/apache2/sites-available. In dieser Datei wird der Eintrag DocumentRoot /var/www/html geändert in DocumentRoot /mnt/ssd/www/html:

cd /etc/apache2/sites-available
sudo nano 000-default.conf
	ServerAdmin webmaster@localhost	
# 	DocumentRoot /var/www/html	
	DocumentRoot /mnt/ssd/www/html

Des weiteren ist die apache2.conf zu ändern:

sudo nano /etc/apache2/apache2.conf

den folgenden Eintrag kopieren:

<Directory /var/www/>	
       Options Indexes FollowSymLinks	
       AllowOverride None	
       Require all granted	
</Directory>	

unterhalb einfügen und dann den DirectoryPfad ändern:

<Directory /mnt/ssd/www/>	
       Options Indexes FollowSymLinks	
       AllowOverride None	
       Require all granted	
</Directory>

und anschließend Apache neu starten:

sudo service apache2 restart

Dokuwiki Server Installieren

Dokuwiki Sourcen aus dem Repository holen

Mit wget das Installationspaket von Dokuwiki ins Verzeichnis /var/www holen :

cd /mnt/ssd/www
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Unter Raspbian liegt das Webverzeichnis von Apache unter /var/www/html. Wir entpacken es daher mit:

sudo tar xzvf dokuwiki-stable.tgz -C /var/www/html/

in das Verzeichnis /var/www/html/.

cd html

Im Verzeichnis /var/www/html/ die Version von dokuwiki kontrollieren:

ls -lsa /var/www/html/

Die dort gefundene Version von Dokuwiki (hier dokuwiki-2018-04-22b) in den Verschiebebefehl eintragen Das hier entstandene Verzeichnis mit der aktuellen Versionsangabe benennen wir mit:

sudo mv /var/www/html/dokuwiki-2018-04-22b /mnt/ssd/www/html/dokuwiki

nach dokuwiki um und setzen die entsprechenden Rechte für Apache:

sudo chown -R www-data:www-data /mnt/ssd/www/html/dokuwiki/
cd dokuwiki

Wenn die Installation korrekt verlaufen ist, dann ist das Dokuwiki betriebsbereit. Die weitere Einrichtung folgt nun im Browser:

http://192.168.20.210/dokuwiki/install.php?l=de

Diese Seite hilft bei der Erstinstallation und Konfiguration von DokuWiki. Entsprechende Eingaben vornehmen.

Dokupedia Installation

Zusätzliche Informationen zu diesem Installationsskript findet man auf der entsprechenden Hilfe Seite.

http://dokuwiki.org/installer

Nach der Erstinstallation wird Dokuwiki im Browser aufgerufen:

http://192.168.20.210/dokuwiki/doku.php?id=wiki:welcome

Auf dieser Seite ist bereits der Name von Dokuwiki zu sehen, und man kann sich bereits als Administrator anmelden.

Erste Seite

Nachdem man sich als Administrator angemeldet hat, auf sidebar und Seite erstellen klicken.
Im Editor einen Menüpunkt eingeben z.B. Adresse.
Eintrag markieren und auf das Icon Listenpunkt [.] klicken (zweite Zeile).
Nochmal den Eintrag (ohne den Stern) markieren, und auf das Icon Externer Link klicken (dritte Zeile).
Falls ein Alias gewünscht wird, nach den Klammern Alias eingeben und das Pipe Zeichen (|) einfügen. Dann wird der Alias-Name als Seitenname verwendet und der Eintrag als Menüpunkt.

Sidebar Eingabe
Sidebar Eingabe

Das ergibt die Ausgabe: Sidebar Ausgabe

Die ersten beiden Einträge haben keinen Link hinterlegt, der dritte Eintrag hat den Link Adresse hinterlegt und der vierte Eintrag den Link adr. Siehe Bild Sidebar Eingabe.


Plugin's installieren

⇒ Plugin für geschütztes Leerzeichen

Das ursprünglich verwendete Plugin:nbsp wird nun nicht mehr verwendet, da es im laufenden Betrieb zu unerklärlichen Fehlern gekommen ist. Stattdessen wird eine Datei zur Umwandlung von \   in ein geschütztes Leerzeichen angelegt.

Details zur Umwandlung sind in der Datei conf/entities.conf festgehalten. Um das Überschreiben von Änderungen bei Updates von DokuWiki zu verhindern, wird die Datei conf/entities.local.conf erstellt, um benutzerdefinierte Ersetzungen festzulegen.

Durch das Ausführen der folgenden sechs Befehle wird diese Datei angelegt. Falls eine andere Verzeichnisstruktur vorliegt, entsprechend anpassen.

sudo touch /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf
sudo chmod 666 /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf
sudo echo '# geschütztes Leerzeichen (\ )' >> /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf
sudo echo $'\x5c'$'\x20'$'\x09'$'\xc2'$'\xa0' >> /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf
sudo chmod 644 /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf
sudo chown www-data:www-data /mnt/ssd/www/html/dokuwiki/conf/entities.local.conf

Damit kann man nun ein geschütztes Leerzeichen - Backslash gefolgt von einem Leerzeichen \   - im Editor eingeben.

entities.local.conf
# geschütztes Leerzeichen (\ )
\



⇒ Color Plugin - Farbigen Text in Dokuwiki-Seiten. Doku

In den Admin-Bereich wechseln:

Wechsel in den Adminbereich

Anschließend in den Bereich Erweiterungen verwalten gehen:
Erweiterungen verwalten

  Suchen und Installieren   auswählen, nach color suchen und im Eintrag color syntax plugin von Harald Hanche-Olsen den Button Installieren drücken, und den Anweisungen folgen.


Oberhalb der Tab's erscheint bei erfolgreicher Installation Meldung.


Die nächsten Plugin's werden analog zu der vorigen Installation im Programmteil Erweiterungen Verwalten eingefügt.

Die Liste der Installierten Plugins ist hier zu finden.


Update des Dokuwiki-Servers

Da bei einem Update von Plugins nicht kontrolliert wird, ob die neueren Plugins mit der eingesetzten Version von Dokuwiki noch funktionieren, ist es manchmal erforderlich, die Version von Dokuwiki zu aktualisieren. Es gibt sicher andere Möglichkeiten, ein Update durchzuführen. Die hier beschriebene ist getestet und funktioniert problemlos.

Backup der Daten des laufenden Systems
Sicherheitshalber wird ein Backup des gesamten Servers durchgeführt.

cp -a /mnt/ssd/www/html/dokuwiki /mnt/ssd/www/html/dokuwiki_bkp

Mit dieser Eingabe wird das gesamte Verzeichnis /dokuwiki in das Verzeichnis /dokuwiki_bkp, mit allen Dateiattributen, kopiert.

Löschen des Originalverzeichnisses
Nachdem kontrolliert wurde, ob das Backup ordnungsgemäß angelegt wurde, wichtig sind vor allem das /data Verzeichnis und Teile des /conf Verzeichnisses, kann das Serververzeichnis gelöscht werden.

rm -r /mnt/ssd/www/html/dokuwiki

Wiki nach Anleitung neu installieren

Zurückkopieren der Daten

cp -a  /mnt/ssd/www/html/dokuwiki_bkp/data/ /mnt/ssd/www/html/dokuwiki/

Zurückkopieren der Einstellungen
Alle Dateien die local im Namen Tragen. Das sind in diesem Fall

cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/entities.local.conf /mnt/ssd/www/html/dokuwiki/conf
cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/local.php /mnt/ssd/www/html/dokuwiki/conf
cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/local.php.dist /mnt/ssd/www/html/dokuwiki/conf
cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/plugins.local.php /mnt/ssd/www/html/dokuwiki/conf

und die beiden Dateien

cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/acl.auth.php /mnt/ssd/www/html/dokuwiki/conf
cp -a  /mnt/ssd/www/html/dokuwiki_bkp/conf/users.auth.php /mnt/ssd/www/html/dokuwiki/conf


Die install.php löschen

rm /mnt/ssd/www/html/dokuwiki/install.php

Falls verwendet, .htaccess & .htpassword in die neue Installation kopieren.

Template und Plugins neu installieren, um auch hier auf dem neuesten Stand zu sein.

Sonstige Anpassungen im neuen Wiki nachziehen

Falls vorhanden, eigenes Logo kopieren.

cp -a  /mnt/ssd/www/html/dokuwiki_bkp/lib/tpl/dokuwiki/images/logo.png /mnt/ssd/www/html/dokuwiki/lib/tpl/dokuwiki/images

Tips und Tricks

Tips und Tricks Um zu den Tips und Tricks zu gelangen, dem Link folgen.


Anpassen

Um die Anpassungen anzusehen, dem Link folgen.


Quellenverzeichnis

rpi_dw.txt · Zuletzt geändert: 2020/02/02 20:33 von administrator