Archiv der Kategorie: Schule

ssh – aber ohne scp

Die Überschrift beschreibt das Problem, das ich heute mit einem Debian Lenny Server meiner Schule hatte ziemlich genau: SSH Verbindungen gingen ohne Probleme, aber SCP ging überhaupt nicht.

Das Problem mit SCP ist, dass es sich leicht verwirren lässt. Beinhaltet die .bashrc (oder andere Initialisierungsskripte) irgend welche „Dinge“, die SCP aus dem Tritt bringen, dann geht nix mehr, der Prozess bleibt stehen und aus den Fehlermeldungen wird man auch nicht schlauer.

Der entscheidende Hinwesie war hier: http://www.openssh.org/faq.html#2.9

sftp and/or scp may fail at connection time if you have shell initialization (.profile, .bashrc, .cshrc, etc) which produces output for non-interactive sessions. This output confuses the sftp/scp client.

Die „Lösung“ war demnach erst einmal schlicht die .bashrc weg zu schieben.

Was genau nun in meiner bashrc dazu führte, dass SCP auf die Nase fiel, weiß ich noch nicht. Aber ab jetzt ist das Versuch und Irrtum.

Zertifiziert

Heute ist mein Zertifikat eingetroffen. Sieht wie zu erwarten ziemlich nordamerikanisch aus. Ein Plastikkärtchen, wozu auch immer, war auch mit dabei. Evtl. bekomm ich damit ja Rabatt beim Kauf von Microsoft Produkten 😉

Ab jetzt geht es also darum, meine Schule zur LPI AAP zu machen und dann meinen Schüler/innen zu ermöglichen, sich ebenfalls in Linux zertifizieren zu lassen. Kontakt besteht, Gelder sind organisiert, zwei aus meiner Computer-AG sind auch willig meine Kaninchen zu sein – es kann demnach endlich los gehen.

paedML2twitter

Michael hat mir eine geschickte Exportfunktion für meinen Nagios zukommen lassen. Zu bearbeiten ist

/etc/nagios2/conf.d/linuxmuster_main.cfg

Zusätzlich einzutragen ist:

# ‚external-support‘ contact definition
# do NOT change this!
define contact{
contact_name external-support
alias Fernwartung
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email geheim@twittermail.com
}

Ob ich das allerdings über längere Zeit so machen werde, weiß ich noch nicht. twittermail.com ist schnarchlangsam. Ich denke im Moment deswegen eher über Jabber oder identi.ca nach. Mal sehen.

etherpad

Google hat den von mir sehr geschätzten und auch viel im Unterricht und in Fortbildungen eingesetzten Service etherpad geschluckt und wollte für eine Übergangszeit (?) bis zur Integration in Google Wave nur noch die schon bestehenden Pads weiter am Leben lassen. Das Anlegen neuer Pads war nicht mehr möglich.

Inzwischen hat sich das geändert – und ausnahmsweise mal in die richtige Richtung: etherpad scheint eine OpenSource Strategie zu verfolgen.

Lichtblick.

MRBS als Klassenarbeitsordner

Das für Moodle ebenfalls erhältliche Zusatzmodul MRBS kann als Klassenarbeitsordner gebraucht werden, in den die Kolleg/innen Ihre Termine eintragen. Hierzu müssen aber ein paar Anpassungen gemacht werden.

Sprachliche Anpassungen

screenshot_001

Als Admin im Moodle anmelden und die Texte von MRBS bearbeiten.

screenshot_002

Dazu die Datei block_mrbs.php auswählen und dort alles was nach Raumbuchung klingt durch Klassenarbeitsordner ersetzen.

Ich habe hier die Raumkategorien (Bereiche) als Stufen angelegt und die Räume als Klassen. Außerdem hab ich „Klasse/Lehrer“ durch „Eintrag für Fach“ ersetzt.

Weitere Modulanpassungen

Weiter macht es Sinn, nicht Stunden eingetragen zu haben, sondern „Slots“ für Klassenarbeiten – sonst fangen die Kollegen an, parallel unterichtete Fächer wie Ethik, kath Rel und ev Rel (oder auch Spanisch, Französisch, NwT) an verschiedenen Tagen einzutragen, in der Annahmen, „Ihre Stunde“ sei schon besetzt. Das führt zu einer schnellen Verknappung an Tagen, die überhaupt für Klassenarbeiten zur Verfügung stehen.

