Archiv der Kategorie: paedML

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.

cups

Updates von CUPS kommen regelmäßig – und fallen auf der paedML 4  fast immer auf die Schnauze mit der folgenden Fehlermeldung:

Fehler traten auf beim Bearbeiten von:
 cupsys
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ein Paket konnte nicht installiert werden. Versuche zu lösen:
Richte cupsys ein (1.2.7-4etch7) ...
ln: Erzeugen der harten Verknüpfung „/usr/lib/cups/backend/dnssd“ zu „/usr/lib/cups/backend-available/dnssd“: Die Datei existiert bereits
dpkg: Fehler beim Bearbeiten von cupsys (--configure):
 Unterprozess post-installation script gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
 cupsys

Zur Serverrettung in diesem Fall dann:

cd /usr/lib/cups/backend/
mv dnssd dnssd.paedml4.backup5

… oder ein anderer Dateiname – hauptsache die alte dnssd ist aus dem Weg.

Ein erneutes

aptitude dist-upgrade

funktioniert dann:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Lese erweiterte Statusinformationen
Initialisiere Paketstatus... Fertig
Lese Task-Beschreibungen... Fertig
Erzeuge Tag-Datenbank... Fertig
Es werden keine Pakete installiert, aktualisiert oder entfernt.
0 Pakete aktualisiert, 0 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 0B zusätzlich belegt sein.
Richte cupsys ein (1.2.7-4etch7) ...
Starting Common Unix Printing System: cupsd.

IPCop Memo

Es sieht so aus, als würde 2009 noch das Jahr des IPCop werden. Jetzt spinnt der paedML Linux Cop meiner Schule auch noch – und trennt uns dauernd vom Netz.

Hier eine Reihe von Memos zum Thema – mehr für mich, als für andere:

Neuinstallation

Bei Konfigurationsproblemen nach dem Neuaufsetzen des paedML IPCops hilft es wohl, vorher den Inhalt von

/var/backup/linuxmuster/ipcop/

zu löschen und dann nochmal den IPCop nach Handbuch aufzusetzen. Ausführlichere Informationen zur Neuinstallation sind hier zu finden.

Trennungsschmerzen

Ich hoffe mal, dass ich meinen IPCop jetzt wieder im Griff habe. Ziemlich schnell hatte ich für die dauernd um 9, 12 und 15 Uhr erfolgenden Trennungen vom Netz den Squid im Verdacht. Das hat sich nun erhärtet. Auf die Spur gebracht hat mich freshclam, das nicht mehr wollte:

# freshclam
ClamAV update process started at Sat Jan 24 19:29:24 2009
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder:
sven)
connect_error: getsockopt(SO_ERROR): fd=4 error=111: Connection refused
Can’t connect to port 80 of host db.local.clamav.net (IP: 130.59.10.36)
Trying host db.local.clamav.net (193.1.193.64)…

usw usw. Auf der Suche nach einer Ursache bin ich auf einen Fehler in unserer squid.conf gestoßen, der den sauberen Restart des Squid nach dem Neuaufbau des Caches verhindert.

Auf dem IPCop:

# /usr/local/bin/restartsquid
2009/01/24 19:36:03| squid.conf line 14: acl QUERY urlpath_regex cgi-bin ?
2009/01/24 19:36:03| aclParseRegexList: Invalid regular expression ‚?‘:
Invalid preceding regular expression
2009/01/24 19:36:03| Creating Swap Directories
2009/01/24 19:36:14| squid.conf line 14: acl QUERY urlpath_regex cgi-bin ?
2009/01/24 19:36:14| aclParseRegexList: Invalid regular expression ‚?‘:
Invalid preceding regular expression

Sieht offensichtlich nicht gut aus.

# vi /var/ipcop/proxy/squid.conf

Dort stand in Zeile 14:

acl QUERY urlpath_regex cgi-bin ?

Es müsste aber lauten – so zeigte ein Vergleich mit meinem eigenen IPCop:

