Archiv der Kategorie: Lehrerfortbildung

Beiträge über / vom LFB (http://lehrerfortbildung-bw.de)

DOCX

Wir haben am LFB gerade das unschöne Problem, dass wir beim Öffnen von DOCX Dokumenten Bilder sehen, die MS Word nicht anzeigt und nicht druckt.

Packt man die DOCX mit unzip aus und durchsucht dann die Verzeichnisstruktur sieht man das Bild ebenfalls. Es ist eindeutig da. Das Problem ist demnach, dass MS Word Bilder beim Löschen durch den Anwender nicht immer löscht … sondern stellenweise und aus für uns nicht nachvollziehbaren Gründen im Dokument belässt. Pech gehabt.

LibreOffice z.B. bringt das dann an den Tag – oder, wie wir feststellen konnten, die Webansicht von MS Word.

Die potentiellen Katastrophen, die sich aus diesem Verhalten von MS Word ergeben, sind Legion: Von Abmahnungen bei Internetveröffentlichungen angefangen über die Weitergabe von geheim zu haltenden Informationen bis hin zu persönlichen Peinlichkeiten … MS macht’s möglich.

Das ist professionelle Software.

RandR

Mein HP Elitebook 8460p kam leider mit einer AMD Grafikkarte und nicht wie bestellt mit einer von Intel. Die macht Probleme mit einigen Beamern. Trotzdem wollte ich nicht die proprietären AMD Treiber an Bord holen, sondern bei radeon bleiben. Tricks über die xorg.conf (wie hier für die proprietären Nvidia Treiber beschrieben) mit

Option  “ModeValidation” “AllowNonEdidModes”

oder verwandten Lösungen fielen somit erst einmal aus. Ich wollte eine Lösung mit randr und die scheint wie folgt zu gehen:

Einloggen und warten, bis der Desktop bereit ist. Dann den Beamer anstecken und dabei nachsehen, was er überhaupt an Auflösungen zu unterstützen behauptet:

sudo tail -f /var/log/Xorg.0.log

Da tauchen dann eine Reihe von Modelines auf, die nativ unterstützt werden – z.B.:

[   250.087] (II) RADEON(0): EDID vendor "BNQ", prod id 34305
[   250.087] (II) RADEON(0): DDCModeFromDetailedTiming: 1280x768 Warning: We only handle separate sync.
[   250.087] (II) RADEON(0): Printing DDC gathered Modelines:
[   250.087] (II) RADEON(0): Modeline "1280x800"x0.0   83.46  1280 1352 1480 1680  800 803 809 831 -hsync -vsync (49.7 kHz eP)
[   250.088] (II) RADEON(0): Modeline "1280x768"x0.0   68.25  1280 1328 1360 1440  768 771 778 790 -hsync -vsync (47.4 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   36.00  640 696 752 832  480 481 484 509 -hsync -vsync (43.3 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   56.25  800 832 896 1048  600 601 604 631 +hsync +vsync (53.7 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   94.50  1024 1072 1168 1376  768 769 772 808 +hsync +vsync (68.7 kHz e)
[   250.088] (II) RADEON(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)

Eigentlich kann der olle BenQ demnach nur 1280×1024. Sagt er. Es geht aber mehr. Mein Laptop hat 1600×900 – und die will ich auch auf dem Beamer. Somit: Modeline für die auf dem Laptop vorhandene Bildschirmauflösung bestimmen:

gtf 1600 900 59.9

Die Antwort von gtf:

# 1600x900 @ 59.90 Hz (GTF) hsync: 55.83 kHz; pclk: 118.80 MHz
  Modeline "1600x900_59.90"  118.80  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Die Modeling wird randr bekannt gegeben:

xrandr --newmode "1600x900_59.90"  118.80  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync 
xrandr --addmode VGA-0 1600x900_59.90

Jetzt kann auch Kubuntu 14.04 den Beamer richtig ansprechen: Der entsprechende Dialog in den Systemeinstellungen (evtl. muss man das Paket kde-workspace-randr nachinstallieren) enthält die gewünschte Auflösung.

Größe & Ausrichtung – Systemeinstellungen_001

Diese lässt sich auch tatsächlich nutzen:

Größe & Ausrichtung – Systemeinstellungen_001

Der BenQ mault dann zwar kurz, dass er bessere Ergebnisse mit anderen Auflösungen erzielen könne, aber das Fensterchen ist bald verschwunden.

Klar wird hierdurch das Bild auf dem Beamer etwas matschig, weil er es skalieren muss. Aber das ist mir lieber, als selbst vor einem Laptop zu hocken, der nicht seine native Auflösung auf dem Bildschirm hat und deswegen MIR den Matsch zeigt.

Und: Es funktioniert auch mit einem NEC Beamer nicht anders, der nativ besser mit 1600×1200 betrieben würde und eine Auflösung von 1600×900 nicht in seinen EDID Informationen mit sich führt. Meine beiden Beamer tun also – jetzt teste ich mal noch in der LAK …

Redis Server und HSTS für ownCloud

Im Backend vermeldete ownCloud schon längere Zeit, dass es einen funktionierenden PHP Memory Cache vermisse. Bisher war mir das relativ egal, weil ich nicht viele Dateien und auch nicht viele Nutzer/innen hatte. Das hatte sich in den letzten Wochen und Monaten aber gründlich geändert, so dass ich bei drei meiner oC Installationen tätig werden musste. Nach dem Update auf oC 8.2.2 und Dank etwas freier Zeit ging ich das Problem endlich an.

APC und APCu waren zwar bei allen Servern an Bord, aber unter Ubuntu 14.04 und PHP5 „zu alt“. Ich probierte es mit Redis. Hier ist das PHP5 Modul von Ubuntu 14.04 zwar ebenfalls zu alt, aber es gibt in den PECL Repositories einfach zu installierenden Ersatz.

Ein

dpkg -l | grep php5-redis

klärt, ob ein solches PHP Modul installiert ist. Wenn ja, dann muss dieses zuerst runter vom Server. Danach kann der Redis Server an Bord:

apt-get install redis-server

Ein Blick in

/etc/redis/redis.conf

sollte ergeben, dass Redis an 127.0.0.1 lauscht und somit nicht von außen zu erreichen ist. Wer sich nicht sicher ist, kann von außen mit telnet nachsehen. Weiter sollte ein

service redis-server status

zeigen, dass der Redis-Server auch läuft.

Um PECL nutzen zu können benötigen wir noch die folgenden Pakete

apt-get install php-pear php5-dev

Wer, wie ich hier, Horde5 über PEAR bezieht, hat die Pakete schon. Ein

pecl install redis

bringt dann ein frischeres php Modul für Redis an Bord. Am Ende der Installation weißt PECL darauf hin, dass dieses Modul der vorhandenen PHP Umgebung bekannt gegeben werden muss. Da hilft

echo 'extension=redis.so' > /etc/php5/mods-available/redis.ini
php5enmod redis
service apache2 restart

Dann wird der Memory Cache ownCloud in

/pfad/zu/owncloud/config/config.php

bekannt gegeben, indem der folgenden Code ans Ende gehängt wird (vor die letzte schließende Klammer):

  'memcache.local' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => 'true',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
    array (
      'host' => 'localhost',
      'port' => 6379,
      'timeout' => 0,
      'dbindex' => 0,
     ),

Im Backend von ownCloud herrscht nun etwas mehr Ruhe.

Was ownCloud leider nicht überprüft ist, ob es überhaupt über HTTP zu erreichen ist. Es schimpft immer über eine fehlende HSTS Konfiguration, bis eine solche eingerichtet ist.

Das ist mit

a2enmod headers

und dem Eintrag

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"

für die ownCloud Domain dann nach einem Neustart des Apachen auch erledigt, hat aber Nebenwirkungen: HTTP Verbindungen sind hiermit für die gesamte Domain ab dem ersten Aufruf über HTTPS für den Client-Browser erledigt. Muss man wollen.

Geholfen beim Einrichten haben mir die folgenden empfehlenswerten Quellen: 1, 2, 3, 4

Horde5 mit GnuPG für die Schule?

Auf der Suche nach einer einfach zu handhabenden Lösung für den Austausch von verschlüsselten Mails innerhalb des Kollegiums fiel der Blick auf Horde. Dieses bietet nicht nur volle Groupwarefunktionalität, ist auch auf mobilen Endgeräten bedienbar und kann sich in andere Systeme (Kalender, Adressbuch etc. auf dem Smartphone oder einem lokalen Mailclient) integrieren – es kann GnuPG im Webmailer nutzbar machen. Den durchaus vorhandenen DAUs im Kollegium bliebe so die Installation von Thunderbird, Gnu4Win, Enigmail und die lokale Schlüsselerzeugung ohne Anleitung erspart. Das klang erst einmal nicht schlecht.

Was mir nicht so gefiel, war die Idee, dass dann die Private Keys der User auf einem Server rumliegen. Konkret: Horde speichert diese in der MySQL-DB ab. Schutz für den Key ist demnach nur durch den Schutz der MySQL-Installation selbst und durch das Passwort auf dem Key gegeben.

Klingt heikel. Ist auch heikel.

Andererseits muss man im Auge haben, dass im Kollegium Trojaner auf schlecht gewarteten Client-Systemen, Adressbücher bei MS, Apple, Google & Co sowie unverschlüsselte Mails mit Noten und pädagogischen Bemerkungen zu einzelnen (selbstverständlich mit vollem Namen genannten) Schülern insgesamt betrachtet die größere Gefahr für den Datenschutz darstellen, als ein zentraler Server im Intranet, der gut gewartet und gepflegt wird.

Das ist gleichzeitig aber wieder die Krux an der Sache: Die zentrale Bereitstellung eines solchen Verschlüsselung-Dienstes ist im Grunde anti-aufklärerisch. Die Kollegen werden an der Übernahme von Verantwortung gehindert, oder diese wird zumindest beschränkt auf Passwortsicherheit. Die Aufgabe, sich „seines eigenen Verstandes zu bedienen“ wird delegiert auf die Netzwerker.

An denen bleibt hierbei nicht wenig hängen: Wenn ich diesen Weg zu Ende gehe, darf ich ein dickes Päckchen administrativer Arbeit schultern: Benutzerverwaltung, Backups, Updates, Logfile-Analyse, Speicherplatzverwaltung … und vor allem Sicherheitsassessments. Gerade bei einem Mailserver darf man dies nicht unterschätzen, würde ein solcher doch weitaus mehr als schulische Moodles, WordPresse oder DokuWikis etc. zum Kernbereich der Netzinfrastruktur zählen. Ein “schon wieder tut alles gar nicht” ginge voll auf die Kappe der Netzer. Keine schöne Vorstellung, sich dies für Umme und ein paar warme Worte bei der Einführung des Systems an’s Bein zu binden.

Ausprobieren wollte ich es trotzdem – und so kam Horde auf eine meiner Maschinen. Ich orientierte mich bei der Installation weitgehend an dieser Anleitung:

http://www.linuxmuster.net/anwenderwiki:webapps:horde:installhorde5ubuntu

Einige Anmerkungen zu derselben:

1. Eine Anbindung an den LDAP des Schulservers wollte ich nicht haben. Zu schnell gibt ein Kollege für alle Schüler sichtbar sein Passwort am Beamer ein … und vergisst dann, dieses zügig zu ändern. Ich habe Horde deswegen für Benutzer eingerichtet, die im System selbst zu Hause sind, also ein lokales Benutzerkonto haben, das sie über SSH (abgesichert durch Keys) erreichen können. Passwortänderungen sind demnach ausdrücklich nicht über Horde selbst möglich. IMP erledigt damit innerhalb von Horde die Authentifizierung und kein LDAP.

Das bringt den Vorteil mit, dass ich die Passwortsicherheit besser kontrollieren kann – und den Nachteil, dass die wenigsten Kollegen ihre Passwörter selbst ändern können. Die Vorteile überwiegen bei meinem Kollegium hier ganz klar die Nachteile. Vor allem: Wer ändert schon seine Passwörter 🙁 Bei dieser Lösung mach ich das dann – und zwar zwangsweise für die Kollegen gleich mit. Der Rhythmus ist mir noch nicht klar, aber einmal im Jahr wäre cool.

2. Die Anbindung von Gollem, dem Filemanager von Horde, an Samba unterblieb bei meiner Installation auf einen dezidierten Server. Das ist einerseits klar, ist doch der Schulserver-Samba nicht über’s Netz zu erreichen – andererseits aber auch wieder problematisch, weil nun für die Kollegen drei Wege für die Dateiablage offen stehen: a) den Dateimanager im Mailserver-Horde benutzen b) den Dateimanager im Schulserver-Horde für den Zugriff auf’s Home benutzen c) die ownCloud Installation der Schule benutzen.

Vielfalt und Freiheit führt in meinem Kollegium immer zu Problemen. Andererseits: Da kaum jemand überhaupt jemals die genannten Dienste verwendet hat, kann ich mit dem Nachteil leben. Und: Wenn ich hiermit Probleme im Alltag der nicht völlig hoffnungslosen Fälle erlebe, dann klemm ich Gollem im Mailserver-Horde schlicht ab.

3. Die oben verlinkte Installationsanleitung trägt schon arg dick auf und sollte sich auf ungefähr die folgenden Schritte – nach dem Anlegen einer Datenbank – verschlanken lassen. Ich muss das in einer zweiten Installation noch einmal verifizieren – aber für den Moment kann man sich ja, sollte etwas Entscheidendes fehlen, wieder an der Anleitung bei linuxmuster.net orientieren:

apt-get install php5-tidy php5-memcache memcached php5-auth-pam php5-intl php5-sasl

pear channel-discover pear.horde.org

pear install horde/horde_role

pear run-scripts horde/Horde_Role

mkdir /var/www/horde

pear install -a -B horde/webmail

webmail-install

chown root:www-data /var/www/horde/static

chmod 775 /var/www/horde/static

Die Apachekonfiguration ist noch anzupassen und der Apache im Anschluss neu zu starten:

Alias /horde /var/www/horde

<Directory /var/www/horde>

Options Indexes FollowSymLinks MultiViews

AllowOverride All

AcceptPathInfo On

Order allow,deny

allow from all

</Directory>

Nag fiel bei mir gleich auf die Nase und warf beim Anlegen von neuen Tasks Fehlermeldungen zu einer nicht gefundenen rampage.php aus. Die Rewrite Anweisungen in der .htaccess im Horde Stammverzeichnis wollten nicht recht wirken – also legte ich mir den folgenden Eintrag direkt in die Apache Konfiguration

<Location /horde>RewriteEngine on

RewriteBase /horde

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ rampage.php [QSA,L]

</Location>

Da löste sich der Knoten gründlich.

Das Ticketsystem Whups habe ich gleich wieder runter geworfen – es lief eh nicht rund und zog zu viele Betapakete aus PECL Repositories mit sich.

4. Der Mailserver ist eine VM. Das ist ja erst einmal ein Vorteil, weil sich so Backups leichter durchführen lassen und Updates mir nicht alles zerreißen können – aber virtuelle Maschinen bringen keine Entropy auf die Pfanne, um zügig 2048er-GnuPG-Keys zu erzeugen. Das dauerte halbe Ewigkeiten – aber man kann sich von haveged [1] helfen lassen.

5. Es ist nicht nur die Erzeugung der Keys, die mit den Kollegium durchexerziert werden muss, und deren Nutzung im Alltag. Kaum einer hat sich je mit Verschlüsselung beschäftigt, so dass schon grundlegende Konzepte nicht verstanden werden. Alice and Bob werden in der Schule geläufige Namen werden müssen.

Dazu kommt die Einrichtung von Horde selbst, auf dass später alles rund läuft (z.B. Pubkey als Anhang verschicken, keine HTML Mails etc. pp.).

Der Schulungsaufwand für die zentrale Mailserver-Lösung ist alles in allem nicht zu unterschätzen. Ich behaupte mal: Selbst für eine Gruppe eher erfahrener Kollegen, die nicht alle 5 Minuten aus Versehen den Browser zumachen und dann „ich war’s nicht“ heulen, dauert die Ersteinrichtung mindestens einen Nachmittag (3-4 Schulstunden).

Jetzt beginne ich die Arbeit mit zwei geeigneten Kandidaten, werte dann die Erfahrungen aus und erweitere die Gruppe langsam und Schritt für Schritt. Ich selbst kann dann meine Einführungen optimieren und gewinne – wenn dann ein Verfahren fest steht – Multiplikatoren im Lehrerzimmer. Bei den ersten Schritten finde ich so auch heraus, ob Horde überhaupt der richtige Weg für meine Kollegen ist. Wenn ich nämlich für die Einführung in Horde mit allem drum und dran ähnlich viel Zeit verbrate wie für eine Einführung in Thunderbird + Enigmail, dann kann ich mir den administrativen Overkill sparen und habe am Ende eindeutig sicherere Systeme, die jederzeit noch in Richtung S/MIME erweitert werden können.

GnuPG, S/MIME, Thunderbird und Firewalls

Ich selbst bevorzuge für die Verschlüsselung von E-Mails GnuPG. Ich brauch da keine Infrastruktur Dritter und das gefällt mir. Einmal eingerichtet läuft das über Jahre. Einfach so. Ohne Kosten.

Für S/MIME spricht jedoch, dass der Standard von viel mehr MUAs unterstützt wird und dass die Handhabung oft einfacher ist. Kein zu unterschätzendes Argument, wenn man eine ganze Redaktion zu versorgen hat, die Frickeln „doof“ findet und von Windows über Apple bis Linux alles (un-)mögliche als Betriebssystem nutzt.

Ein Prüfstein war für mich diese Woche die Handhabung von GnuPG und S/MIME, wenn man mit seinem Laptop hinter der schulischen Firewall hockt, bei der nur Port 80 und Port 443 offen sind und man deswegen auf Webmail angewiesen ist. Thunderbird kommt hier schlicht nicht ins Netz.

Was dann?

S/MIME

Im Webmailfenster (wir nutzen EGroupware) auf speichern klicken.

Auf die EML Datei doppelt klicken – der lokale Thunderbird macht die Datei auf, entschlüsselt diese und fertig.

Versenden von verschlüsselten Nachrichten ist dann kein so ein großer Spaß mehr.

Man verfasst die Nachricht im Thunderbird und speichert diese im Ordner „Entwürfe“ ab. Dann klickt man diese rechts an und speichert diese über den entsprechenden Eintrag im Kontextmenü auf dem Desktop als EML.

Diese EML kann man dann als Anhang an eine Mail dran hängen, die man über den Webmailer verschickt. Beim Empfänger wird der Anhang entschlüsselt angezeigt – die Mail mit dem Anhang oben, der einst verschlüsselte Anhang unten (ähnlich wie bei einer Weiterleitung).

GnuPG

Die Nachricht – und hier nur den Nachrichteninhalt – per Copy and Paste in einen lokalen Texteditor werfen und als irgendwas.asc speichern.

Dann über das Kontextmenü (oder per Doppelklick – je nach Konfiguration) der Datei z.B. mit KGpg (je nach Desktop) öffnen und die Passphrase eingeben. Die neu erzeugte, entschlüsselte Nachricht im Editor lesen.

Das Schreiben von Nachrichten erfolgt ebenfalls im lokalen Texteditor. Man speichert die Datei lokal ab, verschlüsselt den Inhalt (Kontextmenü der Datei) und kopiert diesen aus der neu angelegten Datei mit der Endung asc wieder in den Webmailer zurück.

Und nun?

Das einfache Lesen von S/MIME-verschlüsselten Nachrichten unter den genannten Bedingungen wird in der Redaktion sicherlich gut ankommen. Ich selbst finde weiterhin den Weg für Lesen und Schreiben bei GnuPG sympathischer. Das ist zwar in beiden Fällen fummelig – aber einheitlich, unterliegt einer Logik, einer Vorgangsweise und nicht derselben zwei.

Eine berechtigte Frage ist natürlich, wie oft so was vorkommt und ob man nicht schlicht warten kann mit dem Lesen und Schreiben verschlüsselter Nachrichten, bis man wieder zu Hause / im Office ist.

Ach ja – getestet habe ich mit Textmails. Wie sich das mit HTML Mails und Anhängen anfühlt … die Tests stehen noch aus.

JBoss Developer Studio statt Dreamweaver?

jboss

Auf der Suche nach einem WYSIWG HTML Editor stolperte ich im Netz immer wieder über den Hinweis, dass die JBoss Tools für Eclipse einen brauchbaren HTML Visual Editor mitbringen würden. Diesen unter Kubuntu 12.04 über den Eclipse Marketplace direkt in ein aus den Ubuntu-Repositories gezogenes Eclipse zu installieren schlug bei mir hier jedoch fehl.

Viel praktischer zeigt sich die direkte Installation des Red Hat JBoss Developer Studio, das Eclipse und die JBoss Tools in integrierter Form anbietet: https://devstudio.jboss.com/earlyaccess/6.0.1.GA.html

Nach etwas Herumprobieren fand ich dann auch eine Möglichkeit, der IDE beizubringen, wo sich mein Webserverroot befindet und damit mein zentraler Bilderordner. Im Visual Editor befindet sich ein Schalterchen mit dem Namen Page Design Options und dort kann man die gewünschten Root Ordner angeben.

default_folders

Jetzt teste ich die IDE erst einmal mit einem einzelnen Ordner des LFB und hoffe, dass das Gefrickel nicht zu heftig wird.

Wenn man sich an Dreamweaver gewöhnt hat und wie ich seit nunmehr fast 10 Jahren damit arbeitet, dann wird jede Alternative an diesem Vorbild gemessen … und da hat es die Konkurrenz schwer.

Kaffee auf der Comburg

comburg_20130515_070115

Es kommt ja nicht so oft vor, dass man mehrere Tage auf der Comburg auf einer Fortbildung oder Tagung sitzt, aber wenn, dann muss man sich die Kaffemaschinentypen genau auswählen.

kmach_20130515_071024

Dieser Maschinentyp ist (mindestens) in der Alten Abtei zu finden und könnte auch im Gebsattelbau oder anderen Gebäudeteilen auftreten.

Das Gerät erzeugt ein Gemisch aus frisch gemahlenen Bohnen und Wasser, das man nicht Kaffee nennen sollte. Selbst wenn man noch Milch dazu wählt, wird es nicht trinkbarer, was daran liegen mag, dass diese Maschine hierunter Milchpulver und noch mehr warmes Wasser versteht.

Ähnliche Typen von Warmwasserspendern sind auch an den Akademiestandorten in Bad-Wildbad (dort im Aufenthaltsraum oben) und in Esslingen (in der Eingangshalle – da dann allerdings ein großer Bruder von diesem Ding) zu finden – Bilder werde ich noch nachreichen.

Ein Heißgetränk aus derartigen Kisten kostet ab 1€ … und die sollte man sich sparen. Lieber den Weg in die Neue / Alte Dekanei antreten und dort eine der folgenden Maschinen nutzen:

kmach_20130515_072117

Die große Kaffeemaschine in der Mensa in der Neuen Dekanei erzeugt trinkbaren Kaffee und sehr ordentlichen Latte Macchiato. Sie verfügt zwar über einen Knopf für „wenig Kaffee – viel Platz für Milch“, aber wenn man diesen drückt, wird die Tasse trotzdem bis zum Rand gefüllt. Will man also zum Frühstück lieber Milch-Kaffee trinken, sollte man gleich mit zwei Tassen antreten und diese beim Einlaufen austauschen.

Ein Latte Macchiato aus dieser Maschine kostet 2€ und ist sein Geld wert. Große Gläser sind entweder auf der Maschine zu finden oder hinter den Türen darunter, lange Löffel sind vorhanden und auch Schokoladenpulver zum Aufstreuen auf das Milchschaumhäubchen.

kmach_20130515_081946

In der Alten Dekanei und damit hinter der Rezeption befindet sich die kleine Schwester der Mensa-Maschine. Außer Latte Macchiato habe ich hier noch nichts getrunken – aber dieser ist ordentlich. Qualität, Ausstattung und Kosten entsprechen also der Maschine im Speißesaal.

Regular Expressions im DreamWeaver

dw_regex

Wenn ich PDFs mit pdftohtml umwandle

pdftohtml input.pdf -s -i -p -noframes

dann ist die Ergebnisseite voller Stil- und Positions-Angaben, die ich nicht brauche.

Im Dreamweaver können die länglichen Absatzdefinitionen mit <P .*?> gesucht werden, sofern man das Häkchen bei „Regulärem Ausdruck verwenden“ setzt.

Davon hatte ich es schon einmal – geriet bei mir aber in Vergessenheit.

etherpad-lite

UPDATE: https://www.bdjl.de/localhost/?p=5153

Das hier ist sicherlich die hunderste Installationsanleitung im Netz zum Thema Installation von Etherpad Lite unter Ubuntu – aber es ist eine, die bei mir funktioniert hat. Ich werf die jetzt mal hierher, damit ich ein Memo habe (und auf den LFB).

Die Installation von Ubuntu Server ist weder Teil dieser Anleitung noch die Absicherung eines solchen Servers für den Betrieb im Internet. Hier sei lediglich geschildert, wie ein EtherPad Lite (EPL) Server für den Betrieb im lokalen Netz aufgesetzt werden kann.

Die folgende Anleitung wurde für Ubuntu Precise Pangolin (12.04 LTS) geschrieben und auf dieser getestet. Andere Ubuntu Version könnten ebenfalls eine Basis für einen EPL Server darstellen – Sie müssen dann aber selbst herausfinden, wie Sie vorgehen müssen.

Basisinstallation

Melden Sie sich als administrativer Benutzer an Ihrem Server im lokalen Schulnetz an. Wenn Sie eine grafische Oberfläche nutzen, dann öffnen Sie eine Shell.

In einem ersten Schritt legen wir einen Benutzer etherpad für EPL an. Dessen Homeverzeichnis wird /opt/etherpad. Der Benutzer erhält eine Kennung unterhalb der ID 1000 und ist hiermit Systembenutzer (damit er sich nicht direkt am System anmelden kann):

sudo adduser --system --home=/opt/etherpad --group etherpad

Als nächstes kommen die wichtigsten Programme für den Betrieb von EPL an Bord:

sudo apt-get install gzip git-core curl python libssl-dev build-essential abiword python-software-properties

Ubuntu 12.04 enthält zwar node.js (den eigentlichen Server für EPL) in seinen Repositories – es gibt aber ein PPA, das neuere Versionen liefert und diese jeweils auf Zusammenarbeit mit EPL abklopft, so dass wir dieses für die Installation nutzen:

sudo add-apt-repository ppa:chris-lea/node.js

sudo apt-get update

sudo apt-get install nodejs npm

Es folgt der Wechsel in den Benutzerkontext unseres Users etherpad:

sudo su - etherpad -s /bin/bash

Dort werden einige Verzeichnisse und Unterverzeichnisse angelegt:

mkdir ~/local

mkdir ~/local/etherpad

cd ~/local/etherpad

In diesem Verzeichnis wird nun EPL installiert, indem man das Programm aus GIT klont:

git clone git://github.com/ether/etherpad-lite.git

Um einen ersten Testlauf zu starten, wird in das Programmverzeichnis gewechselt

cd etherpad-lite

und Etherpad gestartet

bin/run.sh

EPL ist nun ausschließlich auf dem lokalen Rechner unter der URL

http://127.0.0.1:9001

zu erreichen.

Sofern Ihr Rechner eine grafische Oberfläche hat, können Sie dies auch auf diesem überprüfen. Sind Sie nur in der Shell unterwegs, warten Sie ein wenig ab, bis Sie die Startmeldungen von EPL sehen können. Fortgeschrittene Benutzer können mit netstat -tulpen überprüfen, ob ein Server auf Port 9001 lauscht.

Schießen Sie den EPL Prozess dann mit STRG C ab.

Erreichbarkeit aus dem Schulnetz

Die nächsten Anpassungen sorgen dafür, dass EPL aus dem gesamten Schulnetz heraus aufgerufen werden kann. Wir nehmen dazu an, dass Ihr EPL Server über die IP-Adresse 10.16.2.100 zu erreichen ist.

Öffnen Sie mit dem Editor Ihrer Wahl die Datei

/opt/etherpad/local/etherpad/etherpad-lite/settings.json

Die Einstellungen für die Bezeichnung des EPL Servers, die IP Adresse und die Portnummer werden nun eingetragen:

"title": "Etherpad Lite auf internem Testserver",

// favicon default name
// alternatively, set up a fully specified Url to your own favicon
„favicon“: „favicon.ico“,

//IP and port which etherpad should bind at
„ip“: „10.16.2.100“,
„port“ : 9001,

Weiter unten in diesem Skript (ca. Zeile 70) finden Sie die Möglichkeit, Abiword einzubinden. Das schalten wir gleich scharf:

"abiword" : "/usr/bin/abiword",

Noch ein wenig weiter unten in diesem Skript (ca. ab Zeile 80) finden Sie die Möglichkeit zur Administration des EPL Servers über ein Webinterface. Entfernen Sie das Kommentarzeichen /* in Zeile 80 und in Zeile 91 das Kommentarzeichen */, um diese Funktion zu nutzen. Tragen Sie Kennwörter ein, die den Namen verdienen:

"users": {
"admin": {
"password": "geheim",
"is_admin": true
},
"user": {
"password": "geheim",
"is_admin": false
}
},

Starten Sie nun den EPL Server neu

bin/run.sh

und rufen Sie diesen über die IP 10.16.2.100 von einem anderen Rechner aus auf. Sie sollten diesen demnach unter

http://10.16.2.100:9001

erreichen können und das Admininterface unter

http://10.16.2.100:9001/admin

Schießen Sie EPL mit STRG C aus der Shell wieder ab, um weitere Anpassungen vorzunehmen.

EPL Server für Dauerbetrieb einrichten

Öffnen Sie eine zweite Shell und werden Sie in dieser root:

sudo su -

Sie haben nun zwei Shells: In einer sind Sie noch immer der Benutzer etherpad – in der anderen sind Sie root.

In der root Shell installieren Sie nun einen MySQL Server:

apt-get install mysql-server mysql-common apache2 phpmyadmin mysql-client

Während der Installation werden Sie nach einem MySQL root Passwort gefragt und nach einem Passwort für phpMyAdmin. Vergeben Sie Passwörter, die den Namen auch wirklich verdienen.

Bearbeiten Sie nun die settings.json (Pfad siehe oben) als Benutzer etherpad. Kommentieren Sie den Bereich für die Nutzung von MySQL als Datenbank ein – und den für die „dirty“-DB Datenbank aus:

//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
//"dbType" : "dirty",
//the database specific settings
//"dbSettings" : {
// "filename" : "var/dirty.db"
// },

// An Example of MySQL Configuration
"dbType" : "mysql",
"dbSettings" : {
"user" : "eplite",
"host" : "localhost",
"password": "geheim",
"database": "eplite"
},

Rufen Sie dann phpMyAdmin im Browser auf:

http://10.16.2.100/phpmyadmin

Melden Sie sich als root mit Passwort an, und klicken Sie auf den Tab „Rechte“.

Klicken Sie auf „Neuen Benutzer hinzufügen“

Als Benutzername wählen Sie eplite, als Host localhost und als Passwort wieder eines, das den Namen verdient und das mit dem Passwort in der settings.json – siehe oben: Sie haben es gerade eben eingetragen – übereinstimmt.

Setzen Sie einen Haken bei „Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte“.

Klicken Sie im Bereich „Globale Rechte“ auf „Alle auswählen“ und danach auf „Erzeuge Benutzer“.

Wechseln Sie in die Shell und starten Sie einmal als Benutzer etherpad den EPL

bin/run.sh

und stoppen Sie diesen wieder mit STRG C.

Wechseln Sie zurück zum Browser.

Klicken Sie nun in phpMyAdmin auf Datenbanken und dort auf die neu angelegte Datenbank eplite. Klicken Sie auf den Tab SQL. Legen Sie den folgenden Code in das Fensterchen:

ALTER DATABASE `eplite` CHARACTER SET utf8 COLLATE utf8_bin;

USE `eplite`;

ALTER TABLE `store` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

und klicken Sie dann auf den Schalter „OK“. phpMyAdmin sollte zurückmelden, dass alle Befehle erfolgreich umgesetzt wurden.

Starten Sie EPL wieder (als Benutzer etherpad)

bin/run.sh

und rufen Sie dieses im Browser auf

http://10.16.2.100:9001

Ab jetzt schreibt EPL die Daten nach MySQL. Achten Sie auf Fehlermeldungen in Ihrer Shell.

Beenden Sie den EPL Prozess durch STRG C und melden Sie sich durch Eingabe von exit aus dem Shell-Fenster des Benutzers etherpad ab.

Autostart beim EPL Server-Start

In Ihrer root Shell geben Sie nun nacheinander die folgenden Befehle ein, um die Verzeichnisse für die Logfiles zu erstellen und um den Autostart von EPL beim Hochfahren des Rechners einzurichten:

mkdir /var/log/etherpad-lite

chown -R etherpad /var/log/etherpad-lite

Bearbeiten Sie die folgende Datei mit einem Editor Ihrer Wahl. Im Beispiel ist das vi:

vi /etc/init/etherpad-lite.conf

und legen Sie in diese Datei den folgenden Codeschnipsel.

In der root Shell geben Sie nun ein

start etherpad-lite

und der Server sollte starten.

Wenn das geklappt hat, dann fahren Sie das System einmal runter und dann gleich wieder hoch – der EPL Server sollte nun selbst starten und sich über Browser weitgehend verwalten lassen.

Logdateien

Mit der Zeit würden die Logdateien bei einem permanent laufenden EPL Server den Plattenplatz auffressen. Deswegen wird mit den folgenden Einstellungen dafür gesorgt, dass die Logs nach einer Woche zusammen gepackt werden und nur die Logdateien der letzten 4 Wochen auf dem Server liegen bleiben.

In einer root Shell wird mit dem Editor der Wahl die Datei /etc/logrotate.conf bearbeitet und dort der folgende Eintrag eingefügt:

# Etherpad Lite - weekyl compression and rotation

/var/log/etherpad-lite/*.log {

weekly

missingok

rotate 4

compress

notifempty

}

Literatur und Vorlage: https://help.ubuntu.com/community/Etherpad-liteInstallation