Archiv des Autors: zefanja

The Open Organization

Die Open Source Bewegung ist in den letzten Jahrzehnten stark gewachsen und das Internet wäre ohne Open Source nicht denkbar. Oft nimmt man Open Source nur im Zusammenhang mit Software war, dabei geht es Open Source um wesentlich mehr. Es ist die Beschreibung von einer neuen Art der Zusammenarbeit, des Umgangs miteinander und dem offenen Fluss bzw. die Verfügbarkeit von Informationen. So haben sich die Prinzipien, die für Open Source Projekte ganz normal sind, immer weiter auch in andere Teile der Gesellschaft ausgebreitet. Ein Beispiel dafür ist „The Open Organization“.

Was ist „The Open Organization“

In seinem Buch „The Open Organization: Igniting Passion and Performance schreibt Jim Whitehurst (CEO von Redhat), wie die Anwendung von Open Source Prinzipien wie Offenheit, Authentizität, Transparenz die Art und Weise des Zusammenarbeitens aber auch des Managements ändert. Das Buch richtet sich dabei in erster Linie an Leiter in einer Organisation, die Verantwortung für Menschen tragen. Jim Whitehurst definiert eine offene Organisation folgendermaßen:

„an organization that engages participative communities both inside and out—responds to opportunities more quickly, has access to resources and talent outside the organization, and inspires, motivates, and empowers people at all levels to act with accountability.“

Im Prinzip geht es darum Mitarbeitern in einer Organisation den richtigen Kontext zu schaffen, sodass sie ihr volles Potenzial entfalten können. Dazu zählt die offene und transparente Zugang zu Informationen, das inklusive Treffen von Entscheidung (also kein top → down) sowie die Ausrichtung der Leidenschaft der Mitarbeiter an den Zielen und dem Zweck der Organisation. Es geht nicht um Einfluss, der mit einem Titel auf einer Visitenkarte zu tun hat, sondern jede Idee, egal vom wem sie in der Organisation auch gekommen sein mag, kann die beste sein. Offenheit, ehrliches Feedback, Zuhören, Ernstnehmen und zusammen an einer Vision arbeiten – darum geht u.a. es bei „The Open Organisation“. Eigentlich sehr grundlegende Eigenschaften des ehrlichen und offenen Zusammenarbeitens 🙂

Open Decision Framework

Im September bin ich zum ersten mal auf das Open Decision Framework aufmerksam geworden. Es ist Teil der offenen Organisation und beschreibt den Weg, wie man transparente und inklusive Entscheidungen trifft. Den „Quelltext“ für dieses Framework findet man auf Github. Dort kann man sich das Framework als PDFs, odp oder Markdown-Datei herunterladen.

Das Buch kann ich nur empfehlen und es hat so einige Denkanstöße bei mir ausgelöst, die ich gern in meiner Rolle als Leiter umsetzen bzw. ausprobieren möchte.

Open Source in der Schul-IT – Teil 2

Wie bereits in Teil 1 angekündigt, möchte ich heute kurz beschreiben, welche Open Source Software wir sowohl im Serverraum als auch auf den Clients einsetzen.

Serverraum

Letzten Sommer haben wir einen neuen Server gekauft (Dell R430, 32GB), auf dem der Großteil der neuen Infrastruktur läuft. Dabei setzen wir den XenServer als Hypervisor ein. Zur Zeit laufen da 3 VMs drauf, zu denen ich gleich noch was schreibe.

