Der RaspberryPi lässt sich für verschiedene Aufgaben nutzen für die verschiedene Installationsschritte erforderlich sind.

In der nachfolgenden Tabelle kann man sehen, welche Funktion welche Installation benötigt.

 

 

FHEM Paket

No-Ip

Apache + SQL-Datenbank

Citadel -  Emailserver

VNC

FHEM-Heizungssteuerung

x

X

 

 

 

Raumbelegungsplan

 

x

x

X

 

Klimadatenerfassung

 

x

X

 

 

Web-Seite

 

x

X

 

 

Email-Server

 

x

 

X

 

 

Im Anschluss an die Startkonfiguration erfolgt gruppenweise die Installation der Funktionen.

 

Fritz-Box:

 

Je nach dem, welche Funktion Sie installieren möchten, müssen Daten und Anfragen auf den entsprechenden Kanälen an den Pi weitergereicht werden.

Es ist nicht nur mit einer Fritz-Box als Router möglich, aber ich erkläre die Vorgehensweise nur an diesem Gerät. Es gibt Router die nicht alle notwendigen Funktionen bieten!

Stellen Sie sicher, das Ihr PC/Laptop mit der Fritzbox verbunden ist. Arexx Datenlogger, Max-Qube und der Raspberry sollten noch nicht mit der Fritzbox verbunden sein.

Öffnen sie einen Internetbrowser und geben Sie in der Adresszeile „fritz.box“ ein.

Sie werden ggf. nun nach dem Passwort Ihrer Fritzbox gefragt.

Klicken Sie auf der linken Seite auf „Heimnetz“.

Es erscheint eine Liste der aktiven Verbindungen, dass sind die Geräte, die in diesem Moment mit der Fritzbox verbunden sind. Sofern sie Geräte in dieser Liste eindeutig zuordnen können, sollten sie die Bezeichnung des Gerätes mit dem Zettel-und-Stift-Symbol passend umbenennen. Geräte, die Sie nicht eindeutig zuordnen können (z.B. android-9d1361bb311fb) benennen Sie ebenfalls so um, dass sie es später wieder erkennen, oder notieren Sie sich die Bezeichnung.

Haben Sie alles umbenannt oder notiert, schließen Sie EIN neues Gerät an, z.B. den Raspberry. Warten Sie einen Augenblick und klicken Sie im Fritzbox-Fenster unten rechts auf aktualisieren. Es sollte nun ein neues Gerät in der Liste erscheinen. Durch die Vorarbeit wissen Sie auch genau welches dazu gekommen ist. Geben Sie dem Gerät wieder mit dem Zettel-und-Stift-Symbol einen passenden eindeutigen Namen. Setzen sie dabei von nun an jedes Mal bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ den Haken.

Wiederholen Sie diesen Vorgang einzeln bei jedem weiteren Gerät, dass mit in das Netzwerk aufgenommen werden soll (MAX!-Qubes, Arexx-Datenlogger).

Sind alle Geräte eingebunden, klicken Sie links auf „Internet“, „Freigaben“ und dann auf den Reiter „Portfreigaben“

Das Programm VNC-Viewer ist nicht zwingend erforderlich, ermöglicht aber die Bedienung des Raspberry ohne eigenen Bildschirm, Tastatur und Maus. Sie können sogar aus der Ferne an dem Raspberry arbeiten. Es ist vergleichbar mit dem Programm TeamViewer oder der Windows Remot-Desktopverbindung. Damit die Daten am Raspberry ankommen, klicken Sie auf „Neue Portfreigabe“. Füllen Sie das Fenster wie folgt aus:

In dem Feld „an Computer“ wählen sie den Namen aus, den Sie Ihrem Raspberry gegeben haben.

 

Möchten Sie  auf dem Raspberry die Software FHEM nutzen legen sie eine weitere neue Prortfreigabe an:

 

 

Soll der Arexx-Datenlogger für Klimadaten eingesetzt werden, folgt jetzt die neue Portfreigabe :

 

Damit die Anfragen an die Webseite auf dem Pi diesen auch erreichen legen Sie folgende Portfreigabe an:

 

http-server

 

Damit Sie den Inhalt für Ihre Webseiten bequem hochladen können noch folgende Portfreigabe:

ftp-server

 

 

Den Raspberry zum ersten mal starten:

Ich beziehe mich in dieser Anleitung direkt auf den Raspberry 2, da dieser über mehr Rechnleisung verfügt. Es sollte aber möglich sein, ältere Versionen mit dieser Anleitung auf gleicher Weise einzurichten. Was NICHT funktioniert, ist, die Speicherkarte zwischen den Modellen zu tauschen. Der Raspberry wird nicht booten!

 

Zunächst müssen sie den Raspberry an einem Monitor anschließen, wenn möglich per Netzwerkkabel mit dem Internet verbinden, ggf. per W-Lan-Stick. Und Sie benötigen eine Maus und eine Tastatur, hier ist es am leichtesten, wenn sie ein kabelloses Set zur Verfügung haben, aber jede Maus und Tastatur mit USB-Anschluss funktionieren.

 

Wenn die den Raspberry zum ersten mal starten, werden Sie gefragt welches Betriebssystem sie installieren/booten möchten.

Zuerst stellen sie die Sprache am unteren Bildrand auf Deutsch.

Wählen sie nun Raspbian aus und alle anderen Optionen ab und klicken sie auf installieren.

Der Vorgang dauert nun eine Weile. Wenn sie sich an dem Betriebssystem anmelden wollen lautet der Benutzername: pi und das Password: raspberry.

