Archiv der Kategorie: Lehrerfortbildung

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

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

Kreisdiagramm mit vielen Elementen

Um mit Hilfe von Inkscape ein Kreisdiagramm zu entwerfen, das z.B. 5 Elemente enthält, klickt man sich kaputt. Viel pragmatischer ist der folgende, wenn auch unkonventionelle und evtl. belächelte Weg. Egal. So geht es echt flott und ohne viel Mühe.

Wir beginnen mit OpenOffice/LibreOffice Calc und legen in Calc eine Tabelle mit Werten an, die die Größe der späteren Kreiselemente haben sollen. In meinem Fall also lauter gleich große Werte, weil ich später gleich große Kreiselemente benötige. Daraus macht man sich mit dem in Calc eingebauten Diagrammdesigner ein Kreisdiagramm nach Wahl.

Danach wird das Diagramm in Calc markiert und in Draw eingefügt. Hier könnten dann bei Bedarf sicherlich noch einige gröbere Anpassungen vorgenommen werden – aber wozu? Im Exportdialog von Draw ist eine Option für SVG Export zu finden …

… und eben diesen Export bearbeitet man dann in Inkscape weiter, fügt Schatten und weitere Elemente hinzu, etc. pp.

Das Umschalten in den Umriss-Modus (in Inkscape zu finden unter /Ansicht /Anzeigemodus) bringt zu Tage, dass der Export aus Draw Hintergründe mit auswirft, die man am Besten löscht. Sie sind leicht an ihrer eckigen Form zu erkennen.

Nach ein wenig Gefummel in Calc und Inkscape können dann auch komplexere Grafiken auf der Basis von Calcs Ringdiagrammfunktion erstellt werden:

Die Grafik oben habe ich aktuell in der Mache, um zu zeigen, welche Funtionalitäten für Schulen mit Hilfe von Moodle abgebildet werden können (blau) bzw. welche externen Hilfen (grün links) und Möglichkeiten (grün rechts) es für Moodle in der Schule noch so alles gibt.

Copy and Paste mit DreamWeaver 8 unter Wine

Jahre dauerte es, bis ich im DreamWeaver 8 unter Wine endlich die richtigen Einstellungen gefunden habe, die Copy and Paste aus regulären Desktop-Anwendungen erlaubt. Bis dahin konnte ich im DreamWeaver lediglich STRG SHIFT V nutzen und so unformatierten Text ohne Absatzmarken übernehmen.

Im Einfügen-Dialog von DreamWeaver die Option „Text mit Struktur“ (siehe Bild oben) markieren und die Option „Abstand der Word-Absätze optimieren“ ausschalten. Sollte das hier nicht möglich sein, weil das Feld ausgegraut ist, dann auf „Einfügen-Voreinstellungen …“ klicken …

… und die Checkbox bei „Abstand der Word-Absätze optimieren“ hier deaktivieren.

Spätestens jetzt sollte es auch mit STRG V so funktionieren, dass zumindest die Textstruktur z.B. aus dem Firefox oder Evince bei DreamWeaver richtig ankommt.

OpenVPN P12 Konvertierung

Um mit dem LFB Verbindung über FTP oder SSH aufnehmen zu können, benötige ich einen OpenVPN Tunnel. Mein Admin schickt mir hierzu regelmäßig eine P12 Datei (im Folgenden: domain-cert.p12) zu, die ich erst einmal zerlegen muss, damit mein Verbindungsskript reibungslos funktioniert. Da dies nur alle Monate passiert, vergesse ich in der Zwischenzeit leider immer wieder, wie ich vorgehen muss – deshalb mal für mich selbst als Gedächtnisstütze dieses Memo.

Es klappt mit den folgenden drei Schritten:

openssl pkcs12 -in domain-cert.p12 -out domain-ca.pem

openssl pkcs12 -in domain-cert.p12 -out domain-cert.pem -clcerts -nokeys

openssl pkcs12 -in domain-cert.p12 -out domain-key.pem -nocerts

Ohne Vergabe eines Passworts will die Konvertierung bei mir nicht funktionieren, was aber auch OK ist.

Ein Startskript auf dem Desktop

#!/bin/bash
cd /home/dirk/openvpn ; sudo openvpn domain.ovpn

lädt mir dann die OpenVPN Verbindung, die in der Datei domain.ovpn definiert ist:

client
proto udp
remote domain.topleveldomain
ns-cert-type server
dev tun
ca Interne-Domain-CA-cacert.pem
cert domain-cert.pem
key domain-key.pem

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Most clients don’t need to bind to
# a specific local port number.
nobind

# Try to preserve some state across restarts.
persist-key
persist-tun

# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth tls-auth-domain.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don’t enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Abgesehen von den hier genannten Skripten und Prozessen liegen im Ordner ~/openvpn noch die Interne-Domain-CA-cacert.pem und der tls-auth-domain.key zur Domain, die im Skript oben referenziert sind.

VMWare VMDK verkleinern

Wenn ich für VirtualBox arbeite, dann halt auch für VMWare. Das läuft unter Windows Hosts schließlich stabiler und dürfte Dank des freien Players auch an Schulen nutzbar sein. Hier gestaltet sich die Verkleinerung aus dem Ubuntu Lucid Gast heraus einfacher.

Zuerst werden wieder alle nicht benötigten Pakete und der ganze Müll rausgeworfen:

sudo apt-get autoremove ; sudo apt-get clean

Dann werden im Lucid Gast die VMWare Tools installiert:

