Software

Host it yourself: Der Weg zur hausgemachten Webanwendung

Hausgemachtes

Bildquelle: Pexels

Liebes Tagebuch,

ich hätte nicht gedacht, dass das zwischen dir und mir so eine große Sache wird. Oder dass ich auch in turbulenten Phasen regelrecht kreativ werden würde, um Zeit für dich zu haben. Neulich wurde ich gefragt, wieviel Aufwand ich in meinen IT-Blog hineinstecke. Und ich blieb die Antwort schuldig, denn Fakt ist: Ich hatte keine Ahnung – irgendwas mit „viel“, vermutlich.

Das wurmte mich. Berufsbedingt bin ich es schließlich gewöhnt, meine Tätigkeiten nahezu minutengenau nachzuweisen. Wieso also sollte ich mein Dasein als Datenkrake im Privaten hinter mir lassen? Ich konnte nur gewinnen, wenn ich anfing, meine Blogarbeiten mitzuverfolgen: Insbesondere Erkenntnisse darüber, wieviel Zeit von einer Beitragsidee bis zur Veröffentlichung vergeht. Worauf lege ich meinen Fokus? Ist es wirklich das Texten selbst oder beschäftigen mich Ästhetik und soziale Medien mehr als mir bewusst ist?
Ich entschloss, handfeste Antworten darauf zu finden. Und ich würde dafür einen Assistenten einsetzen: Ein Zeiterfassungstool.

Die Auswahlphase

Eine kurze Online-Recherche, schon stapelten sich die Anwendungen, mit denen ich mein Vorhaben umsetzen konnte. Viele davon sogar kostenlos! Trotzdem sortierte ich einen Großteil aus. Der Grund: Einige der Anwendungen liegen per Public Cloud in externer Hand. Das ist enorm praktisch, fiel mir allerdings schon öfter auf die Füße (woher meine Skepsis kommt, erfährst du hier).

Ich fand in Kimai eine Open Source Software zur Zeiterfassung, die mir volle Kontrolle ermöglichte. Es gab allerdings einen Haken: Es ist nicht für den häuslichen Computer vorgesehen, sondern rein für Server verfügbar. Ich kann absolut verstehen, wenn das ein Ausschlusskriterium ist. Für mich war es allerdings der Jackpot: Am Ende winkte mir eine kostenfreie Webanwendung, die ich von überall her nutzen konnte. Mit Daten, die auf einem Server in meinen eigenen vier Wänden beheimatet sind.

Die Installation

Ich bin ehrlich: Obwohl mir daheim ein Miniserver namens Raspberry zur Verfügung steht, hätte ich Kimai nur mit übernatürlichem Willen allein installiert bekommen. Gibt es eine Installationsanleitung? Ja.1. Kann ich enträtseln, was sie von mir will? Nope, zumindest jetzt noch nicht.
Also habe ich mir Hilfe gesucht und saß bei diesem Projekt nicht selbst am Steuer. Doch als „Co-Pilot“ hatte ich sehr gute Sicht, um den Weg genau mitzuverfolgen. Und den verrate ich dir nun: Wir schauen uns an, wie man eine selbstgehostete Webanwendung ins Laufen bekommt.

Schritt 1: Kontaktaufnahme zum Server

Server sind 24/7 bei der Arbeit, meist mit beeindruckender Rechenleistung. Nur Bildschirm und Tastatur darf man lange suchen.
Stattdessen lässt sich ein Server über einen sogenannten SSH Client wie zum Beispiel PuTTY steuern. Das Programm ließ sich einfach über meinen Laptop aufrufen und wir konnten von dort aus die Verbindung zum Raspberry herstellen.

Schritt 2: Kompatibilitätscheck

Bevor Kimai ans Werk geht, stellt es ein paar technische Anforderungen. Die Download-Seite listete die Voraussetzungen säuberlich auf.2. Und sie führten uns einmal quer durch das LAMP-Stack: Von der Webserver Software Apache bis hin zur PHP-Version musste ich die Kompatibilität sicherstellen.
Ich hatte Glück: Mein Raspberry erfüllte bereits die Serveranforderungen. Hätte sich Kimai nicht mit den anderen Programmen auf meinem Gerät vertragen, so gibt es dank Virtualisierung auch Wege, die Anwendungen voneinander zu isolieren. Mehr darüber erfährst du hier.

Schritt 3: Installation inklusive Extras

Die eigentliche Installation passierte, indem wir auf meinem Server den Link zum Source Code von Kimai hinterlegten – der ist im Internet zugänglich und damit konnte die Anwendung heruntergeladen werden.
Anschließend kam die Sache mit den Dependencies auf uns zu. Kurz gesagt sind das externe Elemente (im Fachjargon: Libraries), die ein Programm zum Funktionieren braucht. Hierzu benötigten wir wiederum einen Composer – ein Tool, das die Installation von Dependencies ermöglicht.
Auch das Thema Datenbank forderte Aufmerksamkeit. Obwohl wir der gewünschten Version gerecht wurden, mussten wir erst einen neuen Datenbank-User anlegen, bevor wir in der Installationsanleitung vorankamen.
Apropos User: Nach ein paar Schliffen an den Zugriffsberechtigungen ließ sich bereits der erste Kimai-Nutzer bzw. Administrator erstellen.

Schritt 4: Konfiguration des Webservers

