Raspberry
Sonstige Hardware
Raspberry
Sonstige Hardware
v 1.00
Voraussetzung ist ein funktionierend aufgesetzter RPi und ser2net
. Für den Anschluss an die Firewall (in meinem Fall eine Cisco ASA 5505) wird ein USB nach Seriell Adapter von LogiLink (AU0048) verwendet, da er von Linux unterstützt wird. Falls mehrere Geräte angeschlossen werden sollen, kann auch beispielsweise der KÖNIG USB nach 4x Seriell Adapter verwendet werden. Die Installation ist gleich, lediglich die /etc/ser2net.conf
ist anzupassen.
ser2net
ermöglicht den Zugriff auf serielle Ports über TCP, wodurch der Pi zu einem Terminalserver wird. Die ser2net befindet sich in den Repositorys. Die ser2net
wird heruntergeladen und kompiliert. Nachsehen, ob es eventuell eine neuere Version gibt.
sudo wget http://downloads.sourceforge.net/project/ser2net/ser2net/ser2net-3.5.tar.gz
Tarball extrahieren:
sudo tar -xzvf ser2net-3.5.tar.gz
und installieren:
cd ser2net-3.5/ ./configure make sudo make install
Nach dem Installierendie Überbleibsel löschen:
make clean
Bevor die ser2net.conf
editiert werden kann, muss nachgesehen werden, welchen Port, bzw. welche Ports bei Mehrfachkabel, verwendet wird oder werden. Das folgende Kommando verwenden:
$ dmesg | grep tty [ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=1024 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=d112e6c0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait [ 0.000814] console [tty1] enabled [ 1.028899] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2 [ 4411.906281] usb 1-1.2: pl2303 converter now attached to ttyUSB0
Hier ist der Anschluss mit ttyUSB0 verbunden. Nun kann die ser2net.conf
editiert, bzw. erstellt werden:
sudo nano /etc/ser2net.conf
Die folgenden zwei Zeilen einfügen:
BANNER:banner:Terminal Server TCP port 4001 CISCO ASA 4001:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner
Die erste Zeile zeigt ein Banner bei der Verbindung auf das angeschlossene Gerrät. Es wird nicht unbedingt benötigt, ist aber bei der Administration von mehreren Geräten hilfreich.
Die zweite Zeile beschreibt den TCP Port 4001 und die Verbindung zum Anschluss /dev/ttyUSB0
. Die Baud rate von 9600, 8 databits, no parity and 1 stopbit wird vom Endgerät erwartet. Je nach angeschlossenem Gerät ist das anzupassen.
Am Raspberry ser2net starten:
ser2net -n
Nun kann eine Verbindung von einem am Netzwerk angeschlossenen Computer erfolgen.
Hier wird das Programm Putty verwendet.
Start von ser2net
beim booten des RPi:
$ sudo nano /etc/rc.local
In der letzten Zeile von /etc/rc.local
steht der Eintrag exit 0
. Vor diesem Eintrag die folgende Zeile einfügen:
/usr/local/sbin/ser2net -n
Beim nächsten Start wird der RPi ser2net
automatisch starten. Nun ist der RPi als Terminalserver verwendbar.
Die Logging-Funktion von ser2net konfigurieren
Bevor das Logging konfiguriert wird, sollte die Uhrzeit auf die lokale Zeit eingestellt werden, da ein Zeitstempel in die Logfiles eingetragen wird. Die Zeitzone wird, wenn nicht schon geschehen, auf die mitteleuropäische Zeitzone (CEST - Central European Time) eingestellt.
$ sudo cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
Kontrollieren der Einstellung:
$ date Fre Nov 16 01:23:51 CET 2018
Nun wird ein Ordner erstellt, in den die Log-Files geschrieben werden:
$ sudo mkdir /var/log/ser2net
Nun muss die /etc/ser2net.conf
um die Zeile TRACEFILE:trace1:/var/log/ser2net/ser2net.log
und den Eintrag
tr=trace1 timestamp
ergänzt werden:
BANNER:banner:Terminal Server TCP port 4001 CISCO ASA TRACEFILE:trace1:/var/log/ser2net/ser2net.log 4001:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner tr=trace1 timestamp
Dieser Zusatz erzeugt einen Eintrag mit Portnummer und Zeitstempel im Logfile. Das Verzeichnis /var/log/ser2net/
muss über die nötigen Rechte verfügen. Im einfachsten Fall:
sudo chmod -R 644 /var/log/ser2net
Es wird dabei jeder Tastendruck protokolliert. Eventuell die Einstellungen ändern.
V 1.00
Voraussetzung ist ein lauffähiges System. In diesem Beispiel wird raspbian-stretch-lite, Version 2018-10-09
verwendet.
Paketlisten aktualisieren
sudo apt-get update -y sudo apt-get upgrade -y
sudo apt-get install apache2 -y
Das -y
am Ende der Zeile bedeutet, dass die Installation nicht auf eine Eingabe wartet. Aufforderungen durch das Programm werden automatisch mit Yes
beantwortet.
Wenn nun im Browser die IP-Adresse eingegeben wird, erscheint die Seite
Apache2 Debian Default Page - It works!
Bei MySQL handelt es sich um eine SQL-Datenbank. Content Management Systeme (CMS) wie z.B WordPress oder Typo arbeiten mit einer SQL-Datenbank.
Um MySQL zu installieren, folgenden Befehl eingeben:
sudo apt-get install mysql-server mysql-client -y
Nach der Installation von MySQL muss die Konfiguration ausgeführt werden:
sudo mysql_secure_installation
Da bisher noch kein Passwort vergeben ist, mit Enter bestätigen. Danach sind noch folgende Fragen zu beantworten:
sudo mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on...
Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
hier mit y + Enter um ein neues Passwort zu setzten.
hier entfernen wir die Anonymen User mit y + Enter
diese Frage beantworten wir mit n + Enter
diese Frage beantworten auch wir mit n + Enter
diese Frage beantworten wir mit y + Enter, damit meine Änderungen direkt aktiv werden.
PHP ist eine Skriptsprache die hauptsächlich zur Erstellung von dynamischen Webseiten und Webanwendungen benutzt wird.
Mit folgendem Befehl wird PHP in der Version 7 installiert:
sudo apt-get install php php-mysql -y
Um nun zu prüfen ob die PHP Installation erfolgreich war und um die PHP Informationen anzeigen zu lassen, im Verzeichnis /var/www/html/ eine neue Datei erstellen und mit dem Namen „phpinfo.php“ erstellen:
sudo nano /var/www/html/phpinfo.php
Der Inhalt der Datei phpinfo.php
:
<?php phpinfo(); ?>
Die Datei mit Strg+o speichern und mit Strg+x beenden.
Um sich die PHP Informationen anzeigen zu lassen, die IP-Adresse/phpinfo.php/
des Pi in den Browser eingeben.
Der Aufruf erzeugt folgende Anzeige:
Zur einfacheren Verwaltung der MySQL Datenbank sollte jetzt noch phpMyAdmin
installiert werden. Mit dem Tool können einzelne Datenbanken angelegt und Werte in bestimmte Zellen der Datenbank geschrieben werden. Somit ein komfortables Administrations Tool für Datenbanken.
Die Installation wird mit folgendem Befehl gestartet:
sudo apt-get install phpmyadmin -y
Während der Installation werden einige Fragen gestellt. phpMyAdmin soll für den Apache2 Webserver konfiguriert werden. Somit wird der * wird mit der Leertaste gesetzt, dann mit dem Tabulator
auf OK und mit Enter
bestätigen.
Auch die nächste Frage wird mit Ja beantwortet.
Jetzt wird man aufgefordert ein Passwort zu vergeben. Hier sollte das gleiche Passwort wie bei der MySQL Installation benutzt werden.
Als nächstes muss phpMyAdmin konfiguriert werden. Die Konfiguration startet Ihr mit folgendem Befehl:
sudo dpkg-reconfigure phpmyadmin
Die Frage, ob phpMyAdmin
neu installiert werden soll, mit Ja beantworten.
Die nächsten Fragen wie in der folgenden Beschreibung beantworten:
Das ganze endet beim ersten mal mit einem Fehler, hier muss der Schritt noch einmal mit den gleichen Einstellungen wiederholt werden „Wiederholen (Fragen überspringen)“.
Danach läuft alles erfolgreich durch. Jetzt ist es möglich auf phpMyAdmin zuzugreifen und sich einzuloggen.
IP-Adresse/phpmyadmin/
in den Browser eingeben.
Benutzername: root
Passwort: Das eben vergebene Passwort
Um komfortabel die Dateien auf den Webserver zu transferieren muss im letzten Schritt der Installation ein FTP Programm (File Transfer Protokoll) auf dem Webserver installiert und konfiguriert werden. Nach der Installation können Dateien bequem mit einem FTP Programm (z.B. FileZilla) auf den Webserver kopiert werden. Das Programm wird mit folgendem Befehl installiert:
sudo apt-get install proftpd -y
Wenn die Installation durchgelaufen ist, muss im nächsten Schritt ein User eingerichtet werden. Es wird ein virtueller User angelegt, welcher nur über FTP Dateien hochladen darf und keine weiteren Rechte besitzt. Um den User anzulegen, muss die Konfigurationsdatei von proftpd erweitert werden. Das geschieht mit dem Befehl:
sudo nano /etc/proftpd/proftpd.conf
Dann wird folgender Code am Ende des bereits vorhandenen Codes eingefügt.
DefaultRoot ~ AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthPAM off RequireValidShell off
Jetzt muss die Datei noch mit Strg+o/Strg+x
abgespeichert werden. Danach in das Verzeichnis proftpd wechseln:
cd /etc/proftpd/
und mit folgendem Befehl einen neuen Benutzer anlegen. Für Benutzername den gewünschten Benutzernamen verwenden.
sudo ftpasswd --passwd --name Benutzername --uid 33 --gid 33 --home /var/www/ --shell /bin/false
User ID 33 ist die ID des „www-data“ Users, also keine andere ID eintragen. Jetzt müssen dem User noch die Dateirechte vergeben werden. Dazu die folgenden 3 Befehle eingeben:
sudo chmod g+s /var/www sudo chmod 775 /var/www sudo chown -R www-data:www-data /var/www
Der Raspberry Pi als Webserver ist jetzt fertig eingerichtet und muss neu gestartet werden. Dazu folgenden Befehl eingeben:
sudo reboot
http://techgeeks.de/raspberry-pi-als-webserver-mit-wordpress/
V 1.02
Voraussetzung ist ein lauffähiges System mit SSH Zugang.
In diesem Beispiel wird raspbian-stretch-lite, Version 2018-11-13
verwendet. Da hier eine längere Installation durchgeführt wird, sollte ein dist-upgrade
durchgeführt werden. Starten, und dann auf einen Kaffee oder so gehen.
Paketlisten aktualisieren
sudo apt-get update -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y
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
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
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 /usbdisk/ 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 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/
Den Pi rebooten und kontrollieren, ob die Festplatte gefunden wird.
sudo reboot
Die Installation der Webserver-Umgebung ist unter Raspberry Pi als Webserver beschrieben.
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 Sourcen aus dem Repository holen
Mit wget das Installationspaket von Dokuwiki ins Verzeichnis /var/www holen :
cd /mnt/ssd/www sudo wget http://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
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.
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.
Der Pfad, in dem das Logo gespeichert ist, lautet:
IP-Adresse-des-Wiki/dokuwiki/lib/tpl/dokuwiki/images/logo.png
Das originale Logo löschen oder umbenennen und das Eigene einfügen. Die Auflösung des Logo ist 64 x 64 Pixel.
Das favicon.ico ist eine Grafik, welche im Browser und bei Lesezeichen angezeigt wird.
Die in DokuWiki verwendete Standardeinstellung des favicon.ico enthält 8-Bit-PNG-Bilder mit den Abmessungen 16x16px, 32x32px und 48x48px.
DokuWiki verwendet favicon.ico aus dem Verzeichnis /Dokuwiki/lib/tpl/images
, um das für Opensearch verwendete Bild zu generieren.
Benutzerdefinierte Favicons
Wenn Sie das standardmäßige DokuWiki-favicon.ico durch eine eigene Grafik ersetzen möchten, können Sie es an einer der folgenden Stellen platzieren:
Standardmäßig hat DokuWiki eine Datei favicon.ico in DokuWiki/lib/tpl/dokuwiki/images.
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.
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.
1. 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.
2. Color Plugin
In den Admin
-Bereich wechseln:
Anschließend in den Bereich Erweiterungen verwalten
gehen:
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 .
Die nächsten Plugin's werden analog zu der vorigen Installation im Programmteil Erweiterungen Verwalten
eingefügt.
In der Grundinstallation werden hier folgende, weitere Plugins, verwendet:
Plugin: odt - Exportiert eine Seite im Open Document Format (Libre-/Open Office)
Bei der Erstellung von Seiten ist zu beachten, dass die Exportfunktionen kein HTML exportieren können!
Plugin:dw2pdf - Exportiert eine Seite im PDF Format Siehe hier
Plugin:backup - Führt ein Backup der Daten eines DokuWiki-Servers durch. Siehe hier
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
}
Konfigurationsmanager starten (Admin/Konfiguration). Im Konfigurationsteil Links
bei den gewünschten Targets _blank
eintragen
Ein Akronym bedeeutet bei Dokuwiki, dass eine eingetragene Abkürzung wie HTML oder DNS beim Kontakt mit dem Mauszeiger erklärt werden.
Falls eigene Erweiterungen gewünscht sind, so können diese in der Datei
/dokuwiki/conf/acronyms.conf
eingetragen werden.
Eigene Smileys oder einfache Grafiken wie
oder
können in der Datei
/dokuwiki/conf/smileys.conf
definiert, und die Grafiken dazu im Verzeichnis
/dokuwiki/lib/images/smileys/
abgelegt werden. Die Smileys haben eine Auflösung von 15 x 15 Pixel, die Grafiken 80 x 15 Pixel. Andere Größen bitte ausprobieren.
Folgende Seiten wurden zur Informationsbeschaffung verwendet:
Quellen:
https://www.dokuwiki.org/start?id=de:installer
https://www.dokuwiki.org/de:entities
https://www.dokuwiki.org/dokuwiki
https://forum.dokuwiki.org/
https://projects.raspberrypi.org/
http://techgeeks.de/
V 0.01
Mit dem Raspberry Pi sollen SMS versendet und empfangen werden. Es ist zwar leicht, mit dem Raspberry eMails zu versenden. Bei einem Stromausfall, oder wenn kein Netzwerk zur Verfügung steht, ist das alte Short Message Service ein gutes Werkzeug um Daten zu versenden. Eine 5V Versorgung, sei es durch ein Netzgerät, eine Pufferbatterie oder eine Solaranlage, reicht.
Bei entsprechender Programmierung kann der Versand einer SMS durch eine Aktion wie Pumpenausfall, Temperatur oder einem sonstigen Alarm ausgelöst werden. Durch den Empfang einer SMS am Raspberry können Schaltvorgänge ausgelöst werden.
Neben einem funktionsbereiten Raspberry wird noch ein Modem-Stick benötigt. Als Modem-Stick wird ein ZTE HSDPA USB Modem, Modell MF626, verwendet. Dieses ist beim Diskonter HOFER zu haben.
Eine Liste der mit der Software „Gammu“ verwendbaren Modems und Telefone ist auf der WEB-Seite von Wammu einzusehen.
Falls ein SMS-Modem zu viel Strom benötigt, dann ist ein Hub mit eigener Stromversorgung notwendig.
Sobald der Stick am USB-Port angesteckt ist, sollte er vom RPi erkannt werden. Mit dem Befehl lsusb
kann das überprüft werden:
$ lsusb
Hier sieht die Ausgabe dann folgendermaßen aus:
pi@test:~ $ lsusb Bus 001 Device 006: ID 19d2:0031 ZTE WCDMA Technologies MSM MF110/MF627/MF636 Bus 001 Device 004: ID 0424:7800 Standard Microsystems Corp. Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub pi@test:~ $
In der ersten Zeile kann man sehen, dass das System den ZTE-UMTS Stick erkannt hat.
Der Stick besitzt einen MicroSD Steckplatz und drei serielle Ports. Darauf wird später eingegangen. Die seriellen Ports können im Verzeichnis /dev angezeigt werden:
pi@test:~ $ ls -l /dev/serial/by-id/ insgesamt 0 lrwxrwxrwx 1 root root 13 Dez 26 11:35 usb-ZTE_Incorporated_ZTE_CDMA_Technologies_MSM-if00-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Dez 26 11:35 usb-ZTE_Incorporated_ZTE_CDMA_Technologies_MSM-if01-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 Dez 26 11:35 usb-ZTE_Incorporated_ZTE_CDMA_Technologies_MSM-if03-port0 -> ../../ttyUSB2 pi@test:~ $
Um SMS versenden zu können, benötigen wir einen Daemon. Diesen muss instaliert werden::
$ sudo apt-get -y install gammu-smsd
Anschließend muss die Konfigurationsdatei /etc/gammu-smsdrc
editiert werden. Der Inhalt sollte, abgesehen von der PIN, so wie folgt aussehen:
$ sudo nano /etc/gammu-smsdrc
# Configuration file for Gammu SMS Daemon # Gammu library configuration, see gammurc(5) [gammu] # Please configure this! port = /dev/ttyUSB3 connection = at115200 # Debugging logformat = textalldate # SMSD configuration, see gammu-smsdrc(5) [smsd] # pin = 1234 service = files logfile = /var/log/gammu-smsd RunOnReceive = /usr/local/bin/smsreceive.sh # Increase for debugging information debuglevel = 4 ReceiveFrequency = 300 # Paths where messages are stored inboxpath = /var/spool/gammu/inbox/ outboxpath = /var/spool/gammu/outbox/ sentsmspath = /var/spool/gammu/sent/ errorsmspath = /var/spool/gammu/error/
Nachdem die Datei gespeichert wurde, starten wir den SMS Daemon neu.
$ sudo /etc/init.d/gammu-smsd restart
Erfolgt der Start ohne Fehlermeldungen (siehe Ausgabe und ggf. Logfile /var/log/gammu-smsd), steht einer SMS nichts mehr im Wege.
echo "Diese Test-SMS wurde mit Hilfe von Gammu vom Raspberry gesendet" | sudo gammu-smsd-inject TEXT "+436776320xxx"
Der SMS-Deamon legt empfangene SMS im Inbox-Verzeichnis ab. Mit dem Eintrag RunOnReceive
in der Konfigurationsdatei wird das eingetragene Programm gestartet. Damit werden Aktionen bei einer eingegangenen SMS gestartet. Ebenso gibt es die Kommandos RunOnSend
oder RunOnError
, mit denen ebenfalls Aktionen gestartet werden können. Mehr Informationen auf der Gammu-Webseite RunOnReceive.
Das Shell-Script smsreceive.sh
schreibt die Eingegangenen SMS in die /var/log/user.log
.
~ $ sudo nano /usr/local/bin/smsreceive.sh
#!/bin/bash # Check sender # if [ "$SMS_1_NUMBER" = "Nummer_OK" ] ; then # exit # fi # Alle Meldungen ins Syslog ausgeben for i in $(seq $SMS_MESSAGES) ; do logger -t smsd "SMS Teil: $i" eval logger -t smsd \"Absender: \${SMS_${i}_NUMBER}\" eval logger -t smsd \"Text: \${SMS_${i}_TEXT}\" done
Dieses Script ist aus der Zeitschrift Raspberry Pi GEEK übernommen und zeigt beispielhaft, wie die empfangenen SMS verarbeitet werden können. Im Teil „# Check sender
“ kann die Rufnummer kontrolliert werden, falls notwendig. Statt Nummer OK
ist natürlich die zu kontrollierende Nummer in der Form 43664…..
einzusetzen.
Um einen SMS-Versand bei einem eintretenden Ereignis automatisch durchzuführen, ist ein Script notwendig.
#!/bin/bash # Datei in /home/pi/keysms.sh gpio mode 3 in while true do taste="$( gpio read 3 )" if [ "$taste" = "0" ]; then gammu-smsd-inject TEXT 06776320xxxx -text "Die Taste am Raspberry wurde gedrückt" echo "Taste gedrückt" exit fi done
Für diesen Test muss das Shell-Script für jeden Vorgang neu gestartet werden. WiringPI muss installiert sein.
Die Taste simuliert ein beliebiges Ereignis
wie Alarm, Stromausfall, etc.
Bei einem Druck auf die Taste wird der inject-String formatiert in den OutboxPath gelegt und damit vom SMS-Server verarbeitet.