Dies sind die Standardwerte und können später bei Bedarf geändert werden.

Das gewählte Betriebssystem gehört zur Linux Familie.

 

Nachdem das Betriebssystem installiert wurde startet der Computer neu und zeigt ein Configurationsmenü.

Als erstes empfiehlt es sich Punkt 2 zu wählen und den Benutzernamen und das Passwort zu ändern. Gehen sie hierzu mit der Pfeiltaste nach unten und drücken sie Enter, und nach dem Hinweis nochmals Enter.

Geben sie nun das neue Passwort für den Benutzer pi ein und betätigen Enter. Achtung! Die Tastatureingaben werden in keinster Weise auf dem Bildschirm dargestellt.

Wiederholen sie die Passworteingabe. Waren beide Eingaben identisch haben sie das Passwort geändert.

Wählen sie nun den Punkt 3: Enable Boot to Desktop/Scratch aus.

Wählen sie die zweite Option: Desktop Log in as userpi“ …..

Wählen Sie nun Punkt 4: Internationalisation Options

Wählen Sie I2, change Timesone

Wählen Sie Europa

Wählen Sie Berlin

Drücken Sie nun zweimal die Pfeiltaste nach rechts. Sie landen auf <Finish>. Drücken Sie zweimal Enter.

Der Raspberry bootet neu und Sie landen auf dem Desktop/Arbeitsplatz.

 

Sollten Sie diesen Punkt übersprungen haben, oder wollen ihn später durchführen, dann öffnen sie da Terminal und geben folgendes ein:

sudo raspi-config

So wird der Vorgang (erneut) gestartet.

 

Weiter geht’s.

Zunächste muss das System aktualisiert werden.

Klicken sie auf den kleinen Bildschirm oben links, dem Terminal.

Geben sie folgendes ein:

sudo bash

 

Klicken sie auf den kleinen Bildschirm oben links, dem Terminal und geben Sie:

apt-get update -y && apt-get upgrade -y

ein.

Es läuft einiger Text durch das Fenster, die Prozedur läuft weiter und dauert etwas.

 

Durch diese gesamte Prozedur wird das System und die Datenbanken aktualisiert, damit nun zu installierende Pakete auch gefunden werden.

 

Als erstes empfehle ich das Programm TightViewer zu installieren. Dadurch erhalten sie die Möglichkeit alle Bedienungen am Raspberry von einem PC/Laptop aus vorzunehmen. Der Raspberry benötigt dann keinen Monitor, keine Maus und auch keine Tastatur mehr.

 

sudo apt-get install x11vnc
x11vnc -usepw -forever -display :0
nano /home/pi/.config/autostart/x11vnc.desktop

 

[Desktop Entry]
Type=Application
Name=X11VNC
Exec=x11vnc -usepw -forever -display :0
StartupNotify=false

 

 

 

 

TightViewer installieren:

Wenn Sie als root angemeldet sind:

Klicken Sie auf Menu, auf Shutdown, auf  Logout.

Sie haben sich nun abgemeldet und melden sich neu mit dem Namen pi und dem vergebenen Passwort an.

Klicken Sie wieder auf das Terminal.

Geben Sie:

apt-get install tightvncserver

ein.

Immer wenn Sie gefragt werden, ob sie fortfahren möchten tippen sie „j Enter“.

Um den server zu starten:

/usr/bin/tightvncserver

Es wird nun zweimal nach einem Passwort für die Verbindungen gefragt. Diese Passwort benötigt man später am PC/Laptop.

Ein View-Only-Passwort braucht nicht vergeben werden.

 

Natürlich ist es sinnvoll, wenn der Server nach dem Starten des Raspberry automatisch startet.

Hierfür ist folgendes einzugeben:

wget http://www.penguintutor.com/otherfiles/tightvncserver-init.txt

 

mv tightvncserver-init.txt /etc/init.d/tightvncserver

 

chown root:root /etc/init.d/tightvncserver

 

chmod 755 /etc/init.d/tightvncserver

 

update-rc.d tightvncserver defaults

 

Für Windows laden Sie sich den TightVNC Viewer unter:

http://www.tightvnc.com/download.php

herunter. Passend für Ihr Betriebssystem. Wenn Sie nicht wissen, ob sie 32 oder 64 Bit benötigen: Klicken sie auf den Start, bzw. Windows Button unten links. Gehen sie Auf Systemsteuerung, auf System und Sicherheit, auf System. Unter dem Punkt System wird ihn nun die Version Ihres Betriebssystems mitgeteilt. Diese Vorgehensweise ist jetzt beispielhaft für Windows 7.

Wenn Sich sich jetzt nun mit Ihrem Laptop/PC im selben Netzwerk wider Raspberry befinden (am gleichen Router), benötigen sie nur noch die IP-Adresse des Raspberry. Diese sollten Sie beim Einrichten des Routers notiert haben. Besitzen sie eine Fritzbox können sie auch, den dort vergebenen Namen für den Pi verwenden.

Starten sie das Windowsprogramm TightVNCViewer. Als „Remote-Host“ geben sie die IP-Adresse oder den Namen an, gefolgt von „:1“.

Also zum Beispiel:192.168.2.114:1 oder : Pi2:1.

Nun sollte der Bildschirm des Raspberry erscheinen und Sie können von nun an alles von hier aus steuern

 

No-Ip:

Üblicherwiese bekommt jeder Internetnutzer bei jeder neuen Einwahl ins Internet eine neue Ip-Adresse. Somit ist es nicht möglich, auf einfache Weise von Außerhalb unseren Pi zu erreichen.