acl QUERY urlpath_regex cgi-bin \\?

Das hab ich verändert und dann den Squid auf dem IPCop neu gestartet:

# /usr/local/bin/restartsquid
2009/01/24 19:44:02| Creating Swap Directories

Jetzt geht freshclam vom Server aus wieder (das so oder so automatisiert ist):

# freshclam
ClamAV update process started at Sat Jan 24 19:36:33 2009
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder:
sven)
Downloading daily-8896.cdiff [100%]
Downloading daily-8897.cdiff [100%]
Downloading daily-8898.cdiff [100%]
Downloading daily-8899.cdiff [100%]
daily.cld updated (version: 8899, sigs: 61181, f-level: 38, builder: edwin)
Database updated (499153 signatures) from db.local.clamav.net (IP:
130.59.10.36)
Clamd successfully notified about the update.

Jetzt bin ich mal gespannt. Komisch ist es aber schon, dass ein backslash so einfach verschwinden kann.

IPCop Umzug

Nur als Memo für mich, da mich dies demnächst auch selbst erwartet: Der Umzug des IPCop der Rea war relativ einfach zu bewerkstelligen – sofern man sich gleich von Anfang an an die Anleitung im Adminhandbuch hält 😉

Zuerst wird ein Backup eines noch funktionierenden, alten IPCops erstellt, das das Skript unter /var/backup/linuxmuster/ipcop mit Zeit und Datumsstempel ablegt:

/usr/share/linuxmuster-ipcop/backup-settings.sh

Hier wäre demnach auch eine Eingriffsmöglichkeit zu finden, falls beim Restore Änderungen nötig werden – durch Löschen der Backupdatei, die nicht-funktionierende Systemzustände beinhalten: Das Restore Skript greift sich jeweils das aktuellste Backup!

Dann die neue Hardware nach der Installation des IPCop von der paedML CD ins Netz hängen und kurz überprüfen, ob diese vom Server aus zu erreichen ist. Wenn ja, wird der Restoreprozess gestartet:

/usr/share/linuxmuster-ipcop/restore-dedicated.sh

Die Bildschirmausgabe hierzu:

linuxmuster’s dedicated IPCop restoring tool
——————————————–

Please enter IPCop’s root password:
Moving known_hosts away …
Uploading ssh key … Success!
Reading IPCop version … Success!
Upgrading IPCop 1.4.18 to 1.4.19 … Success!
Upgrading IPCop 1.4.19 to 1.4.20 … Success!
Upgrading IPCop 1.4.20 to 1.4.21 … Success!
Creating addon package … Success!
Uploading addon package … Success!
Installing addons (may take a while) … Success!
Restoring settings from backup:
* Uploading archive backup-090102-094722.tar.gz … Success!
* Unpacking archive … Success!
Done. Rebooting IPCop.

Nach einem erfolgreichen Reboot des „neuen“ IPCop fehlt noch ein reconfigure:

# dpkg-reconfigure linuxmuster-ipcop
Backing up ipcop settings to /var/backup/linuxmuster/ipcop …
Checking IPCop’s time server config …
Checking IPCop’s extern access config …
Checking IPCop’s bot config …
Checking if BOT’s admin mac is set …
Setting BOT’s admin mac to server’s internal mac address …

Für den Abschluss muss dann noch überprüft werden, ob die Keys an den richtigen Stellen liegen:

# ssh ipcop -p 222
The authenticity of host ‚ipcop (10.16.1.254)‘ can’t be established.
RSA key fingerprint is dd:f6:f8:ac:22:4c:bd:71:e1:8b:97:b4:b0:ca:e3:67.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‚ipcop‘ (RSA) to the list

Fertig. Sollte auf dem neuen IPCop eine andere Netzwerkkartenkonfiguration vorhanden sein hilft ein

setup

auf der IPCop-Root-Konsole weiter, das den Setupprozess des IPCop anwirft.

linbo

