Mein neuer Server

…ist fertig konfiguriert. Yippieh! 😀

Postfix läuft super: Kein Spam mehr. Da kommt nix durch. Der ORDB-Test hat’s mir bestätigt The host you submitted at ORDB.org (85.119.152.89), has been thoroughly checked, and does not seem to permit relaying. und auch die Logfiles geben mir Recht. Das habe ich gut gemacht 😉 (na gut, mit Hilfe dieses Buches ist das auch kein Problem)

Der Apache2 rennt auch wie blöd mit PHP5 und MySQL 4.1. Ein herrliches Gefühl diese ungewohnte Schnelligkeit beim Arbeiten mit Typo3 😉 Und was richtig rockt ist PHlymail. So ein geniales Programm…

Werde auf jeden Fall noch einige KB-Einträge nachholen, die mit der ganzen Administration zu tun haben. War doch teilweise ein ziemliches Gefrickel, wenn man sich noch nicht sooo gut mit der Linux-Benutzerverwaltung und Ordnerstruktur etc. auskennt. Aber ich muss sagen: nichts lehrt besser als das simple Ausprobieren. Und das habe ich nun recht lange getan 🙂 Mit der Zeit fange ich an, Linux immer mehr zu mögen. Auf jeden Fall bedeutend schneller, als in der sogenannten “Linux-AG” in der FH. Mein neues Lieblingsprogramm heißt “Debian“. SuSE ist auch viel zu einfach 😉

Nun denn. Die Arbeit ist noch nicht getan. Es gilt noch die Websites neu zu gestalten (hauptsächlich die FH-Seite) und vor allem in Typo3 umzusetzen. Habe mich schonmal nach ner guten Galerie-Extension umgeschaut, aber nur Sachen gefunden, die meinen Ansprüchen nicht so ganz gerecht werden. Daher werde ich wohl selbst ans Werk gehen und eine nette kleine Gallery programmieren… zusammen mit dem “Jahrgangs-Verwaltungs-Plugin” habe ich also noch einiges zu tun. Außerdem muss auch mal bald die nächste FH-Party geplant werden und, ach ja, meine mündliche Prüfung ist ja auch schon übernächste Woche 🙂

Windows XP Installation mit Linux Partition

Habe soeben festgestellt, dass sich Windows XP nicht installieren lässt, wenn eine Linux-Partition auf der Zielfestplatte vorhanden ist. Genauer gesagt glaube ich, dass es am Bootmanager (GRUB ) liegt, aber egal.

Die Installation verharrt einfach nach dem “Setup untersucht ihren Computer…” auf einem schwarzen Bildschirm und nichts rührt sich.

Die Lösung war, die Festplatte im BIOS auszuschalten. Seltsamerweise startet das Window-Setupprogramm dann nämlich und erkennt die Festplatte trotzdem inkl. aller Partitionen. Dann habe ich die Linux-Partitionen entfernt (ich weiß: großer Fehler ;)) und Windows installiert. Nach dem ersten Neustart muss die Festplatte im BIOS dann natürlich wieder aktiviert werden, sonst gibt’s einen “BOOT DISK FAILURE”.

Man könnte denke ich auch vor dem Löschen der alten Windows-Partition mit der Windows-Wiederherstellungskonsole den Befehl fixmbr ausführen, damit die Festplatte standardmäßig wieder Windows bootet und nicht mehr GRUB.

bind-Fehlermeldungen im syslog

Im Syslog (/var/log/syslog) hatte ich alle 10-20 Minuten diese nervigen Einträge:
Jan 5 00:22:12 v2429 inetd[6464]: auth/tcp: bind: Address already in use Jan 5 00:22:12 v2429 inetd[6464]: pop3/tcp: bind: Address already in use Jan 5 00:22:12 v2429 inetd[6464]: ftp/tcp: bind: Address already in use

Die kamen daher, dass der inetd-Daemon versucht hat, die Programme zu den genannten Diensten (auth, pop3, ftp) zu starten, sobald von draußen Anfragen auf die jeweiligen Ports kamen. Diese Programme (z.B. proftpd) wurde jedoch bereits beim Systemstart über die Startscripts unter /etc/rc.*/ gestartet, was zu obigen Fehlermeldungen führte, da die Ports, die bind zuweisen wollte ja bereits belegt waren.

Die Lösung war nun, in der /etc/inetd.conf die folgenden Zeilen auszukommentieren:
pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.qpopper -f /etc/qpopper.conf ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd ident stream tcp wait identd /usr/sbin/identd identd
Das bewirkt, dass inetd die Programme nicht mehr automatisch startet und die Fehlermeldungen verschwinden.

Neuer Server

So. Zurück vom Serverausfall 🙂

Nein, ausgefallen ist er natürlich nicht. Aber ich habe ihn jetzt komplett neu aufgesetzt und manuell konfiguriert. Das heißt: Auf Wiedersehen Confixx! Yippieh!