Kern unserer Infrastruktur (DNS, DHCP, File shares, Print Server, …) bildet die freie Linuxmuster.net (kurz: LMN) Musterlösungen für Schulen. Ich hatte diese Lösung bereits in einem früheren Artikel erwähnt. Die LMN ist ein Projekt, welches ursprünglich als Musterlösung vom Land Baden-Württemberg entwickelt wurde und seit ca. 2012 in einem eigenständigen Verein weitergeführt wird. Die LMN bietet viele Funktionen und ist sehr individuell anpassbar. Kernstück der LMN ist ein SAMBA 3 Server und eine OpenLDAP Datenbank, in welcher alle Benutzer (Schüler, Lehrkräfte) gespeichert werden. Ein weiterer wesentlicher Bestandteil ist LINBO (Linux Network Boot), eine Art Bootmanager für die Clients. Mit LINBO lassen sich einfach Images von einer Installation erstellen und dann sehr einfach auf andere Rechner übertragen (kann auch automatisiert werden). Dabei werden sowohl Linux als auch Windows-Clients unterstützt. Wir setzen z.B. Windows 10 und Ubuntu 16.04 in unserem Computerraum ein. Über die Schulkonsole kann man alle wichtigen Funktionen bequem über ein Webinterface verwalten.

Die LMN nimmt einem Administrator sehr viel Arbeit ab, da sie für Schulen optimiert ist. Leider ist die LMN hauptsächlich in Deutschland bekannt. Es ist ein tolles Projekt und hat eine unglaublich aktive und hilfsbereite Community! Wem es interessiert, kann auch mal einen Blick in die Dokumentation werfen. Ich denke, dass ich noch mal in einem extra Blogpost über die LMN berichten werde, da es hier sonst den Rahmen sprengt.

Als Firewall setzen wir eine SG4860-1U mit pfSense ein. Darüber läuft auch unser Captive Portal (für Lehrkräfte, Mitarbeiter und Schüler). Schön ist, dass man bei pfSense z.B. auch Vouchers für das Captive Portal direkt mit dabei hat.

Neben der VM für die LMN, haben wir eine weitere für einen Ubuntu 16.04 Server. Diesen nutzen wir als LXD-Host, da (fast) alle anderen Webanwendungen, die wir verwenden in einem LXD-Container laufen. LXD/LXC ist ebenfalls ein super Projekt und es ist einfach klasse aus vielen verschiedenen Gründen (sehr leicht zu bedienen, flexibel, schnell, Container können lokal erstellt werden und dann auf irgendeinen Host geschoben werden, Snapshots, zfs, …).

Folgende Anwendungen laufen bei uns in Containern:

Weiterhin haben wir noch eine VM in der ein Debian läuft und Koha – eine Bibliothekssystem (derzeit nutzen wir es für die Lehrmittel, die Schulbibliothek nutzt noch ein anderes System).

Clients

Im (neuen) Computerraum läuft bei Windows 10 und Ubuntu 16.04. Beim Start wird LINBO geladen und die Schüler können auswählen, welches System sie starten wollen. Sowohl Windows als auch Ubuntu sind mit folgender Software ausgestattet:

  • LibreOffice
  • Firefox
  • Geogebra
  • GIMP
  • Scribus
  • MuseScore
  • LMMS
  • und noch einiges mehr.

Hier gibt es noch eine schöne Liste mit Open Source Anwendungen in der Schule.

Auf unseren älteren Systemen kommt nur Ubuntu zum Einsatz.

Fazit

Von den gesetzten Zielen wurden einige durch die oben genannten Lösungen bereits erreicht. Durch den Einsatz dieser Open Source Lösungen konnten die Kosten im Bereich IT im Vergleich zu einer Windows basierten Lösungen stark gesenkt werden (auch wenn der Vergleich der Lizenzkosten sicher nicht vollständig und umfassend ist).

Open Source in der Schul-IT – Teil 1

Fund aus der Vergangenheit

Fund aus der Vergangenheit

Seit über einen Jahr beschäftige ich mit mit dem Thema „Open Source in der Schul-IT“. Einige Gedanken habe ich bereits hier oder hier festgehalten. Alles begann damit, dass unser Vertrag, den wir mit einem externen Dienstleister hatten, ausgelaufen ist und wir nun vor der Frage standen, ob wir die vorhandene Infrastruktur weiterlaufen lassen oder (teilweise) „von Null“ beginnen. In diesem ersten Teil möchte ich kurz die Ausgangslage beschreiben und welche Ziele wir uns für eine verbesserte IT-Infrastruktur gesetzt haben.