sudo apt-add-repository ‚deb http://packages.vmware.com/tools/esx/4.1latest/ubuntu lucid main restricted‘

sudo wget http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub -q -O- | sudo apt-key add –

sudo apt-get update

sudo apt-get install vmware-open-vm-tools

Es folgt ein reboot.

Ein

sudo vmware-toolbox

startet die Toolbox und erlaubt das shrinken direkt aus dem Gast heraus.

base64 MIME multi part E-Mail Anhang Dekodierung

Da hat sich doch einer meiner vielen Chefs einen Scanner mit Mailfunktion zugelegt und mir dessen gibberish dann per E-Mail weitergeleitet. Angekommen sind zwei Mails. Beide Dateien im Anhang waren im Format dat beigelegt und kamen über einen Exchange Server. Die erste dat Datei enthielt mehr als „normale“ winmail.dat Dateien – nämlich einen E-Mail Header mit den später von mir als wesentlich erkannten Informationen: multipart/mixed und base64 (siehe Bild). Die zweite Datei – mit einem Editor geöffnet – zeigte nur noch Buchstabensalat.

Ich tippte trotzdem zuerst auf das mir bekannte winmail.dat Problem und versuchte mich mit tnef. Ohne Erfolg. Dann googlete ich nach „linux decode mail attachments“ und landete einen Treffer.

Die beiden Anhänge müssen zuerst lokal gespeichert werden. Die Umwandlung geht mit Hilfe von munpack:

sudo apt-get install mpack

cat part1.dat part2.dat | munpack

Details und noch viel mehr sind in diesem Blogpost zu finden.

kubuntu, lucid, wine und DreamWeaver 8

Bis heute erschien die Fehlermeldung

err:module:attach_process_dlls “odbc32.dll” failed to initialize, aborting

beim Start von DreamWeaver 8 unter Wine nur auf meinen 64 Bit Systemen.

Irgendwie hat mein Laptop aber die Umstellung auf kubuntu nicht recht verdaut und lieferte nun die gleiche Meldung auf einem 32 Bit System. Die Lösung ist jedoch identisch und in diesem Artikel zu finden: DreamWeaver8 auf Lucid64

Serienbrief in OOo

Für einen Serienbrief mit OpenOffice den Assistenten von OOo zu bemühen, macht mehr Stress:

Vorbereitung: In einem OOo Calc Sheet die Tabelle mit den Namen, Vornamen und sonstigen Feldern anlegen und dieses speichern.

In OOo Writer den gewünschten Text verfassen, der nur noch um die entsprechenden Einträge aus dem Calc Sheet ergänzt werden muss. Beachte: Nicht die Funktionen für Serienbriefe in OOo-Writer nutzen – wir gehen hier einfachere Wege.

In OOo Writer die Taste [F4] drücken, um die möglichen Datenquellen angezeigt zu bekommen (alternativ über das Menü /Ansicht /Datenquellen).

Hier auf die Taste [Serienbriefbedingungen] klicken.

Im aufpoppenden Fenster auf den Schalter [Datenquelle zuweisen] klicken.

Durch einen Klick auf [Durchsuchen] öffnet sich der Dateimanager.

Im Dateimanager das Tabellendokument auswählen, das die Namen etc. enthält. [Öffnen] anklicken.

Das Fenster für den Datenbankaustausch wieder [Schließen].

Die Überschriften (nicht die Inhalte!) mit der Maus in das OOo Writer Dokument ziehen. Der entsprechende Feldname wird dann dort eingesetzt.

Ein [Strg] [P] oder über das Menü /Datei /Drucken löst die Rückfrage von OOo aus, ob man einen Serienbrief drucken möchte. [Ja] – das wollen wir.

Im Druckdialog dann die gewünschten Einstellungen vornehmen.

Ich wähle diese meist so, dass die Ausgabe mir einzelne PDFs liefert, wobei das Feld <Name> den Dateinamen ergibt.

Anaglyphenbilder

3D-Fotos kommen gerade voll in Mode – und da Mario an einer Anleitung für die Erstellung von 3D Bildern in Gimp sitzt, musste ich auch mal kurz probieren und dann natürlich auch dazu schreiben:

Zuerst das folgende Skript http://registry.gimp.org/node/6527 herunter laden und im Ordner

~/.gimp-2.6/scripts

abspeichern.

Da ich keinen Stativ-Schlitten habe und auch nicht lang ein Stativ aufbauen wollte, schoss ich meine beiden Bilder aus der Hand und versuchte – so gut es eben ging – hierbei einen horizontalen Abstand von rund 6 cm zwischen den beiden Bildern einzuhalten.

Nachtrag: Pearl hat einen Stereoschlitten für unter 25 € im Angebot. Aber die Dinger gibt es bei Ebay auch schon ab 3,50 € ohne Versandkosten.

Links

Rechts

Dabei hab ich sicherlich ziemlich viel gewackelt und das beeinflusst das Ergebnis natürlich massiv. Aber es geht ja ums Prinzip.

Dann das rechte Bild im Gimp öffnen – das wird der Hintergrund. Das linke Bild in das offene Bildfenster ziehen – das wird dann der Vordergrund.

Ein Klick auf /Stereo /Make Anaglyph startet das Skript. Man könnte dann je nach Brille noch die Farben einstellen, da ich aber keine Brille hier habe war mir auch das Wurscht. Also: Klick auf [OK]. Fertig ist das Bild.

Dieses dann noch unter Zusammenführung der beiden Ebenen exportieren und unter einem neuen Dateinamen abspeichern.