Außerdem sollten die MRBS-Kategorien „Intern“ und „Extern“ durch „Klassenarbeit“ und „Test“ ersetzt werden. Ich hab noch zusätzlich die Kategorie „geblockt“ eingeführt – man weiß ja nie.

Alle diese Einträge finden sich im Moodle Administrationsmenü unter Module /Blöcke / MRBS, was einem Moodle-Admin durchaus bekannt sein dürfte.

Aufrufen des Berichts

screenshot_003

Aufgerufen wird der Klassenarbeitsordner für die Erstellung eines Aushangs dann durch Klick auf [Bericht] in der MRBS Oberfläche.

screenshot_004

Einzutragen ist bei „Suche Klasse“ die Klasse und auszuwählen ist „Test“ bzw. „Klassenarbeit“ als Kategorie. Ein Klick auf den Schalter [Bericht erstellen] wirft diesen aus.

Auf der Seite mit dem Bericht nun nach Unten scrollen und auf Druckansicht klicken, Seite ausdrucken und im Klassenzimmer aushängen. Fertig.

Anmerkungen: Ideal wäre es, den Klassenarbeitsordner den Schülern mit reinen Leserechten online zur Verfügung zu stellen, dann können die sich gleich im Moodle informieren. Das macht aber nicht jede Personalvertretung mit.

Weiter kann für jeden Raum (hier: Klasse) eine Mailadresse eingerichtet werden (Raumadministrator), die alle Einträge und Veränderungen zugeschickt bekommt. Wenn hier als Empfänger ein Listendaemon eintragen wird (Mailman), der die Mails an die Klassenmailingliste weiter verteilt, sind alle glücklich!

Anhübschen und Datensparsamkeit

Leider sieht der Bericht nun nicht hübsch aus, weil er viele Zusatzinfos mit sich bringt, die eine Klasse nicht haben muss (wer hat was wann eingetragen und verändert). Diese Informationen müssen auf Modulebene bearbeitet werden:

Dazu wurden die Zeilen 192-195 in der report.php auskommentiert, nachdem diese zuerst als report.php.bak gesichert wurde:

# Created by and last update timestamp:
 # echo "<tr><td class=\"BL\" colspan=2><small><b>".get_string('createdby','block_mrbs')."</b> " .
 # htmlspecialchars($row[6]) . ", <b>".get_string('lastmodified')."</b> " .
 # time_date_string($row[7]) . "</small></td></tr>\n";

Und jetzt funktioniert’s und sieht ordentlich aus.

TNEF

Fritz schickte mir von seinem Outlook eine Mail mit Anhang, die allerdings nur als TNEF in einer Datei mit dem Namen winmail.dat bei mir ankam. Zuerst war ich ratlos. Dann kam Google und die Lösung:

Ein Projekt bei sourceforge werkelt für den Onlinedienst im Hintergrund und stellt die Funktionalitäten bereit. Ein passendes Paket befindet sich auch in den Repos von Ubuntu:

sudo apt-get install tnef

Die Datei winmail.dat wird dann wie folgt entpackt:

tnef -f winmail.dat

-C erlaubt die Angabe eines Zielverzeichnisses, -t listet die enthaltenen Dateien nur auf, statt diese zu entpacken. Die man page liefert weitere Informationen.

Wer tnef direkt in Evolution haben will, muss mehr tun und erhält hier die zentralen Hinweise:

Noch besser ist es allerdings, man weißt die Outlookgemeinde darauf hin, dass sie ihren Mailer richtig einstellen sollen:

(c) BeeHive

clamd

Ich muss mal wieder von Hand löschen, weil clamav über lange Dateinamen stolpert. Das nervt tierisch … vor allem weil es sich in diesem Fall a) um eine saubere Datei handelt …

WARNING: Ignoring deprecated option –no-archive
ERROR: Can’t move file /home/administrators/administrator/infected/TeamViewer_Setup_de.exe.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001

… und b) noch dazu kommt, dass dieser Dateiname IMHO von clamav beim Verschieben aus dem Home des Users selbst erzeugt wurde.

Moodle, MRBS und force login

Ich will im nächsten Schuljahr den Block MRBS im Moodle meiner Schule als Klassenarbeitsordner zur Verfügung stellen. Dabei sollten die Schüler/innen nur sehen können, wann Sie eine KA schreiben und die Berichtsfunktion nutzen, die Lehrer/innen sollten diese eintragen können und die Eltern sollten möglichst ohne ihre Kinder nur lesenden Zugriff haben – nicht jedoch Zugriff auf die Berichtsfunktion.