Ausgangssituation

Bis letztes Schuljahr war unsere IT recht einfach gestrickt. Es gab einen alten Windows 2003 Server, der als Benutzerverzeichnis für das Captive Portal diente (Untangle – UTM). Die Lizenz für diese Firewall kostete uns bei unserem Dienstleister ca. 80€ im Monat und wir wollten deshalb die Lizenz nach Ablauf des Service-Vertrags nicht verlängern (wir sind eine recht kleine Schule mit ca. 150 Schülern).

Der Rest der Infrastruktur ist schnell beschrieben: Ein paar Linksys WRT54GL spannten ein WLAN-Netz auf. In einem Neubau hatten wir zusätzlich einen Cisco Wireless-Controller mit 4 LightWeight-Accesspoints. Bis zum letzten Sommer gab es noch einen Computerraum mit 12 Rechnern (AMD X2, 2GB, 500GB, Windows XP im Kioskmodus), welche schon einige Jahre auf dem Buckel hatten. Im Serverraum gab es noch ein paar Cisco-Switche, den genannten alten Dell Server, auf dem der Windows 2003 Server lief, ein Dell Rechner für die UTM und zwei UPS. Insgesamt eigentlich eine gute Basis, die allerdings etwas in die Jahre gekommen war.

Ein großer Nachteil war weiterhin, dass alle Arbeitsplätze (Schüler, Lehrkräfte, Mitarbeiter) einzeln administriert wurden. Wenn eine Lehrkraft z.B. eine neue Software wünschte, musste man von Rechner zu Rechner gehen und die Software einzeln installieren. Backups wurden in mehr oder wenigen Abständen manuell erstellt. Weiterhin gab es keine getrennten Netze, d.h. LAN und WLAN nutzten den gleichen IP-Bereich. In Deutschland sicher undenkbar, hier bei uns durchaus Realität 🙂

Auf allen Client lief Windows XP oder Windows 7 als Betriebssystem. Zusätzlich kam/kommt MS Office in der Verwaltung zum Einsatz. Im Computerraum wurden aber bereits einige Open Source Anwendungen eingesetzt: GIMP, LibreOffice, Scribus, Firefox. Weiterhin setzen wir uns unserer Schule stark GSuite for Education ein.

Ziele für eine neue Schul-IT

Folgende allgemeine Ziele haben wir uns für eine verbesserte IT-Infrastruktur gesetzt:

  • Schaffung einer zuverlässigen und sicheren IT-Infrastruktur
  • Segmentierung des Netzwerks in verschiedene Bereiche (z.B. öffentlich, päd. Netzwerk, Verwaltungsnetzwerk)
  • Ausbau und Erweiterung des bisherigen WLAN-Netzes
  • möglichst weitgehende Automatisierung aller Komponenten / Clients
  • Zentrale Benutzerverwaltung und Authentifizierung / Autorisierung
  • automatisierte Backups
  • Reduzierung der Lizenzkosten durch Einsatz von Open Source-Software
  • Ausbau Computerraum
  • Erstellen eines Disaster Recovery Plans
  • “Selbstheilende Arbeitsstationen” → schnelle Einrichtung und Reparatur von Arbeitsstationen

Im nächsten Teil möchte ich beschreiben, wie wir in den letzten Monaten diese Ziele angegangen sind (bisher haben wir noch nicht alle Ziele umgesetzt) und welche Open Source Software dabei im Serverraum, aber auch auf den Clients zum Einsatz kommt.

The Open Schoolhouse

Vor wenigen Tagen ist das Buch von Charlie Reisinger „The Open Schoolhouse“ erschienen. Man es es im Kindle oder Nook-Store kaufen bzw. als PDF frei herunterladen. Das Buch liest sich sehr gut und beschreibt die Reise eines Schulbezirks in den USA hin zu Open Source Software in der Schule. Dabei geht es nicht nur um Software im Server-Raum oder im Klassenzimmer, sondern viel mehr um Anwendung der Open-Source-Prinzipien im Unterrichtsalltag.

