Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Undefined array key "" in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 561 Warning: Trying to access array offset on null in /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php on line 578 Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php:561) in /home/.sites/50/site215/web/inc/Action/Export.php on line 106 Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php:561) in /home/.sites/50/site215/web/inc/Action/Export.php on line 106 Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/50/site215/web/lib/plugins/odt/helper/config.php:561) in /home/.sites/50/site215/web/inc/Action/Export.php on line 106 {{::servericon.png?350|Server}}\\ \\ \\ ====== Raspberry Pi als Terminalserver ====== 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. {{::term_1.jpg|Putty Telnet}}\\ \\ {{::term_2.jpg|Terminal Fenster}}\\ **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. ---- ====== Raspberry Pi als Webserver ====== 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 \\ ===== Apache2 installieren ===== 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!**'' \\ \\ \\ ===== MySQL/MariaDB installieren ===== 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! * Set root password? [Y/n] // hier mit y + Enter um ein neues Passwort zu setzten.// * Remove anonymous users? [Y/n] // hier entfernen wir die Anonymen User mit y + Enter// * Disallow root login remotely? [Y/n] // diese Frage beantworten wir mit n + Enter// * Remove test database and access to it? [Y/n] // diese Frage beantworten auch wir mit n + Enter// * Reload privilege tables now? [Y/n] // diese Frage beantworten wir mit y + Enter, damit meine Änderungen direkt aktiv werden.// \\ \\ ===== PHP installieren ===== 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**'': 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: {{::lamp_16.jpg|}} \\ \\ ===== phpMyAdmin installieren ===== 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. {{::lamp_17.jpg|}} Auch die nächste Frage wird mit **Ja** beantwortet. {{::lamp_1.jpg|}} 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. {{::lamp_18.jpg|}} Die nächsten Fragen wie in der folgenden Beschreibung beantworten: * TCP/IP * localhost * 3306 * phpmyadmin * root@localhost * Passwort * Passwort * root * apache2 Das ganze endet beim ersten mal mit einem Fehler, hier muss der Schritt noch einmal mit den gleichen Einstellungen wiederholt werden „Wiederholen (Fragen überspringen)“.\\ {{::lamp_39.jpg?400|}} 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\\ ===== FTP einrichten ===== 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/]] ---- ====== Raspberry als Dokuwiki-Server ====== V 1.02\\ {{ ::dokuwiki-logo.png?100|}} 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 \\ ===== 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 ''\ \\ {{::sda1.png|}} //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 {{::format.png|}} **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 \\ \\ ===== Apache, MySQL, PHP, phpMyAdmin und FTP einrichten ===== Die Installation der Webserver-Umgebung ist unter [[http://192.168.20.210/dokuwiki/doku.php?id=rpib#raspberry_pi_als_webserver|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: Options Indexes FollowSymLinks AllowOverride None Require all granted unterhalb einfügen und dann den DirectoryPfad ändern: Options Indexes FollowSymLinks AllowOverride None Require all granted 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 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. {{::bild_2a.jpg|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 {{::bild_3.jpg|}} Auf dieser Seite ist bereits der Name von Dokuwiki zu sehen, und man kann sich bereits als Administrator anmelden. ===== Eigenes Logo ===== 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. ---- ===== Eigenes Favicon ===== 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: * dem Web Root (/www) * im Root des DokuWiki-Verzeichnisses * in DokuWiki/data/media * in DokuWiki/lib/tpl/dokuwiki/images Standardmäßig hat DokuWiki eine Datei favicon.ico in DokuWiki/lib/tpl/dokuwiki/images. ---- ===== 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. {{::bild_4.jpg|Sidebar Eingabe}}\\ //Sidebar Eingabe//\\ \\ **Das ergibt die Ausgabe:** {{::bild_5.jpg|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 ===== **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: {{::bild_6.jpg|Wechsel in den Adminbereich}}\\ \\ Anschließend in den Bereich ''Erweiterungen verwalten'' gehen: \\ {{::bild_7.jpg?300|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. \\ {{::bild_8.jpg|}}\\ \\ Oberhalb der Tab's erscheint bei erfolgreicher Installation {{::bild_9.jpg?250|Meldung}}.\\ \\ \\ 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 [[https://www.dokuwiki.org/plugin:dw2pdf|Siehe hier]]\\ Plugin:backup - Führt ein Backup der Daten eines DokuWiki-Servers durch. [[https://www.dokuwiki.org/plugin:backup|Siehe hier]] ---- ===== 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 ===== === Medien in neuem Tab öffnen === Konfigurationsmanager starten (Admin/Konfiguration). Im Konfigurationsteil ''**Links**'' bei den gewünschten Targets ''_blank'' eintragen {{::konfig_links.jpg|Admin/Konfiguration/Links}}\\ \\ === Akronym einfügen === 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 === Eigene Smileys :-D oder einfache Grafiken wie FIXME oder DELETEME 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.\\ \\ ---- ===== Quellenverzeichnis ===== 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/\\ ---- ====== SMS Server ====== V 0.01 ===== Beschreibung ===== 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 **S**hort **M**essage **S**ervice 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. \\ ===== Benötigte Hardware ===== 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 [[http://de.wammu.eu/phones|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:~ $ \\ ===== Gammu SMS Daemon ===== 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" ---- ===== SMS Empfang und Verarbeitung ===== 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 [[https://wammu.eu/docs/manual/smsd/run.html#gammu-smsd-run|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. ---- ===== SMS-Versand bei Ereignis ===== 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.\\ \\ {{::sms-taste.jpg?300|Taste für SMS-Test}}\\ //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. ---- ===== Quellenverzeichnis ===== [[http://barfoos.blogsport.eu/raspberry-pi-als-web-sms-inbox-im-lan/|barfoos]]\\ [[http://www.raspberry-pi-geek.de/Magazin/2016/02/SMS-verschicken-und-empfangen-mit-dem-Raspberry-Pi/|Raspberry PI Geek]]\\ [[https://www.datenreise.de/raspberry-pi-sms-per-kommandozeile-versenden/|Datenreise.de]]\\ [[https://www.thefanclub.co.za/how-to/how-setup-usb-3g-modem-raspberry-pi-using-usbmodeswitch-and-wvdial|thefanclub]]\\ [[https://wammu.eu/docs/manual/smsd/run.html#gammu-smsd-run|runonreceive]]\\ http://manpages.ubuntu.com/manpages/xenial/man7/gammu-smsd-run.7.html\\ https://n8henrie.com/2015/03/how-to-control-your-raspberry-pi-by-sms/ ----