Neuerdings stellen einige Internetanbieter die Kundenanschlüsse auf IP6 ein, wenn ein neuer Anschluss gelegt wird. Bisher war es sonst IP4. Sehr viele Programme können mit IP6 noch nicht umgehen, so auch die Programme, die wir hier einsetzten möchten. Auf Kundenantrag hin, stellen die Internetanbieter in der Regel auch kostenlos IP4 zur Verfügung.

Wir benötigen nun einen Dienst, der uns eine feste Adresse zur Verfügung stellt und die Anwender von dieser Adresse zu unserem Internetanschluss mit dem Pi umleitet.

Ein kostenlosere Dienst wird z.B. von No-Ip angeboten.

Besuchen Sie die Seite:

www.noip.com

und klicken Sie auf „Sign up“.

Geben sie zwei mal Ihre Emailadresse ein, suchen Sie sich einen handlichen Benutzernamen aus und legen Sie in dem zur Verfügung stehenden Rahmen, die Internetadresse fest.

Für diese Anleitung habe ich energiebeauftragter.ddns.net gewählt.

Klicken sie unten auf „Free sign up“ und Ihr Account ist erstellt.

Ganz wichtig: heben sie Emailadresse, Benutzernamen und Passwort gut auf. Normalerweise benötigen sie Daten nur sehr selten und ein Jahr später kommt man meist nicht mehr auswendig auf die Daten.

 

Nun installieren wir den No-Ip-Clienten auf dem Pi.

Öffnen sie wieder das Terminalfenster und geben folgende Zeilen ein:

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

 

sudo tar xf noip-duc-linux.tar.gz

 

cd noip-2.1.9-1/

 

sudo make install

 

Das Programm wird installiert. Sie warden im Anschluss nach der Emailadresse und dem Passwort gefragt, welche bei der Registrierung bei No-Ip verwendet wurden.

Haben Sie alles richtig angegeben erscheint die Meldung:

„Only one host [IhreInternetadresse] is registered to this account. It will be used

Sie warden nach dem Aktualisierungsrhythmus gefragt. Geben sie hier nichts ein und betätigen Sie Enter.

Als letztes erscheint die Frage:“Do you wish to run something at successful update?“

Antworten Sie mit N.

Das Programm ist nun installiert und eingerichtet, wird aber bei einem Neustart noch nicht automatisch mit gestartet.

Geben Sie im Terminal folgendes ein:

crontab -e

Bewegen sie den Cursor mit den Pfeiltasten nach ganz unten. Nicht mit der Maus!

Fügen sie am Ende die Zeile:

@reboot cd /home/pi/noip-2.1.9-1 && sudo noip2

hinzu.

Speichern sie die Datei mit Strg+o (erst Strg drücken und halten, dann auf den Buchstaben o tippen und dann Strg loslassen), dann die Entertaste betätigen.

Diesen Texteditor mit Strg+x verlassen.

Von nun an erreichen Sie ihren Pi mit der Internetadresse. Genau gesagt führt dies zu Ihrem Router. Da wir dort alle wichtigen Ports auf den Pi gelenkt haben, erreichen wir die Dienste die wir im weiteren Verlauf installieren werden.

 

Webserver und Datenbank installieren.

Möchten Sie den Pi zur Erstellung Ihrer Webseite mit erweiterten Funktionen nutzen, oder das Raumbuchungssystem oder die Klimaampel nutzen sollten Sie mit diesem Punkt weiter machen.

Wie so oft geht es mit dem Terminal weiter.

Da der Pi jetzt aus dem Internet erreichbar ist, sollten wir ihm verraten unter welcher Adresse dies geschieht.

 

Geben sie im Terminal folgendes ein:

sudo apt-get update

So ist sichergestellt, dass sie die Aktuellsten Versionen erhalten. Nun geben Sie:

sudo nano /etc/hostname

Beenden sie den Editor mit Strg+x. Auf die Frage ob sie speichern möchten drücken sie J und anschließend die Entertaste.

Geben sie nun

sudo reboot

ein. Der Pi wird nun neu gestartet. Wenn sie ihn über VNC steuern, müssen Sie die Verbindung neu herstellen.

Jetzt haben wir einiges vor uns. Zuerst installieren wir den Webserver namens Apache und weitere Pakete.

Geben sie im Terminal Fenster folgendes ein, jede Zeile mit Enter abschließen. Wenn gefragt wird, ob sie fortfahren möchten antworten sie mit j:

sudo bash
apt-get install apache2 apache2-doc apache2-utils && apt-get install libapache2-mod-php5 php5 php-pear php5-xcache && apt-get install php5-mysql && apt-get install mysql-server mysql-client && apt-get install phpmyadmin
 

Sie werden nun nach einem Passwort gefragt. Denken Sie sich eins aus und notieren sie es sich für das das Programm MySQL.

reboot

Der Pi startet wieder neu.

Wieder ggf. Verbindung neu herstellen und das Terminal öffnen.

sudo bash
apt-get install phpmyadmin

Wählen sie im sich öffnenden Fenster Apache2 aus bzw. drücken sie Enter, die nächste Frage können Sie auch direkt mit der Entertaste bestätigen.

Sie werden nun wieder nach einem Passwort gefragt, nehmen Sie einfach das, dass sie bereits für MySQL verwendet haben. Anschließend werden Sie gefragt, welches Passwort für den Zugriff auf die Datenbank genutzt werden soll, auch hier nehmen sie das gleiche Passwort.

Geben Sie nun folgendes ein:

nano /etc/apache2/apache2.conf

