Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:webapps:mrbs:start]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
anwenderwiki:webapps:mrbs:start [2018/02/04 03:07] Tobiasanwenderwiki:webapps:mrbs:start [2018/02/04 03:27] (aktuell) Tobias
Zeile 1: Zeile 1:
 +{{tag> mrbs needs_translation_en}}
 +{{indexmenu_n>10}}
 +
 +====== MRBS - Raumbuchungssystem ======
 +"MRBS bietet Ihnen die Möglichkeit, über einen Webserver Zeitreservierungen für Räume oder Medien in der Schule (oder außerhalb) zu verwalten. Läuft auf dem Server die Linux-Musterlösung, können alle Lehrer Räume oder Medien buchen, nachschauen, wann sie gebucht sind und verschiedene Abfragen tätigen.\\
 +(aus: http://lehrerfortbildung-bw.de/netz/muster/linux/)
 +
 +Mit MRBS (Meeting-Room-Booking-Service) kann man sowohl Räume als auch Geräte buchen lassen.
 +MRBS basiert auf php und speichert die Daten in einer Datenbank.
 +
 +===== Installation =====
 +Das MRBS ist im Paket ''linuxmuster-mrbs'' enthalten und wird durch
 +<code>
 +apt-get install linuxmuster-mrbs
 +</code>
 +installiert. Damit steht die Internetseite bereits unter [[https://server.linuxmuster.net/mrbs]] zur Verfügung.
 +
 +===== Einrichtung =====
 +Die grundlegenden Einstellungen werden in der Datei <file>/etc/mrbs/config.inc.php</file> vorgenommen.
 +Nach der Installation ist bereits der Benutzer **administrator** der Administrator des MRBS und die
 +Authentifizierung erfolgt in der Weise, dass alle Benutzer Reservierungen sehen können, Lehrer Reservierungen
 +verändern können und der Benutzer **administrator** der Administrator des Raumbuchungssystems ist.
 +
 +==== Grundeinstellungen ====
 +Standardmäßig wird als Titel **Raumbuchungssystem** angezeigt. Das kann angepasst werden.
 +
 +<code>
 +$mrbs_company = "<Schulname>"
 +</code>
 +
 +Das **Stundenraster** muss angepasst werden. Für jede Stunde ist eine Zeile der Form 
 +
 +<code>
 +  $periods[] = "(1.)07:40-08:25";
 +</code>
 +
 +anzulegen bzw. zu editieren.
 +
 +Wenn man **sehr viele Geräte und Räume** verwalten muss, empfiehlt es sich,  
 +die Einstellung durch Umsetzen des Kommentarzeichens # auf "select" zu ändern:
 +<code>
 +  #$area_list_format = "list";
 +  $area_list_format = "select";
 +</code>
 +Nun werden Raum- und Geräteliste als  Auswahlfeld und nicht mehr als Listen ausgegeben.
 +
 +Eventuell ist bei der **Monatsansicht** die Variable
 +<code>
 +  $monthly_view_entries_details = "both";
 +</code>
 +sinnvoll.
 +
 +===== LDAP-Authentifizierung =====
 +In der Datei <file>/etc/mrbs/config.inc.php</file> gibt es einen Abschnitt "Authentication Settings".
 +
 +In der Standardeinstellung **mlbw** haben Lehrer Zugriff auf Buchungen, alle anderen können Buchungen
 +nur sehen. Stellt man auf **pop3**, so können alle Benutzer Buchungen vornehmen. Es kann auch auf 
 +**ldap** gestellt werden, dann können alle Benutzer buchen.
 +
 +<code>
 +  $auth["type"] = "ldap"; # How to validate the user/password. One of "none"
 +                          # "mlbw" "config" "db" "pop3" "imap" "ldap" "nis" "nw" "ext".
 +  $auth["admin"][] = "wwwadmin";
 +  $ldap_base_dn = "ou=accounts,dc=linuxmuster,dc=lokal";
 +  $ldap_port = 389;
 +  $ldap_v3 = true;
 +</code>
 +
 +Die Daten sind beispielhaft und müssen an die eigene Schule angepasst werden((mindestens der Eintrag unter **ldap_base_dn**)).
 +
 +===== Spezielle Anpassungen =====
 +==== Wochenansicht ====
 +In der Standardeinstellung werden 7 Tage angezeigt, das ist für eine Schule nicht erforderlich. In der Datei 
 +<file>/usr/share/mrbs-1.2.5/web/week.php</file> kann man den Wert
 +<code>
 +  $num_of_days=5;
 +</code>
 +setzen.
 +
 +
 +==== Begriffe ====
 +Die Begriffe der Sprachdatei passen nicht optimal zu den Gegebenheiten einer Schule. Die Sprachdatei <file>/usr/share/mrbs-xxx/web/lang.de</file> kann 
 +angepasst werden, z.B.:
 +<code>
 +  ...
 +  $vocab["period"   = "Unterrichtsstunde:";
 +  $vocab["periods"  = "Unterrichtsstunden";
 +  $vocab["internal" = "planmäßig";
 +  $vocab["external" = "außerplanmäßig";
 +  ...
 +</code>
 +
 +===== Zugriffsbeschränkungen =====
 +In der Datei <file>/etc/mrbs/mrbs_apache.conf</file> ist bereits vorgesehen, den Zugriff auf das MRBS auf
 +Lehrer einzuschränken, d.h. bereits beim Aufruf der Seite muss man sich authentifizieren. Wenn man das
 +einschaltet, muss man allerdings Benutzernamen und Passwort 2x eingeben.
 +
 +Die Einstellungen werden erst wirksam, wenn der Webserver mit
 +<code>
 +/etc/init.d/apache2 restart
 +</code>
 +neu gestartet worden ist.
 +
 +==== Hack Authentifizierung per http basic, authorisierung by "teacher" ====
 +
 +Will man von zu Hause http-basic-Authentifizierung, z.B. nur für einen Lehrer einsehbaren und bearbeitbaren Plan, aber dennoch kein weiteres Passwort eingeben:
 +- <file>/etc/mrbs/mrbs_apache.conf</file> wie oben beschrieben auf Lehrer eingeschränkt einschalten.
 +- in der config.inc.php kann man dann ``$auth["session"] = "http";`` einstellen, dann weiß mrbs gleich nach der Anmeldung, wer man ist (ohne erneut nachzufragen).
 +- Ebenso ``$auth["type"] = "none";`` stellen, was wiederum bedeutet, dass keine weitere überprüfung stattfindet: Lehrer haben vollen Zugriff (wie aber auch wie administrator)
 +
 +=== Hack 2: Ohne Authentifizierung und ohne Authorisierung von bestimmter IP ===
 +
 +Obiges noch verfeinert: Wenn man von zu Hause zwar per Login Daten ändern möchte, von der Schule von einem Lehrer-PC z.B. aber das Einloggen vermeiden will:
 +
 +  -  in der mrbs_apache.conf folgenden Eintrag machen: <code>
 +<Location /mrbs>
 +    AuthName               "Meine Schule Raumbuchungssystem: Schuldaten eingeben"
 +    AuthType               Basic
 +    AuthBasicProvider      ldap
 +    AuthzLDAPAuthoritative off
 +    AuthLDAPURL            ldap://10.16.1.1/dc=linuxmuster-net,dc=lokal?uid
 +    Require                ldap-attribute gidNumber=10000
 +    Require                user administrator
 +    Order Allow,Deny
 +    Allow From 10.16.12.89
 +    Satisfy Any
 +</Location>
 +</code>
 +  - in der datei <file>/usr/share/mrbs-1.2.5/web/session_http.inc</file> kann man noch die Zeile in der Funktion getUserName() austauschen, um den Benutzer "touch" anzuzeigen, falls sich keiner angemeldet hat: <code>
 +    if (isset($PHP_AUTH_USER)) {
 +    ...
 +    }
 +    else
 +    {
 +        return "touch";
 +//        return null;
 +    }
 +</code>
  
 [[anwenderwiki:webapps:mrbs:start]]