Dabei geht es z.B. um die Fragen, ob sich Prozesse, wie sie für Open Source Entwickler ganz normal sind, auch im Klassenraum anwenden lassen oder ob es als Schule möglich ist, erfolgreich Open Source einzusetzen. Im zweiten Teil des Buches geht es um die Planung und Einführung eines 1:1 – Programms, d.h. 1 Laptop für jeden Schüler.

Ich kann das Buch nur empfehlen. RedHat Films hatte bereits vor einigen Monaten eine Kurzdoku über genau diese Schule gedreht: The Power of Open in Education

In dem Zusammenhang möchte ich noch kurz auf das Open Decision Framework hinweisen, welches zeigt, wie man Open Source Prinzipien auf Entscheidungsprozesse anwenden kann.

Virtualisierung – Virtuelle Maschine oder Container?

Beim Planen und Nachdenken über die unsere zukünftige Schul-IT begegnete mir unweigerlich auch das Thema Virtualisierung. In den letzten Jahren ist dieses Thema teilweise sehr gehypt worden, wenn man z.B. nur an die Containerlösung Docker denkt. Insgesamt kann man wohl sagen, dass heute wesentlich mehr und häufiger virtualisiert wird, als das noch vor 5 Jahren der Fall war, wo man eher noch auf „bare-metal“ gesetzt hat.

In unserem konkreten Fall wollen wir auch virtualisieren, um die einzelnen Anwendungen auf dem Server besser zu isolieren und zu trennen. Im Opensource-Bereich gibt es einige Lösungen, wie man seine Anwendungen auf dem Server virtualisieren kann. Grundlegend unterscheidet man hier zwischen virtuellen Maschinen (der Hypervisor virtualisiert das ganze OS inkl. Kernel) und Containern (Container nutzen den Kernel des Hosts/Hypervisors). Jede Lösung hat seine Anwendungsszenarien, so kann man z.B. nie ein Windows in einem Container auf einem Linux-Host laufen lassen, da sie unterschiedliche Kernel verwenden. Allerdings kann man CentOS in einem Container auf Ubuntu starten (gleicher Kernel).

Ich habe mir in den letzten Monaten überblicksweise folgende Virtualisierungs-Lösungen angeschaut:

  • KVM (entwickelt von RedHat)
  • Virtualbox (hauptsächlich um auf dem Desktop verschiedenen Softwarelösungen auszuprobieren)
  • LXD (Canonical) → Container-VMs

Alternativen sind noch Xen oder VMWare, welche auch recht weit verbreitet sind, wobei bei VMWare nicht als Opensource-Lösung gilt und einiges an Lizenzkosten fällig wird.

Virtualbox

Virtualbox nutze ich gern auf meinem Rechner, um Software zu testen und auszuprobieren. Es ist recht einfach ein komplettes Netzwerk nachzubilden. So habe ich oft eine kleine Router-VM (vorzugsweise pfSense), welche ein weiteres (isoliertes) Netz bereitstellt. Dann habe ich meist ein oder zwei Server-VMs und noch ein paar Clients, um z.B. PXE-Boot und/oder andere Dienste zu nutzen. Das funktioniert recht gut, solange der Rechner mit genügend Cores und RAM ausgestattet ist (ist bei mir nur teilweise der Fall…)

KVM

KVM hat mir bisher am meisten zugesagt, wenn es um die Virtualisierung „richtiger“ VMs geht. Ich nutze hauptsächlich den virt-manager, um meine VMs zu verwalten, aber es gibt noch unzählige andere Frontends für KVM. Proxmox ist noch sehr bekannt oder virsh für die Konsole. KVM ist sicher nicht die einfachste VM-Lösung, aber dafür sehr flexibel einsetzbar. Snapshots der einzelnen VMs sind ohne Probleme mit dem virt-manager oder einem anderen Management-Werkzeug möglich.

LXD