Nachdem ich mit rembo sehr gute Erfahrungen im Schulnetz gesammelt hatte, wollte ich dieses in meinem OpenLML Heimnetz zuerst ebenfalls einsetzen. Die Abhängigkeit von der alljährlichen Versorgung mit den für mich völlig ausreichenden fünf Testkeys für den Betrieb des Imagingservers wird mir jedoch zunehmend zu doof: Immer gegen Jahresende habe ich beim Boot meckernde Rechner.

Jetzt ist damit Schluss und mein Heimnetz weitgehend OpenSource: Ich bin gerade auf linbo umgestiegen. Mal sehen wie sich die Einarbeitung gestaltet – die gröbsten Bugs sollten ja ausgeräumt sein.

Und da ich gerade dabei war, ist nun auch der letzte Windowsrechner aus dem Keller verschwunden. Seit mehr als 9 Monaten hab ich das Ding nicht mehr gebootet – und zuletzt nur, weil ich eine Wörterbuchsoftware testen wollte. Hier ist nun Platz für meinen Laptop und einen externen Monitor.

Das Jahr kann zu Ende gehen.

RAID

Es gibt Tage, da kommt man sich schon so richtig doof vor: Die Partitionierung des Backupservers für die Schule als RAID-Maschine, die ich mir mühsam durch Ausprobieren selbst zusammengestrickt habe, war auch im Installationshandbuch für die paedML 3 zu finden. Nur weil ich auf dem Schulserver kein Software-RAID verwende, kam ich erst gar nicht auf die Idee hier nachzusehen: Bei der Installation im Sommer hab ich das Kapitel schlicht übersprungen … mein Problem war damals, eine Konfigurationssoftware für meine RAID Karte unter Linux zu finden.

Homeserver

Bin gerade von Britta dabei erwischt worden, wie ich einen Homeserver bestellt habe – ebay ist einfach nix, wenn das Konto schon mehr als leer ist 🙂

HeimnetzIn Zukunft sorgt also auch bei uns zu Hause eine paedML 3 Linux auf Debian Sarge Basis für Netz und Datenspeicherung. Sobald dann Linbo auf dem Markt ist, kümmert sich der Server zusätzlich noch um die Sicherung der Images der Kinderrechner unter Win 98SE und dichtet die Oldtimer damit gegenüber Viren ab. Die PC-Wächterkarten können dann wohl aufs Altenteil. Janis und Lewin erhalten die ollen P3 450 Mhz Rechner, die Britta und ich gerade noch im Einsatz haben, und freuen sich sicherlich über eine Verdopplung der Rechenleistung. SDRAM liegt hier noch genug rum, um diese entsprechend aufzumotzen. Unsere P2 266 Mhz Rechner sind damit verschwunden. Schade eigentlich – funktionieren tun die noch.

Klar, dass damit noch nicht alles erledigt ist: Etwas mehr RAM muss schon in den Server (30€), damit dieser zusätzlich noch einen VMWare Server ausführen kann und ich mein altes W2K mit den vielen Lexika irgendwo unterbringe. Außerdem braucht Britta einen PC unter XP mit USB 2 Schnittstellen (150€) – ihr iPod der neuesten Generation lässt sich (noch) nicht unter Linux synchronisieren und erweist sich damit IMHO eigentlich als Fehlkauf. Dazu brauch ich also noch einen weiteren Rechner und ich weiß auch schon, wo ich den herbekomme (-150€)! Dann wäre ein DVD Brenner (35€) für den Server natürlich auch nicht schlecht, damit nicht das SATA RAID allein für die Datensicherung zuständig ist.

Wenn ich das zusammenrechne, komm ich auf 65€ Zusatz- oder Folgekosten für diesen Kauf oder 200€ Investitionssumme (die Arbeitszeit nicht gerechnet) insgesamt. Verglichen mit dem Homeserver von Microsoft ist das mehr als nur billig – da kostet schon allein das Betriebssystem 170€ und die Hardwareanforderungen würden das Budget dann endgültig sprengen.