Es öffnet sich der Editor. Wir müssen ans Ende des bereits enthaltenen Textes gelangen. Drücken sie Strg+v und halten sie beides so lange, bis sie ganz unten angelangt sind.

Fügen Sie folgendes in einer neuen Zeile am Ende an:

Include /etc/phpmyadmin/apache.conf

Zum Speichern: Strg+x, j, Enter.

 

Jetzt können wir testen ob alles funktioniert hat. Haben sie mit NoIp eine Internetadresse angelegt, geben sie diese in einem Internetbrowser ein und hängen am ende /phpmyadmin/ an. Bei mir ist es dann

energiebeauftragter.ddns.net/phpmyadmin/

Haben sie noch keine Webadresse, geben sie die IpAdresse das Raspberry an.

Es erscheint das Anmeldefenster. Wenn sie sich anmelden wollen geben Sie als Benutzername root an und verwenden sie das Passwort für MySQL.

Sie Sehen die erste Oberfläche des Datenbankprogramms.

Da es aber nicht sinnvoll ist als Benutzer „root“ zu arbeiten, legen wir noch einen neunen Nutzer an:

Öffnen Sie das Terminal und geben ein:

sudo bash

$ mysql -u root -p
Sie werden nach Ihrem Passwort gefragt.
Nun geben sie ein:
create user NEUER_BENUTZER@localhost;
set password for NEUER_BENUTZER@localhost = password('NEUES_PASSWORT');
GRANT ALL PRIVILEGES ON *.* TO 'NEUER_BENUTZER'@'localhost';
quit
 
Melden Sie sich erneut bei Myphpadmin an und verwenden Sie die geraden angelegten Daten.
Sollten Sie sich nicht anmelden können prüfen Sie ob Sie alles korrekt geschrieben haben. 
Wenn Sie sich sicher sind können sie im terminal den Benutzer wie folgt wieder löschen, vielleicht haben Sie Sich beim Anlegen vertippt:
$ mysql -u root -p
Sie werden nach Ihrem Passwort gefragt.
Nun geben sie ein:
drop user NEUER_BENUTZER@localhost;
quit
 
Wiederholen Sie diesen Vorgang. Wenn es weiterhin nicht klappt, können sie auch den User root verwenden.
 

Um die Funktion normaler Webseiten zu testen geben Sie nur Ihre Internetadresse im Browser ein.

Auf der Seite erscheint der Text:

It works!

………“

 

Da wir aber noch nicht erstellt haben gibt es noch nicht viel zu sehen.

Damit wir Inhalt auf den Pi hochladen können installieren wir jetzt einen FTP-Server. Im Terminal geben wir folgendes ein:

sudo bash

apt-get install proftpd

die Folgende Frage bestätigen Sie einfach mit Enter

nano /etc/proftpd/proftpd.conf

Gehen Sie wieder mit Strg+v ans Ende der Datei und fügen sie folgendes an:

DefaultRoot ~
#AuthOrder              mod_auth_file.c  mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off

Das ganze auf die übliche art schließen und speichern.

cd /etc/proftpd/

mit folgendem Befehl wird einem Benutzername ein Passwort zugewiesen. Beides wird später zum hochladen von Dateien benötigt.

 

adduser Benutzername --shell /bin/false --home /var/www/upload

 

nun noch den server neu starten:

service proftpd restart

Sollte sich beim Neustart diese Fehlermeldung zeigen:

unable to register ‘memcache’ SSL session cache: Memcache support not enabled”

 

muss noch folgendes erledigt warden:

 

sudo nano /etc/proftpd/modules.conf

 

vor die Zeile:

LoadModule mod_tls_memcache.c 

 

Ein # einfügen so dass die Zeile wie folgt aussieht:

#LoadModule mod_tls_memcache.c

 

Damit man auch die Berechtigung erhält Daten abzuspeichern geben wir noch folgende Zeilen im Terminal ein:

chmod g+s /var/www
chmod 777 /var/www
chown -R www-data:www-data /var/www

 

Nun sind wir in der Lage Daten für unsere Webseite auf den Pi hochzuladen. Damit wir die Dateien von einem PC aus auch abschicken können brauchen wir noch ein Programm.

Zuerst benötigen wir aber auf dem PC einen Platz, wo wir die Dateien für den Server speichern und bearbeiten können. Hier haben sie völlig freie Wahl.

Bei mir ist es ein Ordner innerhalb von „Eigene Dateien“. Klicken Sie mit der RECHTEN Maustaste auf den Windows oder Start-Button und wählen Sie „Windows Explorrer öffnen“.

Wählen Sie nun einen Ort, wo Sie einen eigenen Ordner für die Daten unseres Pi erstellen wollen. Klicken Sie im Explorrer oben auf „NeuerOrdner“. Je nach Windows Version wählen statt dessen „Neu/Ordner“.

Für den Versand der Dateien empfehle ich das Programm FileZilla, kostenlos herunterladbar unter :

www.filezilla-project.org

Installieren Sie dieses Programm und starten Sie es.

Unter dem Menüpunkt Datei/Servermanager können Sie die Zugangsdaten zu Ihrem Pi eintragen:

 

Klicken Sie nun auf Erweitert:

Unter „Lokales Standard-Verzeichniss“ wählen Sie mittels „Durchsuchen“ den eben erstellten Ordner aus. Unter „Standard-Verzeichnis auf Server“ tragen Sie lediglich den Schrägstriche ein (geteilt).

Setzen Sie die Haken bei „Sycnronisierten Verzeichniswechsel verwenden“ und „Verzeichnisvergleich“

