In diesem Artikel zeige ich euch, wie man das Open-Source Raumbuchungssystem MRBS auf einem Server mit Linux Ubuntu 22.04 bzw. Debian 12 installieren kann. Nach erfolgreicher Installation kann die Software über den Browser bedient werden, um die Vermietung und Buchung von Räumen, Pensionen oder Fahrzeugen an einem Ort zu verwalten. Die Nutzung ist kostenlos, und die Buchungssoftware lässt sich sehr einfach und intuitiv bedienen.
Inhaltsverzeichnis: Installation und Einrichtung des Meeting Room Booking Systems (MRBS)
Voraussetzungen und Aktualisierungen
Zuerst wird ein frisches Hostsystem mit einer installierten und aktualisierten Linux Ubuntu 22.04 oder alternativ Debian 12 Distribution benötigt. Für eine einwandfreie Verwendung empfehle ich mindestens 2 Kerne und 3 GB Arbeitsspeicher, wenn ihr das System in einer virtuellen Maschine betreiben möchten.
Das System und die Paketquellen aktualisieren:
apt-update -y && apt-upgrade -y
Installation eines Webservers (Apache) und PHP für MRBS
Die Raumbuchungssoftware MRBS erfordert einen Webserver im Hintergrund, der die Webanwendung bereitstellt, sowie PHP mit den erforderlichen Modulen, um Termine einzutragen und in die Datenbank zu schreiben.
Installation des Webservers Apache:
apt install apache2
Installation von PHP über das offizielle Repository:
apt install software-properties-common
add-apt-repository ppa:ondrej/php
Paketquellen einlesen:
apt update -y
PHP, Datenbank (MariaDB) und erforderliche Module installieren:
apt install php8.1 libapache2-mod-php8.1 php8.1-zip php-dompdf php8.1-xml php8.1-mbstring php8.1-gd php8.1-curl php8.1-imagick libmagickcore-6.q16-6-extra php8.1-intl php8.1-bcmath php8.1-gmp php8.1-cli php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php-pear php8.1-apcu redis-server php8.1-redis php8.1-xml mariadb-server
Herunterladen der neuesten Version des Meeting-Room-Booking-Systems (MRBS) von GitHub (Klonen):
cd /var/www/html/
In das neue Verzeichnis navigieren:
cd mrbs-code
Das Webverzeichnis in das Webserver-Ausgabeverzeichnis kopieren:
cp -r web /var/www/html
cd /var/www/html
Benenne das Verzeichnis um:
mv web mrbs
An diesem Punkt sind die Vorbereitungen abgeschlossen und die grundlegende Struktur für das Raumbuchungssystem steht. Fahre im nächsten Abschnitt mit der Installationsanleitung fort.
Installation und Einrichtung von MariaDB (MySQL)
Das Raumbuchungssystem (MRBS) erfordert eine Datenbank zur Speicherung von Buchungsdaten. Hierbei empfiehlt es sich, PostgreSQL oder eine MySQL-Datenbank zu installieren. In dieser Anleitung entscheiden wir uns für die Open-Source-Datenbank MariaDB.
MariaDB installieren:
mysql_secure_installation
Zuerst muss ein Passwort für das Root-Benutzerkonto festgelegt werden. Bei der sicheren Installation der Datenbank müssen noch einige Fragen beantwortet werden:
Antwort 1: N
Antwort 2: N
Antwort 3: Y
Antwort 4: Y
Antwort 5: Y
Antwort 6: Y
Zusammenfassung der gegebenen Antworten: In der Regel können alle Antworten übernommen werden, da sie letztlich dazu dienen, eine sichere und saubere Datenbank zu erhalten. Dabei wird das Remote-Log-in als Root-Benutzer deaktiviert und vorhandene Testdatenbanken, sowie Benutzer werden vollständig entfernt. Sobald die Fragen nacheinander beantwortet wurden, können wir uns mit der MySQL-Shell verbinden und die Installation eines Datenbank-Benutzers, einer Datenbank und der Tabellen vornehmen.
Anmeldung an der MariaDB-Shell:
mysql -u root -p
Einen Datenbank-Benutzer anlegen:
CREATE USER 'mrbs'@'localhost' identified by 'mrbs';
Eine neue Datenbank erstellen:
CREATE DATABASE mrbs;
Die Datenbank selektieren:
USE mrbs;
Importiert jetzt die vordefinierten Tabellen aus dem geklonten GitHub-Verzeichnis in die Datenbank:
source /var/www/html/mrbs-code/tables.my.sql;
Überprüfe nun die Existenz der Tabellen (Siehe Grafik):
SHOW TABLES;
Weise dem Datenbank-Benutzer „mrbs“ die erforderlichen Berechtigungen zur Verwaltung der Datenbank zu:
GRANT ALL PRIVILEGES ON mrbs.* TO 'mrbs'@'localhost';
Änderungen wirksam machen:
FLUSH PRIVILEGES;
Datenbank-Modus verlassen:
quit;
Konfiguration des Webservers und Berechtigungen erteilen
Um dem Webserver mitzuteilen, welche Webseite er ausliefern soll, müssen Berechtigungen für das Webverzeichnis vergeben und eine Virtual Host-Konfigurationsdatei mit den erforderlichen Informationen erstellt werden.
Berechtigungen für den Webserver erteilen:
chown -R www-data:www-data /var/www/html/mrbs
chmod -R 755 /var/www/html/mrbs
Eine Virtualhostdatei für die Webseitenausgabe erstellen:
nano /etc/apache2/sites-available/mrbs.conf
Kopiere den folgenden Inhalt und fügen ihn in die Datei ein. Ergänze die E-Mail-Adresse des ServerAdmins und den ServerNamen. Die übrige Konfiguration ist bereits von mir auf die Installation angepasst worden.
Kopieren und einfügen:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/mrbs
ServerName example.com
ErrorLog /var/log/apache2/mrbs-error.log
CustomLog /var/log/apache2/mrbs-access.log combined
<Directory /var/www/html/mrbs/>
Options +FollowSymlinks
AllowOverride All
Require all granted
SetEnv HOME /var/www/html/mrbs
SetEnv HTTP_HOME /var/www/html/mrbs
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
Speichern Sie die Änderungen mit [Strg+S] und verlassen Sie den Editor mit [Strg+X]. Damit die Ausgabe der Webseite funktioniert und Komplikationen vermieden werden, deaktivieren wir die Apache-Defaultsite und aktivieren die soeben erstellte Konfiguration.
Defaultsite deaktivieren:
a2dissite 000-default.conf
MRBS-Webseite aktivieren:
a2ensite mrbs.conf
Konfiguration von PHP und Einfügen der Datenbankinformationen
Jetzt, da die Datenbank eingerichtet ist und der Webserver erfolgreich für die Ausgabe des Open-Source Raumbuchungssystems vorkonfiguriert wurde, werden noch einige Einstellungen in der PHP-Konfigurationsdatei vorgenommen.
Zunächst müssen wir wieder in das Verzeichnis der Webseite navigieren:
cd /var/www/html/mrbs
Beispielkonfiguration kopieren:
cp config.inc.php-sample config.inc.php
Verwende den Editor nano und füge die nachfolgenden Einträge hinzu:
nano config.inc.php
Konfiguration:
$timezone = "Europe/Berlin";
$db_database = "mrbs";
$db_login = "mrbs";
$db_password= 'mrbs';
$db_tbl_prefix = "mrbs_";
Hinweis: Das sind die Zugangsdaten für die Datenbank. Solltest Du andere Namen und Passwörter während der Installation und Einrichtung der Datenbank verwendet haben, müssen diese Zugangsdaten manuell eingetragen, genauer gesagt korrigiert werden.
Speichere die Änderungen mit [Strg+S] und verlasse die Datei mit [Strg+X]. Jetzt muss der Webserver einmal neu gestartet werden, damit auch alle Änderungen wirksam werden und die Webseite für das Buchungsmanagement ausgegeben werden kann. Anschließend säubern wir das Verzeichnis, indem wir die alten Installationsdateien aus dem HTML-Ordner entfernen. Das ist sicherheitsrelevant.
Apache neustarten:
systemctl reload apache2
Navigiere in das HTML-Verzeichnis:
cd /var/www/html
Rekursives löschen der nicht mehr benötigten Installationsdateien:
rm -r mrbs-code
Installation von MRBS abgeschlossen: Webseite im Browser öffnen
An diesem Schritt ist die serverseitige Installation von MRBS (Meeting Room Booking System) erfolgreich abgeschlossen. Verwende nun einen beliebigen Webbrowser von einem Client aus demselben lokalen Netzwerk, um auf die Webanwendung zuzugreifen. Der Zugriff kann über die IP-Adresse oder den Hostnamen des Systems erfolgen.
Beispiel für die IP-Adresse zum Zugriff auf die Weboberfläche:
http://192.168.1.210/
Wie üblich in meinen Anleitungen, bin ich immer ziemlich gründlich. Deshalb folgen nun die ersten Schritte zur Inbetriebnahme des Raumbuchungssystems. Beginne damit, einen Benutzer anzulegen. Dieser Benutzer wird gleichzeitig das Administrator-Konto sein. Fülle die erforderlichen Felder aus und verwende ein sicheres Passwort. Klicke dann auf die Schaltfläche „Speichern“.
Für die Raumbuchung empfehle ich, ein weiteres normales Konto ohne Adminrechte zu verwenden. Erstelle bei Bedarf für jeden Mitarbeiter einen eigenen Benutzer. Dieser Schritt ermöglicht es später, nachzuvollziehen, welche Person für welche Buchung verantwortlich ist. Es gibt auch ein paar Benutzerrollen, die relativ selbsterklärend sind. Nach der Benutzererstellung können Bereiche und Räume angelegt werden.
Dies erfolgt über den Menüpunkt „Räume“. Bereiche könnten etwa Hotelzimmer, verschiedene Pensionen, Ferienwohnungen und vieles mehr umfassen. Theoretisch wäre die Software genauso gut für die Fahrzeug- oder Gegenstandvermietung geeignet.
Erlaubt ist immer das, was funktioniert. Neben den Zimmernamen gibt es auch Felder für die Kapazität und eine Beschreibung. Wenn es verschiedene Raumadministratoren gibt, können unterschiedliche E-Mail-Adressen hinterlegt werden. Dadurch wird die Verwaltbarkeit der Räume besser geregelt.
Hier habe ich zur Demonstration einige Räume in das System eingepflegt. Für den Monat April gibt es logischerweise noch keine Buchungen, da wir das System gerade erst in Betrieb genommen haben. Für den Monat Mai habe ich einige Räume an verschiedene Demo-Kunden gebucht. Die Übersichtlichkeit ist perfekt. Man könnte am Telefon sofort zusagen oder absagen, ohne lange Tabellen durchsuchen zu müssen. Die Termin-Koordination funktioniert ausgezeichnet.
Eine Buchung kann erfolgen, indem wir auf einen bestimmten Tag klicken. Anschließend können alle erforderlichen Daten eingetragen werden (siehe Bild aus der MRBS-Weboberfläche).
Was ich besonders hervorheben möchte, ist, dass es zu keiner Zeit zu Doppelbuchungen kommen kann. Das Programm erkennt automatisch, wenn es zu Konflikten in der Planung kommen würde. Wenn ein Benutzer versucht, einen Raum zur selben Zeit an unterschiedliche Personen zu buchen, erkennt das System eine zeitliche Überschneidung und gibt eine Warnung aus.
Zusammenfassung und Empfehlungen für die kostenlose Raumbuchungssoftware
Abschließend möchte ich meine persönliche Meinung zur Installation und zur Software selbst äußern. Die Software ist simpel und konzentriert sich auf das Wesentliche. Es gibt zwar Kalender-Synchronisationen, aber ich habe mich damit nicht ausführlich beschäftigt. Dennoch ist sie benutzerfreundlich und einfach zu verstehen, besonders für Personen, die nicht versiert im Umgang mit moderner EDV sind.
Wenn die Webanwendung für Raumbuchungen ausschließlich intern genutzt wird, müssen normalerweise keine weiteren Maßnahmen ergriffen werden. Möchtet ihr das Buchungssystem jedoch über das Internet erreichbar machen, empfehle ich die Verwendung einer Firewall wie z.B. UFW und die Installation eines SSL-Zertifikats, um eine verschlüsselte Verbindung über HTTPS zu gewährleisten.
Das Beste kommt bekanntlich zum Schluss: MRBS ist vollständig responsiv entwickelt und lässt sich auch hervorragend über Tablet-PCs und Smartphones bedienen. Ich wünsche euch viel Spaß mit dieser Software. Habt ihr Fragen? Gerne in den Kommentaren 🙂
Super Anleitung und vielleicht sogar die beste Open-Source-Software für kleine Hotels. Wir verwenden sie Dank deiner guten Erklärung jetzt. Könntest du vielleicht auf meinen Kommentar antworten und mir mitteilen, wie man den Text oben von „Your Company – Raumbuchungssystem“ auf einen eigenen Text, z.B. für das eigene Hotel/Pension ändern kann? Vielen Dank
Moin Martin, das Hinzufügen eines anderen Namens für das Programm ist relativ einfach. Verbinde dich dafür über SSH mit dem Hostsystem, wo MRBS gehostet wird. Navigiere in das Verzeichnis „/var/www/html/mrbs“ und öffne die Konfigurationsdatei „config.inc.php“ mit einem beliebigen Editor, z.B. VIM oder nano. Scrolle bis zum unteren Ende der Datei und füge die folgende Zeile hinzu:
$mrbs_company = "Eigener Name";
– Speichere die Änderungen ab und besuche die Webseite für die Raumbuchung erneut. Anschließend sollte dort nun nicht mehr „Your Company…“ stehen, sondern ein eigener Wert. Viele Grüße