Wechselkurs

Den Euro beobachten

25. Mai

Das Auf und Ab des Devisenkurses mit einem selbst gebauten Ticker beobachten

Weiterlesen
teaser image 1
Daten

Dashboards einfach, aber nützlich

2. Sep

Ein so genanntes "Dashboard" soll den Überblick erleichtern. Es ist gar nicht so schwer, eines einzurichten

Weiterlesen
teaser image 2

Die neuesten Beiträge

Datenbankserver für wenig Geld

Mysql-Datenbanken sind in den meisten Web-Hostings inbegriffen und kosten nichts extra. Warum also einen eigenen Datenbankserver einrichten?

Es gibt drei wichtige Gründe, die Datenbank im Hause zu behalten:

  • Die Daten werden nur zur Entwicklung von Produkten oder Services gebraucht, und es besteht kein zwingender Grund, sie ausser Haus zu geben.
  • Die Datenbank dient der Absicherung der Daten, die beim Hoster liegen.
  • Die Datenbank enthält personenbezogene oder sonstwie vertrauliche Daten, die nichts auf einem öffentlich zugänglichen Server verloren haben.

Wenn wir uns einmal dafür entschieden haben, die Datenbank im Haus zu behalten, stellt sich als nächstes die Frage: Wo hosten wir sie?

Hier habe ich mich für den Eigenbau eines kleinen Servers entschieden, der wenig kostet und genau die Leistung erbringt, die er soll.

Die Hardware:

  • Ein Motherboard Asus J1900I-C mit integriertem 4-Kern Celeron-Prozessor (https://www.asus.com/Commercial-Motherboard/J1900IC/specifications/)
  • 8GB DDR3 RAM. Wichtig: Der Speicherriegel muss mit 1,35 Volt arbeiten und nicht mit 1,5 Volt!
  • Eine 240 GB SSD von Kingston
  • Ein altes PC-Gehäuse mit Formfaktor ATX

Zusammenbau: Motherboard im Gehäuse verschrauben und ans Netzteil anschliessen. RAM ins Motherboard stecken, SSD ins Gehäuse schrauben und mit Netzteil und Motherboard verbinden. Gehäuse zu, fertig.

Kosten: 175 EUR

  • Motherboard: 99 EUR
  • RAM: 34 EUR
  • SSD: 42 EUR

Die Software:

  • Betriebssystem Alpine Linux (https://www.alpinelinux.org)
  • Docker (https://docker.com)
  • Ein LAMP Stack mit PHP, Apache, MySQL und phpMyAdmin der in Docker Containern läuft (https://github.com/sprintcube/docker-compose-lamp)

Die Installation geht rasch vonstatten: Zunächst wird ein bootbarer USB-Stick mit dem Alpine-Linux erstellt, dann damit gebootet, das Betriebssystem, SSH, Git und anschliessend Docker und Docker Composer installiert.

Der Server ist für den "headless" Betrieb konzipert, das heisst, er hat kein GUI, sondern nur die Kommandozeile, auf die man normalerweise per SSH zugreift. Das Schöne an Alpine Linux ist, dass es ballastfrei und sehr schlank ist, das unter Umständen Mühsame: man muss selbst so gängige Tools wie Nano erst via Package Manager installieren.

Die Konfiguration des LAMP Stacks kann man 1:1 aus dem Git-Repository übernehmen oder, wenn man gute Gründe dafür hat, an die eigenen Gegebenheiten anpassen. Nach dem Start die Installation mittels Docker Composer kann man sich erst einmal eine Tasse Kaffee brauen, den der Vorgang dauert ein Weilchen.

Hat der Composer seine Arbeit getan, greift man via HTTP auf phpMyAdmin zu und verwaltet dort die Datenbank. Das Root-Passwort der DB wird vor dem Installationsprozess im Konfigurationsfile abgelegt und lässt sich via phpInfo abrufen.

Als nützlichen Zusatz habe ich mir noch einen Reverse Proxy mit Nginx eingerichtet, der wie PHP/Mysql in einem Docker Container läuft und es überflüssig macht, die verschiedenen Ports jeweils explizit einzugeben.

.