Unter „Übertragung“ setzen sie den Haken bei „Änderungszeitpunkt der übertragenen Datei beibehalten“.

 

 

Wenn Sie nun auf Verbinden klicken sollten Sie auf der linken Seite den Ordner auf Ihrem PC sehen, der die Daten für den Pi enthält, auf der rechten Seite die Dateien die sich auf dem Pi befinden.

Wenn sie das Verzeichnis wechseln, wechselt das Fenster nebenan mit. So können sie leicht dafür sorgen, das die Dateien immer am richtigen platz landen. Um Dateien auf den Pi zu laden, ziehen Sie sie aus dem linken in das rechte Fenster. Um sie herunter zu laden von dem rechten in das linke.

Ein Beispiel:

Wenn Sie die Datei jesus.htm in die rechte Spalte ziehen, können sie anschließend unter

energiebeauftragter.ddns.net/jesus.htm

sich diese Seite ansehen, sie ist im Internet veröffentlicht.

Wenn sie eine Seite bearbeiten wollen, ziehen Sie sie erst aus der rechten Spalte nach links, bearbeiten Sie sie und ziehen Sie sie wieder von links nach rechts.

Ihr Webserver ist nun vollständig eingerichtet.

 

 

Das Raumbuchungssystem:

Für das Raumbuchungssystem benötigen wir etwa drei Schritte:

  1. Datenbank erstellen
  2. Webinhalte auf den Server laden
  3. Die Einstellungen anpassen

 

Als erstes erstellen Sie in Ihrem Ordner ihrer Webseite auf dem PC (den Ordner, den sie in Filezilla als lokalen Standardordner angegeben haben) einen neuen Ordner, mittels Explorrer. Wählen sie einen Namen der sich gut eingeben lässt, möglichst ohne Umlaute. Ich habe ihn in diesem Beispiel jetzt „belegungsplan“ genannt. Wir haben das ja schon einmal gemacht. Laden Sie sich das Paket für das Raumbuchungssystem von meiner Webseite herunter und speichern sie es in diesem neuen Ordner.

www.bvenus.de/Raumbuchungssystem.zip

Die original Version finden sie unter:

http://sourceforge.net/projects/mrbs/files/mrbs/

Ich habe aber ein paar Veränderungen vorgenommen, ich empfehle dringend die Version von meiner Webseite.

 

Entpacken sie nun die Datei Raumbuchungssystem.zip in diesem Ordner. Sollte dabei der Ordner Raumbuchungssystem angelegt werden und alles sich in diesem Ordner befinden, müssen sie alle Dateien aus diesem Ordner, inclusive der darin enthaltenen Ordner in unseren Ordner „belegungsplan“ verschieben.

 

Punkt 1

Geben Sie Ihre internetadresse/phpmyadmin in einem Internetbrowser ein, wie wir es schon einmal zum testen gemacht haben. Loggen Sie sich mit root und Ihrem Passwort ein.

Sie sehen in etwa:

 

Klicken Sie auf Datenbanken.

 

Tragen sie unter „Neue Datenbank anlegen“ einen passenden Namen für Datenbank ein. Z.B. Raumbuchung, oder Bulli, oder was sie auch immer passend finden. Auch hier bitte keine Umlaute! Ich habe Raumbelegung gewählt.

Ergebnis:                                           

 

Klicken sie links auf ihre Datenbank.

und nun auf SQL

 

Markieren sie den unten stehenden Text und kopieren sie ihn in das Fenster im Browser:

 

#

# MySQL MRBS table creation script

#

# $Id$

#

# Notes:

# (1) If you have decided to change the prefix of your tables from 'mrbs_'

#     to something else using $db_tbl_prefix then you must edit each

#     'CREATE TABLE' and 'INSERT INTO' line below to replace 'mrbs_' with

#     your new table prefix.

#

# (2) If you add new fields then you should also change the global variable

#     $standard_fields.   Note that if you are just adding custom fields for

#     a single site then this is not necessary.

 

CREATE TABLE mrbs_area