Leider fehlt eine solche Funktion im Add-on Paket zu Moodle. Dabei ist diese leicht nachzurüsten:

Ich habe in der report.php nun das Folgende stehen (fett gedruckt sind meine Zugaben):

<?php
# $Id: report.php,v 1.8 2008/08/17 23:07:29 arborrow Exp $
require_once(„../../../config.php“); //for Moodle integration
require_once „grab_globals.inc.php“;
include „config.inc.php“;
include „functions.php“;
include „$dbsys.php“;

require_login();
#if ($CFG->forcelogin) {
# require_login();
# }

[…]

Das scheint reibungslos zu funktionieren. Wenn jemand auf den Schalter „Bericht“ klickt, dann zwingt Moodle die Person zum Login. Da der Bericht die Funktion ist, mit der im MySQL Dummheiten gemacht werden könnten, bin ich damit wohl vorerst auf der sicheren Seite.

Dieser Zwang zum Login könnte auch Teil der index.php werden, wenn MRBS für Fremde komplett unlesbar sein soll.

<?php

# $Id: index.php,v 1.2 2007/12/28 05:53:06 arborrow Exp $

# Index is just a stub to redirect to the appropriate view
# as defined in config.inc.php using the variable $default_view
# If $default_room is defined in config.inc.php then this will
# be used to redirect to a particular room.
require_once(„../../../config.php“);; //for Moodle integration
require_once „grab_globals.inc.php“;
include(„config.inc.php“);
include(„$dbsys.php“);
require_login();

[…]

Noch was: Der Gastzugang muss dann ausgeschaltet sein – sonst können Gäste weiterhin den Bericht aufrufen, da diese dem System gegenüber keine Fremden mehr sind. Soll auch das verhindert werden, dann darf die Berichtsfunktion nur dem Admin allein zugeteilt werden.

In die report.php gehört für diesen Fall der folgende Code:

[…]

#check if user is admin
if( ! getAuthorised(2))
{
showAccessDenied($day, $month, $year, $area);
exit();
}

[…]

Selbstverständlich darf das […] in den Codeschnipseln jeweils NICHT mitkopiert werden – das steht hier nur, damit klar wird, dass die jeweilige Datei noch weitergeht.

Mehr war das nicht. Garantie für die Sicherheit und Funktionsfähigkeit von MRBS und Moodle nach der Anwendung dieser Hacks übernehme ich selbstverständlich keine, die Anwendung erfolgt auf eigenes Risiko. Bei mir läuft der Hack seit Juli 2009 ohne Probleme – bei über 700 Buchungen im Monat.

Portable Apps unter Wine

… laufen ohne Probleme. Hätte ich nicht gedacht.

ff35_portable

Eine sehr wenig elegante Art, FF3.5 unter Ubuntu Hardy 64 Bit zum Laufen zu überreden – aber immerhin möglich 🙂 Wie es richtig geht, steht z.B. hier (und im Auge zu behalten ist vor allem die Entwicklung hier im PPA).

winscp_portable

Auch WinSCP läuft und Notepad ++ und FileZilla und und und …

portable_ooo31

… OpenOffice 3.1 ebenfalls.

Ubuntu Gutsy

… auch 7.10 genannt. Nicht gerade die neueste Variante, aber für meinen apt-cache in der Schule reicht das, weil der Rechner von Außen nicht zu erreichen ist. Erst in den Sommerferien kommt da ein neuer Rechner hin, vorher find ich nicht die Zeit. Bis dahin wollte ich die alte Kiste noch mit Updates versorgt wissen, die ich über lange Zeit schlicht verschlafen hatte. Die letzten Aktualisierungen lassen sich noch von old-releases einspielen:

sudo su –
cd /etc/apt
mv sources.list sources.list.old
cat sources.list.old | sed ’s/de.archive/old-releases/‘ > sources.list
apt-get update
apt-get upgrade

Bei Fehlermeldungen die sources.list mal auf Zeilen durchsehen, die nicht auf den Suchen und Ersetzen Befehl mit sed passen und im Notfall löschen. Der Server mit den alten Releases ist schnarchelangsam – also ein wenig Geduld mitbringen. Dafür kann man sich dort aber noch ein 4.10er Ubuntu herunterladen 😉