Mein Raspberry kommt für alles Mögliche zum Einsatz: Vom Management meiner To Do Liste bis hin zu einer Art eigener Dropbox. Der Server muss also Verschiedenes jonglieren – und daher auch wissen, welche Anwendung für mein aktuelles Anliegen zum Einsatz kommen soll. Dafür muss er konfiguriert werden – in anderen Worten bekommt der Server über die Konfiguration mitgeteilt, an welches Programm er welche Anfrage adressiert.
Da sind wir schon beim Thema Adresse. Wir erstellten für Kimai in diesem Schritt eine eigene Subdomain und hinterlegten sie in der Konfigurationsdatei des Webservers. Somit wusste mein Server: Wenn diese Domain aufgerufen wird, dann soll Kimai zum Einsatz kommen.
Die Theorie war schnell abgeschlossen. Neugierig wechselte ich in den Browser, gab die Domain in die Browserzeile ein und fragte mein „eigenes“ Zeit-Tool an. Et voilà: Die Anmeldemaske von Kimai erstrahlte erstmals in ihrem Licht.

Schritt 5: SSL-Verschlüsselung

Die Webanwendung lief also wirklich – und zwar über ein winziges Gerät auf meiner Kommode! Trotzdem gab es noch einen Schönheitsmakel: Oben in der Browserzeile erschien ein http. Übersetzt heißt das: Die Seite ist nicht sicher!
Also versorgten wir mein Zeit-Tool umgehend mit einer SSL-Verschlüsselung. Diese Technologie kümmert sich darum, dass niemand von außen bei der Datenübertragung mitlesen kann. Zurück übersetzt in IT hieß das, dass wir den Port 80 (http) mit dem Port 443 (https) austauschten. Ein Port dient kurz gesagt zur Zuordnung von Verbindungen zu einer Anwendung und steuert in diesem Fall die Kommunikation zwischen mir als Client und Kimai als Webseite.3.

Zunächst erntete ich dafür eine dicke Fehlermeldung, denn: Für eine richtige SSL-Verschlüsselung braucht es erst ein gültiges SSL-Zertifikat. Certbot ist ein Programm von Let’s Encrypt, mit dem sich ein solches Zertifikat erstellen lässt.4. Mein Server hat bereits so ein Zertifikat. Wir fügten daher die neue Subdomain für Kimai in unsere Einstellungen zum Zertifikat hinzu. Kaum hatte ich danach die Seite neu geladen, schon verschwand die Fehlermeldung und die Anmeldeseite kam zurück – diesmal mit https in der Browserzeile. Und damit war es geschafft: Mein Zeit-Assistent war erfolgreich installiert!

Die ersten Schritte in meinem hauseigenen Tool

Kaum in Kimai angemeldet, bastelte ich mir eine Struktur ganz nach meinem Geschmack. Ich hinterlegte übliche Tätigkeiten, von der Beitragserstellung bis hin zur Website-Pflege, und ordnete sie so an, dass sie sich sinnvoll auswerten ließen. Für genau diesen Eintrag hier erfasste ich zum ersten Mal konsequent die aufgewendete Zeit. Ich schätzte, dass ich so um die sechs Stunden brauchen würde. Wollen wir einmal aufdecken, ob ich damit hingekommen bin? Dann schauen wir doch einfach noch die Resultate an.

FAZIT


Legen wir also offen, was so alles dafür passiert ist, damit ich dir heute diesen Beitrag präsentieren darf:
Ich habe mir Unterstützung gesucht und Kimai installiert. Anschließend verwandelte ich die Mitschrift in einen Beitrag, der dir beim Lesen hoffentlich Spaß macht (Die Auswertung zeigt: Das Texten war mir mit Abstand am wichtigsten. Ob es sich gelohnt hat, kannst nur du entscheiden 🙂 ). Dann ging es an die Webseite – ich brachte den Text auf meinen Blog, formatierte, verlinkte und tüftelte am Diagramm, das du nachfolgend siehst. Zuletzt suchte ich nach einem passenden Beitragsbild und bereitete alles für Social Media auf. Ich stoppte ein letztes Mal die Uhr. Und mir blickten gute vierzehn Stunden entgegen.

Resultate Zeiterfassung

Die Zahl überrascht mich, auch wenn ich mir Zeit gelassen habe – schließlich kann ich in meiner Freizeit keinen Stress gebrauchen. Das steht außer Frage: Ich sehe den Blog absolut als meine Freizeit! Niemand zwingt mich dazu, diesem Herzensprojekt so intensiv nachzugehen. Freiwillig heißt allerdings nicht wertlos. Ich finde es wichtig, sich genau dieser Wertigkeit bewusst zu sein. Daher bin ich froh, dass ich das Experiment der Zeiterfassung gestartet habe. Und mit meiner selbstgehosteten Lösung auch noch einen wichtigen Schritt in Richtung Datenkontrolle gegangen bin. Etwas Hausgemachtes kann man ja bekanntlich selten toppen.



Quellen:

  1. https://www.kimai.org/documentation/installation.html
  2. https://www.kimai.org/de/download.html
  3. https://www.ip-insider.de/was-ist-ein-netzwerk-port-a-691212/
  4. https://letsencrypt.org/de/getting-started/

2 Kommentare

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie Consent mit Real Cookie Banner