(

  id                        int NOT NULL auto_increment,

  disabled                  tinyint(1) DEFAULT 0 NOT NULL,

  area_name                 varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci,

  timezone                  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci,

  area_admin_email          text CHARACTER SET utf8 COLLATE utf8_general_ci,

  resolution                int,

  default_duration          int,

  default_duration_all_day  tinyint(1) DEFAULT 0 NOT NULL,

  morningstarts             int,

  morningstarts_minutes     int,

  eveningends               int,

  eveningends_minutes       int,

  private_enabled           tinyint(1),

  private_default           tinyint(1),

  private_mandatory         tinyint(1),

  private_override          varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci,

  min_create_ahead_enabled  tinyint(1),

  min_create_ahead_secs     int,

  max_create_ahead_enabled  tinyint(1),

  max_create_ahead_secs     int,

  min_delete_ahead_enabled  tinyint(1),

  min_delete_ahead_secs     int,

  max_delete_ahead_enabled  tinyint(1),

  max_delete_ahead_secs     int,

  max_per_day_enabled       tinyint(1) DEFAULT 0 NOT NULL,

  max_per_day               int DEFAULT 0 NOT NULL,

  max_per_week_enabled      tinyint(1) DEFAULT 0 NOT NULL,

  max_per_week              int DEFAULT 0 NOT NULL,

  max_per_month_enabled     tinyint(1) DEFAULT 0 NOT NULL,

  max_per_month             int DEFAULT 0 NOT NULL,

  max_per_year_enabled      tinyint(1) DEFAULT 0 NOT NULL,

  max_per_year              int DEFAULT 0 NOT NULL,

  max_per_future_enabled    tinyint(1) DEFAULT 0 NOT NULL,

  max_per_future            int DEFAULT 0 NOT NULL,

  max_duration_enabled      tinyint(1) DEFAULT 0 NOT NULL,

  max_duration_secs         int DEFAULT 0 NOT NULL,

  max_duration_periods      int DEFAULT 0 NOT NULL,

  custom_html               text CHARACTER SET utf8 COLLATE utf8_general_ci,

  approval_enabled          tinyint(1),

  reminders_enabled         tinyint(1),

  enable_periods            tinyint(1),

  confirmation_enabled      tinyint(1),

  confirmed_default         tinyint(1),

 

  PRIMARY KEY (id),

  UNIQUE KEY uq_area_name (area_name)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_room

(

  id               int NOT NULL auto_increment,

  disabled         tinyint(1) DEFAULT 0 NOT NULL,

  area_id          int DEFAULT '0' NOT NULL,

  room_name        varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  sort_key         varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  description      varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci,

  capacity         int DEFAULT '0' NOT NULL,

  room_admin_email text CHARACTER SET utf8 COLLATE utf8_general_ci,

  custom_html      text CHARACTER SET utf8 COLLATE utf8_general_ci,

 

  PRIMARY KEY (id),

  FOREIGN KEY (area_id)

    REFERENCES mrbs_area(id)

    ON UPDATE CASCADE

    ON DELETE RESTRICT,

  UNIQUE KEY uq_room_name (area_id, room_name),

  KEY idxSortKey (sort_key)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_repeat

(

  id             int NOT NULL auto_increment,

  start_time     int DEFAULT '0' NOT NULL,

  end_time       int DEFAULT '0' NOT NULL,

  rep_type       int DEFAULT '0' NOT NULL,

  end_date       int DEFAULT '0' NOT NULL,

  rep_opt        varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  room_id        int DEFAULT '1' NOT NULL,

  timestamp      timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  create_by      varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  modified_by    varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  name           varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  type           char DEFAULT 'E' NOT NULL,

  description    text CHARACTER SET utf8 COLLATE utf8_general_ci,

  rep_num_weeks  smallint NULL,

  month_absolute smallint DEFAULT NULL,

  month_relative varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,

  status         tinyint unsigned NOT NULL DEFAULT 0,

  reminded       int,

  info_time      int,

  info_user      varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,

  info_text      text CHARACTER SET utf8 COLLATE utf8_general_ci,

  ical_uid       varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  ical_sequence  smallint DEFAULT 0 NOT NULL,

 

  PRIMARY KEY (id),

  FOREIGN KEY (room_id)

    REFERENCES mrbs_room(id)

    ON UPDATE CASCADE

    ON DELETE RESTRICT

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_entry

(

  id             int NOT NULL auto_increment,

  start_time     int DEFAULT '0' NOT NULL,

  end_time       int DEFAULT '0' NOT NULL,

  entry_type     int DEFAULT '0' NOT NULL,

  repeat_id      int DEFAULT NULL,

  room_id        int DEFAULT '1' NOT NULL,

  timestamp      timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  create_by      varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  modified_by    varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  name           varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  type           char DEFAULT 'E' NOT NULL,

  description    text CHARACTER SET utf8 COLLATE utf8_general_ci,

  status         tinyint unsigned NOT NULL DEFAULT 0,

  reminded       int,

  info_time      int,

  info_user      varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,

  info_text      text CHARACTER SET utf8 COLLATE utf8_general_ci,

  ical_uid       varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  ical_sequence  smallint DEFAULT 0 NOT NULL,

  ical_recur_id  varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,

 

  PRIMARY KEY (id),

  FOREIGN KEY (room_id)

    REFERENCES mrbs_room(id)

    ON UPDATE CASCADE

    ON DELETE RESTRICT,

  FOREIGN KEY (repeat_id)

    REFERENCES mrbs_repeat(id)

    ON UPDATE CASCADE

    ON DELETE CASCADE,

  KEY idxStartTime (start_time),

  KEY idxEndTime   (end_time)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_variables

(

  id               int NOT NULL auto_increment,

  variable_name    varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci,

  variable_content text CHARACTER SET utf8 COLLATE utf8_general_ci,

     

  PRIMARY KEY (id),

  UNIQUE KEY uq_variable_name (variable_name)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_zoneinfo

(

  id                 int NOT NULL auto_increment,

  timezone           varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL,

  outlook_compatible tinyint unsigned NOT NULL DEFAULT 0,

  vtimezone          text CHARACTER SET utf8 COLLATE utf8_general_ci,

  last_updated       int NOT NULL DEFAULT 0,

     

  PRIMARY KEY (id),

  UNIQUE KEY uq_timezone (timezone, outlook_compatible)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

CREATE TABLE mrbs_users

(

  /* The first four fields are required. Don't remove. */

  id        int NOT NULL auto_increment,

  level     smallint DEFAULT '0' NOT NULL,  /* play safe and give no rights */

  name      varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci,

  password_hash  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci,

  email     varchar(75) CHARACTER SET utf8 COLLATE utf8_general_ci,

 

  PRIMARY KEY (id),

  UNIQUE KEY uq_name (name)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

INSERT INTO mrbs_variables (variable_name, variable_content)

  VALUES ( 'db_version', '47');

INSERT INTO mrbs_variables (variable_name, variable_content)

  VALUES ( 'local_db_version', '1');

 

 

 

Und klicken Sie unten rechts auf ok.

Der Vorgang dauert nun einen Augenblick.

Es wurden nun alle nötigen Tabellen in die Datenbank eingetragen.

 

Wir passen nun die Einstellungen an unser System an.

Öffnen Sie mit einem Editor die Datei config.inc.php in unserem belegungsplan Ordner. Hier empfiehlt sich das Programm WordPad, sofern sie nicht über einen besseren Editor verfügen.

Gehen Sie mit den Pfeiltasten abwärts bis zu dem Text

// Database name:

$db_database = "bulli";

 

Ersetzen Sie das Wort bulli mit dem Namen den Sie Ihrer Datenbank gegeben haben.

Gegen sie weiter abwärts.

// Database login password:

$db_password = 'IhrPasswort';

Hier geben Sie das Passwort für MySQL an.

Speichern Sie die Datei und schließen Sie den Editor.

Starten Sie nun Filezilla und verbinden Sie sich mit dem Pi.

Ziehen sie den Ordner Ihres Belegunsplanes von dem linken in das rechte Fenster.

Die Dateien werden nun übertragen was eine weile dauern kann.

 

Wenn alles richtig eingetragen wurde sehen Sie folgendes Bild:

 

Da noch kein Benutzer angelegt wurde können Sie sich noch nicht anmelden. Klicken Sie rechts auf Benutzerliste.

Sie können nun Ihren ersten Benutzer anlegen der automatisch Administrationsrechte erhält.

Melden Sie sich nur dann mit diesem Benutzer an, wenn sie neue Benutzer oder Räume anlegen möchten. Sie können auch später noch weitere Administratoren anlegen. Für diese gilt das gleiche. Hintergrund. Alle Eintragungen, die ein Administrator vornimmt werden automatisch genehmigt, selbst wenn der Benutzer für den „Raum“ nicht zuständig ist.

Damit ihnen es leichter fällt sich die Daten zu merken können sie an ihre Wunschbenutzernamen einfach das Wort admin anhängen und diesem Adminrechte erteilen. Legen Sie noch mal den gleichen Benutzer ohne das Wort admin an und gegen Sie ihm „nur“ Benutzer-Rechte.

Wenn Sie jetzt auf Benutzerliste klicken, sehen Sie alle angelegten Benutzer und deren Berechtigung. Sofern sie als Admin angemeldet sind können sie die Rechte jetzt auch ändern. Aber Achtung! Sie benötigen immer mindestens einen Benutzer mit Admin-Rechten, sonnst sperren Sie sich aus.

 

Ihr Buchungssystem ist nun grundsätzlich startklar. Wie sie sehen steht aber in der Überschrift noch „Bulli Christuskirche Leer ……“

Öffnen Sie nochmals die Datei : config.inc.php. Tip, Starten Sie Filezilla und verbinden Sich sich mit dem Pi. Gehen Sie in den Ordner des Belegungsplanes und suchen Sie die Datei. Mit der rechten Maustaste klicken Sie auf diese Datei und wählen bearbeiten. Wenn Sie mit der Bearbeitung fertig sind werden Sie automatisch gefragt, ob sie die Datei hochladen möchten.

 

Diese Stelle ist für Sie interessant:

$mrbs_admin = "Burkhard Venus";

$mrbs_admin_email = "burkhard@bvenus.de";

$mrbs_company = "Bulli Christuskirche Leer";   // This line must always be uncommented ($mrbs_company is used in various places)

$weekstarts = 1;

$dateformat = 1;

$auth["type"]  = "db";

$auth['db_ext']['password_format'] = 'md5';

 

$max_slots = 120;

$ldap_v3 = TRUE;

$view_week_number = TRUE;

unset($auth["admin"]);              // Include this when copying to config.inc.php

$auth['deny_public_access'] = TRUE;

$mrbs_company_url = "http://www.christuskirche-leer.de";

$enable_periods = false;  // Default value for new areas

 

Ändern sie die Werte nach Ihren Bedürfnissen.

Ein weiterer Abschnitt weiter unten:

// EMAIL - MISCELLANEOUS

// ---------------------

 

// Set the email address of the From field. Default is 'admin_email@your.org'

$mail_settings['from'] = 'Bulli@christuskirche.de';

$url_base = "http://katharinavbora.ddns.net/Bulli";

 

Passen Sie auch hier die Werte an z.B.:

// HOW TO EMAIL - BACKEND

// ----------------------

// Set the name of the backend used to transport your mails. Either 'mail',

// 'smtp' or 'sendmail'. Default is 'mail'.

$mail_settings['admin_backend'] = 'smtp';

 

/*******************

 * Sendmail settings

 */

 

// Set the path of the Sendmail program (only used with "sendmail" backend).

// Default is '/usr/bin/sendmail'

$sendmail_settings['path'] = '/usr/sbin/sendmail';

// Set additional Sendmail parameters (only used with "sendmail" backend).

// (example "-t -i"). Default is ''

$sendmail_settings['args'] = '';

 

/*******************

 * SMTP settings

 */

 

// These settings are only used with the "smtp" backend

$smtp_settings['host'] = 'smtp.gmail.com';  // SMTP server

$smtp_settings['port'] = 587;           // SMTP port number

$smtp_settings['auth'] = TRUE;        // Whether to use SMTP authentication

$smtp_settings['username'] = 'IhrBenutzername/Emailadresse';       // Username (if using authentication)

$smtp_settings['password'] = 'IhrPasswort';       // Password (if using authentication)

 

// EMAIL - MISCELLANEOUS

// ---------------------

 

// Set the email address of the From field. Default is 'admin_email@your.org'

$mail_settings['from'] = 'Raumbelegung@ihreWebadresse';

$url_base = "http://ihreWebadresse/belegungsplanOrdner";

 

Laden Sie die Datei nun auf den Pi.

 

Wenn Sie ein weiteres, eigenständiges Buchungs-Planungssystem anlegen möchten, beginnen sie wieder bei Punkt1 und legen eine neue Datenbank, wiederum mit einem passenden Namen an und arbeiten Sie sich wieder bis hierhin durch.

Dies ist Sinnvoll, wenn sie voneinander unabhängige Benutzergruppen haben.

In unserer Gemeinde nutzen wir ein System für Rumbelegung und Technik (unser Gasgrill ist als Raum angelegt, es gibt einen Raum Techniker mit dessen Hilfe ein Techniker „bestellt“ werden kann). Ein weiteres System ist für die Buchung des Gemeindebullis und verfügbaren Fahren.

Normalerweise bekommt alle Beteiligten (Bucher, RaumAdmin, BereichsAdmin, Admin) bei jeder Aktion automatisch eine Email.

Unser Pi ist aber noch nicht in der Lage Emails zu verschicken, dies bringen wir ihm im nächsten Schritt bei.

 

 

 

Emailversand:

Als erstes müssen wir aber unserem Anbieter für die Internetadresse mitteilen, das er auch Emails an unseren Pi weiterreichen soll.

Gehen sie mit einem Internetbrowser auf die Adresse:

www.noip.com

Klicken Sie oben rechts auf „Sign In“ und melden Sie sich mit den Daten an, mit denen Sie hier Ihren Account eingerichtet haben.

 

Klicken Sie auf „Dynamic DNS“. Klicken Sie auf „Modify“ hinter Ihrer Webadresse.

Nun auf „Add MX records“.

 

Als nächstes benötigen Sie einen Emailaccount z.B. bei google. Hintergrund ist, dass Emails nur von Mailservern ins Internet verschickt werden können, die über eine feste IP-Adresse verfügen. Privatanwender haben, wie wir ja schon besprochen haben, eine Dynamische IP-Adresse. Diese werden blockiert um den ungezügelten Versand von Werbemails zu unterbinden.

Ich beschreibe hier, wie man z.B. einen Google-Account nutzen kann um unsere Mails zu transportieren.

Die Einrichtung des Accounts werde ich nicht extra beschreiben, bei Bedarf besuchen Sie die Seite : www.google.de und geben Sie als Suchbegriff „google emailkonto einrichten“ ein.

 

Ich empfehle für unsere Zwecke ein extra Konto einzurichten. Wenn Sie Ihr persönliches Konto verwenden, wird es sich evtl. mit Fehlermeldungen füllen, die wir ignorieren können, die aber ihr Postfach fluten.

 

Öffnen Sie nun auf dem Pi wieder das Terminal.

Geben sie wieder folgendes ein:

sudo bash

apt-get install ssmtp

nano /etc/ssmtp/ssmtp.conf

 

Im Editor ändern Sie folgende Zeilen entsprechend Ihren Daten ab:

mailhub=smtp.gmail.com
rewriteDomain=energiebeauftragte.ddns.net
hostname=energiebeauftragter.ddns.net
FromLineOverride=NO
UseSTARTTLS=YES
AuthUser=mailuser
AuthPass=mailpasswort
 
Speichern wieder mit Strg+x, j und dann Enter.
Dann im Terminal wieder:
dpkg-statoverride --update --add root mail 0640 /etc/ssmtp/ssmtp.conf
nano /etc/ssmtp/revaliases
hier fügen Sie die folgende Zeile an:
root:buchungssystem@energiebeauftragter.ddns.net:smtp.gmail.com:587
www-data: buchungssystem@energiebeauftragter.ddns.net:smtp.gmail.com:587
 
 
Speichern wie immer mit Strg+x …….
Das System funktioniert nun, arbeitet aber noch nicht ganz sauber. Der Pi versucht nun auch Systemmails zu verschicken, findet aber keinen Abnehmer.
Dafür habe ich im Moment noch keine Lösung
 
 

FHEM installieren

Im Terminal folgendes eingeben:

sudo bash

apt-get -f install && sudo apt-get -y install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl

 

sudo wget http://fhem.de/fhem-5.7.deb && sudo dpkg -i fhem-5.7.deb

 

Wobei 5.7 die aktuelle Versionsnummer sein sollte. Sehen Sie unter :

www. http://fhem.de/fhem.html#Download

nach, hier wird Ihnen die Aktuelle Version angezeigt.

 

Geben Sie nun im Terminal folgendes ein:

cd /opt && chmod -R a+w fhem && usermod -a -G tty pi && usermod -a -G tty fhem

 

wenn sie nun in einem Webbrowser folgende Adresse eingeben:

IhreWebAdresse:8083/

In meinem Fall:

Energiebeauftragter.ddns.net:8083

Damit läuft das System. Damit sie auch Änderungen vornehmen können tragen sie als erstes in die Eingabezeile der Bedienoberfläche folgenden Befehl ein:

attr WEB editConfig 1

Sonst lässt sich die Konfiguration nicht bearbeiten.

Die Möglichkeiten und den Weg, was mit FHEM möglich ist, würde den Rahmen dieser Anleitung sprengen. Die Anleitungen im Netz und auch die Dokumentation des Systems ist recht umfangreich. Bei Fragen stehe ich natürlich gern zur Seite und helfe gerne.