LXD 2.0 ist erst vor kurzem Erschienen und wird in Ubuntu 16.04 am besten anwendbar sein. Es gibt derzeit eine Blogreihe von einem der Hauptentwickler, die ich jedem ans Herz lege, der sich damit auseinander setzen möchte. LXD finde ich äußerst spannend – aus verschiedenen Gründen:

  • Container VMs → man kann sehr einfach und schnell (!) ein Linux starten und seine Anwendung drin laufen lassen
  • durch den Einsatz von ZFS als Speicherbackend kann man super Snapshots im laufenden Betrieb usw. machen
  • man kann wesentlich mehr Container als echte VMs starten (bessere Ausnutzung des Servers)
  • Konfiguration und Bedienung von lxd finde ich sehr intuitiv
  • sehr geringer Overhead

Allerdings gibt es auch Sachen, die nicht oder nicht ohne weiteres möglich sind, da es halt Container und keine vollwertigen VMs sind. So kann man keine ISO „booten“ (es gibt aber für alle wichtigen OS Images). Ich wollte z.B. freeIPA / FOG in einem CentOS Container auf Ubuntu 16.04 testen und bin nicht ganz zum Ziel gekommen, da die Installation an manchen Stellen nicht sauber durchlief, da z.B. Ubuntu und CentOS verschiedene Technologien einsetzen (SELinux vs. Appamor). Das schaue ich mir aber noch mal genauer an. Insgesamt könnte ich mir LXD Container sehr gut für reine Webanwendungen vorstellen, sozusagen als Webserver-VMs. Das Anlegen, Starten, Backup und Restore sind einfach super easy mit LXD! Kann ich nur empfehlen sich das mal anzuschauen.

Derzeit tendiere ich zu KVM für vollwertige VMs für alle Infrastruktur-Dienste (AD, NFS, DHCP, DNS) und zu LXD für zusätzliche Webanwendungen, welche wir hier in der Schule zu einsetzen bzw. einsetzen werden. Dazu folgt noch ein extra Blogeintrag.

Ubuntu und Probleme mit ttf-mscorefont-installer

Vorgestern habe ich meinen Laptop mit Ubuntu 16.04 neu aufgesetzt und eines der Pakete, dich nach so einer Installation installiere, ist ubuntu-restricted-extras. Teil dieses Meta-Pakets ist der Installer für Microsoft-Schriftarten wie Arial, Time New Roman, Verdana usw. Leider schlug der Download der Schriftarten fehl (Hash Sum mismatch / Hash-Summe stimmt nicht überein) und somit auch die Installation.

Folgendes hat das Problem gelöst:

Schriftarten Meta-Paket installieren:

sudo apt-get install ttf-mscorefonts-installer

Schriftarten herunterladen und installieren:

TMP=$(mktemp -d)
cd "$TMP"
awk '/Url/ {system("wget "$2)}' /usr/share/package-data-downloads/ttf-mscorefonts-installer
sudo /usr/lib/msttcorefonts/update-ms-fonts "$TMP"/*

Benachrichtung über ausstehende Installation abschalten:

sudo touch /var/lib/update-notifier/package-data-downloads/ttf-mscorefonts-installer

Aufräumen 🙂

cd ..
rm -r "$TMP

Quelle: http://askubuntu.com/questions/543673/mscorefonts-problems

Von FxOS bis freeIPA

In den letzten Wochen und Monaten habe ich mich mit verschiedensten Themen beschäftigt. Heute möchte ich das einmal kurz zusammenfassen und davon berichten.

Firefox OS

Vor einer ganzen Weile hat Mozilla mehr oder weniger das aus von FxOS für Smartphones verkündet. Ich hatte es bis dato fast 2 Jahre ausschließlich auf verschiedenen Geräten genutzt (Keon, Flame und zuletzt auf einem Nexus 5). Die Idee hinter diesem Projekt hat mich schon immer sehr angesprochen, aber in der Umsetzung hat man dann doch gemerkt, dass man in vielen Bereichen sehr weit Android oder iOS hinterherhinkt. Man konnte es nicht wirklich miteinander vergleichen. Seit dem Aus von FxOS nutze ich jetzt Cyanogenmod auf meinem Nexus ohne den Google Apps. Die Bedingung ist super und mir gefällt es auch, wenn ich Android wesentlich weniger Vertrauen entgegenbringe als FxOS. Vielleicht wird Ubuntu Phone noch mal eine ernste Alternative…

freeIPA, FOG, LML, …

In der Schule, an der ich arbeite, sind wir gerade dabei die IT neu zu strukturieren und umzubauen. Bisher setzen wir v.a. Windowssoftware ein, aber dafür gibt es eigentlich keinen triftigen Grund 😉 Also haben ich mich mit vielen Themen rund um Netzwerke, Server, Switche, Benutzerverwaltung, Konfigurationsmanagement usw. auseinander gesetzt. Das war teilweise echt spannend und das ein oder andere Setup wurde auf meinem Rechner virtuell durchgespielt und getestet. Wenn man heutzutage als Schule eine gute Softwarelösung sucht, gibt es einige Projekte, die sich diesem speziellem Umfeld widmen.

Eine sehr interessante Lösung ist die Linuxmusterlösung. Sie versucht viele Probleme zu lösen, die man typischerweise in einer Schule antrifft. Auf dem letzten Linuxtag 2016 in Chemnitz gab es hierzu einen Vortrag. Insgesamt ein tolles Produkt, welches dazu noch eine sehr hilfsbereite und aktive Mailingliste hat. Wir werden uns diese Lösung auf jeden Fall noch weiter anschauen, denn sie bietet eigentlich fast alles, was man so als Schule braucht.

Eine weitere Alternative ist, dass man sich aus verschiedenen Komponenten selbst eine Struktur aufbaut. Wir benutzen z.B. Google Apps for Education an unserer Schule, sodass wir viele Features der LML gar nicht brauchen (Räume buchen, Dateien austeilen und einsammeln, …). FreeIPA ist eine Lösung zur Verwaltung von Benutzern und deren Rechten. Es ist ähnlich zu einem Active Directory von Microsoft, halt nur für die Linuxwelt. Es macht auf mich einen sehr guten Eindruck, wird dazu noch aktiv von bezahlten Entwicklern weiterentwickelt (Redhat) und hat einige sehr interessante Features. Die Einrichtung eines freeIPA-Servers und der Clients ist sehr einfach, ebenso die Verwaltung der Benutzer. Einmalpasswörter sowie Zwei-Faktor-Authentifizierung sind z.B. mit dabei. Um die Clients einfach zu verwalten wäre das FOG Projekt eine gute Lösung. Zur Zeit passiert da sehr viel in der Entwicklung (u.a. ein Linux- und MacOS-Client). FOG zusammen mit freeIPA könnten eine gute Basis für unsere Anforderungen bieten, auch wenn sie vielleicht etwas mehr Verständnis in der Einrichtung brauchen, dafür bieten sie auf der anderen Seite IMHO mehr Freiheiten.

Bis zum Sommer soll sich da entscheiden in welche Richtung wir weitergehen (es ist auch nicht ausgeschlossen, dass der Microsoft-Weg eingeschlagen wird…).

Hat jemand von euch mit den oben genannten Projekten schon Erfahrung sammeln können?

BibleZ nun auch für Android verfügbar

Seit Firefox Mobile 29 unterstützt Mozilla die Installation von gepackten privilegierten Apps. Das sind Apps, die bestimmte APIs nutzen, z.B. Zugriff auf Netzwerkverbindungen (um Cross-Origin-Request Probleme zu umgehen).

BibleZ ist nun ab heute auch im Firefox Marketplace für Android verfügbar. Wer es dazu auch noch am Rechner installieren möchte, findet die Desktop-Version hier.

Hinweis: BibleZ befindet sich weiterhin in einem Beta-Status. Viele wichtige Funktionen fehlen noch… Wer einen Bug findet, kann ihn gern hier eintragen.