Habe jetzt ne schöne saubere Debian 3.1 Installation mit Apache2 und PHP5 und allem, was das Herz begehrt. Das war vorher aber auch echt nicht mehr schön mit dem Confixx-Müll. Da wusste man ja überhaupt nicht, wo man jetzt Hand anlegen musste, um ne simple E-Mail-Adresse einzutragen. Jetzt habe ich ne schöne Postfix-Installation mit TSL und SASL-Auth, was vorher nicht hingehauen hat. D.h. ich kann nun auch tatsächlich E-Mails über meinen SMTP-Server versenden. Vorher musste ich ja einen externen benutzen… grrr…

Aber was rede ich hier lang rum: Es gibt noch genug zu tun. Die anderen Websites müssen ja auch noch ans Netz zurück!

Installation PHP5 unter Debian

Bin schon eine Weile dabei PHP5 auf meinem vServer (Debian 3.0) zu installieren und es sind einige Problemchen aufgetreten…

  1. Zunächst musste ich den Sourcecode erst einmal runterladen und entpacken. Das ging mit folgenden Kommandos recht schnell:cd /usr/local/scr/ wget <em>URL</em> gunzip <em>GZ-Datei</em> tar -xvf <em>TAR-Datei</em>
  2. Aber wie kompiliere ich PHP5 überhaupt? Die Antwort gibt’s in der PHP Doku (wo auch sonst?) hier. Standard-Ablauf: ./configure <em>OPTIONS</em> make make install
    Die Options habe ich von meiner alten PHP4-Installation übernommen. Wenn das direkt geklappt hätte, wäre dieser Eintrag nicht nötig 😉 Das configure-Kommando gab zunächst einige Fehlermeldungen aus.
  3. Das libxml2-Paket musste geupdatet werden. Das geht über diese Befehle, hauptsächlich aber apt-get install <em>PAKET</em>Die Versionen der installierten Pakete können mit dpkg -l angezeigt werden. Nachdem libxml2 nun die korrekte Version hatte, musste ich den Server neustarten, weil der POP3-Server nicht mehr wollte…
  4. Nun kam die Meldung, das irgendein DBA-Paket Probleme macht, also habe ich kurzerhand alle DB-Pakete bis auf MySQL aus dem configure-Aufruf rausgeschmissen
  5. Als nächstes hatte ich folgende Fehlermeldung:configure: error: Problem with libt1.(a|so). Please check config.log for more information.Flugs in die config.log geschaut und festgestellt, dass es wohl am FreeType-Paket liegt. Also musste das als nächstes geupdatet werden. dazu habe ich mir das Paket t1lib_5.1.0.orig.tar.gz vom Debian-FTP-Server geladen und mittels Standardverfahren (Link) installiert. Dabei gab’s allerdings wieder nen Fehler: make[1]: *** [xglyph.lo] Error 1 make[1]: Leaving directory `/usr/local/src/.../xglyph' make: *** [XXXX] Error 1Dieser kann aber ignoriert werden. Das PHP5 configure-Kommando läuft nun durch.
  6. Dafür kommt jetzt diese Meldung:configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore!Deshalb mussten die MySQL-Sources nachinstalliert werden mit apt-get install libmysqlclient14-dev

Nach diesem ganzen Aufwand lief das configure-Kommando tatsächlich durch 🙂 make und make install liefen auch, aber das Einbinden des Moduls in Apache verursachte dann noch die Fehler auf der folgenden Seite.

Die Nacht des Raben

…habe ich jetzt endlich durch! Und es war überraschend einfach. Habe nur schnell das Addon beendet, den Rest, also den normalen Teil von Gothic II lasse ich jetzt weg. Den habe ich ja schon vor einiger Zeit geschafft. “Raven” war recht einfach zu besiegen: Eisblock und draufrumhauen. Und die Rätsel im Tempel Adanos fand ich extrem blöd. Keine Hinweise an den Wänden á la Gothic I, sondern reines Rumprobieren… Am Ende habe ich dann als wahrer Diener Innos’ natürlich Beliars Klaue zerstören lassen 😀

Naja, zumindest habe ich jetzt endlich wieder Zeit für mein wirkliches Leben 😉 Aber Gothic III ist nicht mehr weit… und es sieht VERDAMMT geil aus! Da muss ich mir doch vielleicht extra ne neue Grafikkarte besorgen 😉

Typo3-Extension ‘Playlist’

Nachdem ich zufällig diesen Forum-Eintrag entdeckt habe, der auf meinen Eintrag zur Entwicklung der Playlist-Extension verweist, versuche ich jetzt einfach mal etwas genauer zu beschreiben, wie ich vorgegangen bin…

Zunächst habe ich mir wirklich alle Videos zum Thema Frontend-Plugin-Development von Kasper angeschaut, der dort ja quasi “live” eine Extension entwickelt, die der meinen sogar recht ähnlich ist: Er bastelt eine CD-Datenbank, ich eine Playlist, die im Prinzip eine sehr einfache CD-Datenbank darstellt.

Daher habe ich eigentlich nur nachgemacht, was er dort vorführt:

  1. Zunächst mal brauchte ich “für’s Grobe” den Extension Kickstarter, der im Typo3-Paket aber schon mit drin ist, und daher einfach im Extension Manager installiert werden kann.
  2. Mit dessen Hilfe habe ich nun das Grundgerüst der Extension erstellt: Eine neue Tabelle, in der die CD-Einträge gespeichert werden und die Grundkonfiguration, etwa, dass das Plugin zur Kategorie FrontEnd gehört und wo es einzubinden ist. Die Hauptarbeit war hierbei das Erstellen der Datenbankfelder, wobei der Umfang mit 4 eigenen Feldern (Titel, Interpret, Website, Datum) recht klein war. Als Format habe ich die Standardfeldformate verwendet, die der Extension Kickstarter bietet (“Date” für Datum, “Link” für die Website etc.)
  3. Nachdem die Konfiguration stand, konnte ich die Extension installieren und manuell weiterbearbeiten. Dazu habe ich letztlich nur in der Datei class.tx_mackeplaylist_pi1.php einige Änderungen im PHP-Quelltext vorgenommen. Der Kickstarter hatte hier schon eine komplette Listen- und Einzelansicht generiert, die für meine Bedürfnisse viel zu umfangreich war. Daher habe ich den überflüssigen Code (Navigation, verschiedene “Modi”, Einzelansicht etc.) entfernt und nur eine einfache Listenansicht übrig gelassen. Wenn ich mir gerade so noch einmal den tatsächlichen Code anschaue, merke ich, dass ich den ganzen Kram auch in einer PHP-Funktion hätte abbilden können, aber zum Einstieg war es mir erst einmal wichtig, die Struktur der vom Kickstarter automatisch erstellten Klasse und ihrer Methoden zu verstehen.
  4. Nach einigen kurzen Tests war das Plugin auch schon einsatzbereit. Nur die Stylesheets musste ich noch anpassen bzw. im Quelltext die Stylesheets überhaupt erstmal einbinden. Nachdem dies erledigt war, habe ich Typo3 über den Download-Button im Extension Manager die T3X-Datei erstellen lassen und fertig war das Plugin.

Das Plugin ist noch recht hart kodiert (ist ja auch mein erstes), d.h. man kann keine Änderungen z.B. am Layout über TypoScript vornehmen. Aber ich bin bereits tiefer in die Plugin-Erstellung eingestiegen und entwickle gerade eine Mitarbeiterverwaltung, die in die FrontEnd-User-Verwaltung integriert wird. Damit kann man dann eine “Steckbriefkartei” der Mitarbeiter erstellen, eine Anwesenheitsliste für’s Intranet uvm. Die Extension werde ich wohl nicht veröffentlichen, da sie sehr stark auf die Bedürfnisse und Gegebenheiten meiner Firma ausgelegt ist, aber eine Art “Light-Version” werde ich wohl für die FHWT03-Seite entwickeln. Und die gibt’s dann auch garantiert zum Download 😉

Allen angehenden Typo3-Extension-Entwicklern sei nur der Rat gegeben, sich die Videos von Kasper anzuschauen. Die sind teilweise ganz witzig (fand ich wenigstens ;)) und auf jeden Fall sehr gut zum Einstieg geeignet. Darüber hinaus empfehle ich jedem Typo3-Fan das Buch Typo3 – Paxiswissen für Entwickler aus dem Hause Galileo. Dort wird auf über 200 Seiten detailliert auf die Plugin-Entwicklung eingegangen. Und zwar ohne den Extension Kickstarter. Für das tiefergehende Verständnis von Typo3 und den Plugins absolut empfehlenswert!

WebDAV für Apache2 unter Windows einrichten

Für einen Apache-Server unter Windows für ein bestimmtes Verzeichnis die WebDAV-Funktionen einzurichten ist recht einfach. Folgende Einstellungen in der httpd.conf sind nötig:

# benötigte Module laden LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so # #Timeout und "LockDB" setzen DAVMinTimeout 600 DavLockDB D:/Web/Apache2/temp/DAVLock.db # # hier wird das gewünschte Verzeichnis konfiguriert, in # diesem Fall mit einer einfachen Authentifizierung über # eine Passwortdatei &lt;Directory "D:/webroot/webdav/"&gt; DAV On AuthType Basic AuthName "WebDAV Restricted" AuthUserFile D:/webroot/.DAVlogin &lt;LimitExcept GET HEAD OPTIONS&gt; Require user webdav &lt;/LimitExcept&gt; &lt;/Directory&gt;

Nach einem Restart des Apache-Servers kann dann unter Windows sehr einfach auf das “freigegebene” Verzeichnis zugegriffen werden: Unter Netzwerkumgebung auf Netzwerkumgebung hinzufügen klicken und die URL eingeben.

Links

Tastaturbelegung ändern

Die Standard-Tastaturbelegung in Windows kann mithilfe eines kleinen Programms aus den Windows Server 2003 Resource Kit Tools verändert werden: remapkey.
Damit kann jede Tastenfunktion einer beliebigen anderen zugewiesen und so etwa die TAB-Taste auf die *-Taste des Nummernblocks gelegt werden (wie ein Mitarbeiter, der verdammt viele Zahlen eintippen muss und zwischendurch mal TAB benötigt, es gerne wollte).