FreeBSD: Ports aktualisieren

Diese Befehle bringen das Ports-Verzeichnis /usr/ports auf den neuesten Stand:

pkg_add -r cvsup-without-gui
rehash
cp /usr/share/examples/cvsup/ports-supfile ~
sed -i.bak 's,CHANGE_THIS,cvsup.de,' ~/ports-supfile
cvsup ~/ports-supfile

Problem: Der Befehl „pkg_add“ verursacht die Fehlermeldung „package […] or its older version already installed“.
Lösung: cvsup ist bereits installiert. Es muss nicht erneut installiert werden. Lasse diesen Befehl weg.

Problem: Der Befehl „rehash“ verursacht die Fehlermeldung „command not found“.
Lösung: „rehash“ wird von der Standardshell tcsh verwendet, um die den Befehlscache zu erneuern. Wenn man bash oder eine andere Shell verwendet, dann ist dieser Befehl nicht notwendig, da diese Shells automatisch den Cache erneuern.

Problem: Der Befehl „cvsup“ meldet, dass der Server nicht erreichbar oder bereits voll ist und dass er es in fünf Minuten noch einmal probiert.
Lösung: Warte fünf Minuten ab oder drücke Strg+C und führe den Befehl nochmals aus.
Sollte die Meldung immernoch auftreten, ändere den Hostnamen des Servers. Weitere Server findet man in der Liste der CVSup-Server im Handbuch.
Öffne die Datei ~/ports-supfile mit einem Editor und ändere die Zeile

*default host=cvsup.de.FreeBSD.org

Aufgepasst! Es gibt eine Zeile, die mit # beginnt und der obigen Zeile ähnlich sieht. Das ist ein Kommentar und nicht die zu ändernde Zeile.

FreeBSD: Easy Apache2 mit mod_php4.2 und SSL

Installation von Apache2 und mod_php4

Zuerst müsst ihr folgendes in die Konsole eingeben:

cd /usr/ports/www/mod_php4
make -DWITH_APACHE2 install clean

Das wird dann einige Minuten dauern, danach sollte aber Apache2 inklusive mod_php4
installiert sein. Nun müsst ihr nur noch php4 als Programmiersprache installieren:

cd /usr/ports/lang/php4
make install clean

Damit hab ihr dann alls nötige installiert.

Konfiguration des Apache2

Nun müsst ihr nur noch die httpd.conf etwas bearbeiten:

cd /usr/local/etc/apache2
vi httpd.conf

Ihr müsst folgende Zeilen kommentieren (ein „#“ davor setzen)

#LoadModule file_cashe_module libexec/apache2/mod_file_cache.so
#LoadModule cache_module libexec/apache2/mod_cache.so
#LoadModule disk_cache_module libexec/apache2/mod_disk_cache.so

Danach fügt ihr zu <DirectoryIndex> index.php hinzu:

DirectoryIndex index.php index.htm index.html index.html.var

Folgende Zeilen müssen auch in der httpd.conf enthalten sein:

AddType php4_module libexec/apache2/libphp4.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Zu guter letzt speichert ihr die httpd.conf

Wichtig ist dass ihr jetzt noch die index.html.var sichert.

cd /usr/local/www/data
cp index.html.var index.html.var.back

Nun könnt ihr den httpd starten.

/usr/local/sbin/apachectl start

SSL

Wenn ihr den Webserver jetzt mit einem Browser erreichen könnt, dann könnt ihr euch jetzt an die SSL-Unterstützung machen.

SSL Zertifikate erstellen

Um die Zertifikate zu erstellen, müsst ihr OpenSSL bereits funktionsfähig installiert haben. Geht nun in das Konfigurationsverzeichnis von Apache2 und erstellt dort folgende 2 Unterverzeichnisse:

cd /usr/local/etc/apache2/
mkdir ssl.key
mkdir ssl.crt

Nun erstellt ihr die Schlüssel.

openssl genrsa -des3 -out server.key 1024

Damit Apache2 diesen Schlüssel auch lesen kann, müsst ihr ihn noch konvertieren.

openssl rsa -in server.key -out server.key.unsecure

Bei der Erstellung der Signierungsanfrage werden euch ein paar Fragen gestellt, die ihr möglichst wahrheitsgemäß ausfüllen solltet. Achtet hier besonders auf die Frage nach „Common Name“! Hier gilt es die Domain einzutragen, unter der der HTTPS-Server später zu erreichen sein soll. Bei mir ist das „www.redbrick.de“. Wenn ihr hier etwas falsches angebt, dann spuckt der Browser später eine lästige Warnung aus.

openssl req -new -key server.key -out server.csr

Nun signiert ihr euch euren Key selber.

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Als nächstes bindet ihr das Zertifikat folgendermaßen in den HTTPd ein:

cp server.key.unsecure /usr/local/etc/apache2/ssl.key/server.key
cp server.crt /usr/local/etc/apache2/ssl.crt/server.crt

Letzter Check

Bevor ihr nun euren Apache2 startet, solltet ihr die entsprechende Konfigurationsdatei nochmal genau durchgehen. Im Normalfall sollte die ssl.conf in /usr/local/etc/apache2/ in Ordnung sein, so wie sie ist. Aber Vorsicht ist ja bekanntlich die Mutter der Porzelankiste! Also sucht in der ssl.conf nach folgenden Einträgen: SSLCertificateFile und SSLCertificateKeyFile. An dieser Stelle müsst ihr die Files angeben, die ihr gerade erstellt habt. Muss also wie folgt aussehen:

SSLCertificateFile /usr/local/etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/etc/apache2/ssl.key/server.key

Webserver starten

Zu guter letzt speichert ihr nun die ssl.conf und startet den Server inklusive SSL.

apachectl startssl

Wenn ihr euch nirgendwo vertippt habt und ich nichts vergessen habe, dann solltet ihr über die Adresse https://localhost/ oder von einem anderen Rechner aus entprechend die über IP-Adresse bzw. die Domain anstatt „localhost“ die in /usr/local/www/ssl befindlichen Dateien verschlüsselt mit einem Browser zugreifen können. Den Pfad für die Dateien könnt ihr natürlich auch ändern, zum Beispiel zu eurem DocumentRoot, was entweder /usr/local/www/htdocs oder /usr/local/www/data sein sollte.

FreeBSD: Systemupdate (CVSup – stable branch)

Easy CVSup

Also das ist mein erstes Tutorial das ich schreibe, deswegen bitte ich euch mit mir
einbisschen umsichtig zu sein :)

Also als erstes muesst ihr folgenden Port installieren „CVSup“ CVSup ist zum
updaten der Ports ( /usr/ports/ ) und der Systemversion gut. Ihr geht
folgendermaßen vor.

cd /usr/ports/net/cvsup
make install clean

Jetzt ist erstmal warten angesagt, bis CVSup installiert ist. Danach muesst
ihr noch ein „rehash“ machen, damit die bild-in commands der Shell aktualisiert werden.
——————————————————————————–

Part 1. (Ports Update)

cvsup -g -L 2 -h cvsup2.de.freebsd.org /usr/share/examples/cvsup/ports-supfile
rehash

Wer weiß was er tut, kann die Datei „/usr/share/examples/cvsup/ports-supfile“ nach Belieben editieren.

——————————————————————————–
Part 2. (System Update – Make World)

cvsup -g -L 2 -h cvsup2.de.freebsd.org /usr/share/examples/cvsup/stable-supfile

Wer weiß was er tut, kann die Datei „/usr/share/examples/cvsup/stable-supfile“ nach Belieben editieren.

cp /etc/default/make.conf /etc/make.conf

Nun wird die Datei „/etc/make.conf“ editiert. Dort legt ihr fest, was upgedatet werden soll und was nicht. Im Nornmalfall muss die Datei nicht unbedingt verändert werden.

vi /etc/make.conf  
cd /usr/src

Und los gehts!

make world

!!! Wichtig !!! Jedesmal wenn ihr ein „Make World“ gemacht habt muesst ihr einen neuen Kernel machen.

Dazu einfach in das Verzeichnis cd „/usr/src/sys/i386/conf“ wechseln (bei Bedarf die Kernelkonfigurationsdatei editieren) und einen neuen Kernel konfigurieren<7p>

cd /usr/src/sys/i386/conf
config -r "Name deiner Kernelkonfigurationsdatei"
cd ../../compile/"Name deiner Kernelkonfigurationsdatei"
make clean; make depend; make; make install

reboot

Danach solltet ihr ein aktuelles System haben.

FreeBSD: Einrichten eines Gateways (IPv4)

Viele nutzen Linux im privaten bereich als Gateway für das eigene LAN zum Internet. Ich persönlich bevorzuge FreeBSD da ich mit FreeBSD besser klar komme als mit irgendeiner Linux Distribution. Folgender Text soll zeigen, wie man eine frisch-installierte FreeBSD Box dazu bringt sich via T-DSL mit ins Internet „einzuwählen“ und das LAN über IPFW und NATd ins Internet bringt.

Der Text bezieht sich auf ein FreeBSD System (4.6 bis 5.0) mit funktionierendem TCP/IP-Stack!

Kernelkonfiguration

cd /usr/src/sys/i386/conf
cp GENERIC FIREWALL 		# anstatt FIREWALL kann ein beliebiger Name gewählt werden
edit FIREWALL			# edit kann durch den Editor deiner Wahl ersetzt werden (vi, vim, joe)

Zu den bestehenden Kernel-Optionen werden folgende hinzugefügt:

options         IPFIREWALL
options         IPFIREWALL_DEFAULT_TO_ACCEPT # ! VORISCHT ! Alles was nicht explizit Verboten ist, ist erlaubt
options         IPFIREWALL_FORWARD
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=30
options         DUMMYNET
options         IPDIVERT
options         IPFILTER
options         IPFILTER_LOG
options         IPSTEALTH
options         RANDOM_IP_ID
options         TCP_DROP_SYNFIN

Nun wird der Kernel konfiguriert:

config -r FIREWALL
cd ../../compile/FIREWALL
make depend; make; make install

Nun packst du dir deine Freundin/deinen Freund, setzt dich mit ihr/ihm an den Tisch, trinkst in Ruhe ein Käffchen und quatsch euch mal aus…
Wenn alles gut ging, dann sollte der neue Kernel dann fertig kompiliert und installiert sein. Jetzt das große Hoffen und Daumendrücken:

reboot

Im Normalfall bootet das System anständig neu mit dem neuen Kernel (wenn nicht, wenden sie sich an ihren Administrator oder den nächsten Experten ihrer Wahl)

Routing

Als nächstest erstellen wir uns eine Konfigurationsdatei die Network Address Translation (NATd):

edit /etc/natd.conf

Für die jenigen, die Battlecom nutzen wollen, hier die Zeilen für NATd:

redirect_port tcp 192.168.0.1:2300-2400 2300-2400
redirect_port tcp 192.168.0.1:47624 47624
redirect_port udp 192.168.0.1:2300-2400 2300-2400

Nachdem wir die Datei gespeichert haben, müssen wir das Forwarding aktivieren:

sysctl -w net.inet.ip.forwarding=1
echo firewall_enable="YES" >> /etc/rc.conf
(x) echo firewall_logging="YES" >> /etc/rc.conf
echo firewall_script="/etc/fw.rc" >> /etc/rc.conf
echo gateway_enable="YES" >> /etc/rc.conf
echo natd_enable="YES" >> /etc/rc.conf
echo natd_interface="tun0" >> /etc/rc.conf
echo natd_flags="-dynamic -config /etc/natd.conf" >> /etc/rc.conf
(x) echo tcp_drop_synfin="YES" >> /etc/rc.conf
(x) echo icmp_log_redirect="YES" >> /etc/rc.conf
(x) echo icmp_drop_redirect="YES" >> /etc/rc.conf

Legende: (x) = optionale (aber empfohlene) Sicherheitsoptionen, haben nichts mit dem Forwarding zu tun

Als nächstes legen wir die Datei für die Filterregeln an:

edit /etc/fw.rc
fwcmd="/sbin/ipfw"
$fwcmd -f flush
$fwcmd add divert natd all from any to any via tun0
$fwcmd add 400 allow tcp from any to any out xmit tun0 setup
$fwcmd add 500 allow tcp from any to any via tun0 established

### einzelne Ports freigeben für den externen Zugriff auf interne Dienste ### 
$fwcmd add 600 allow tcp from any to any 80 setup   # httpd
$fwcmd add 650 allow tcp from any to any 21 setup   # ftpd
$fwcmd add 650 allow tcp from any to any 20 setup   # ftpd
$fwcmd add 700 allow tcp from any to any 22 setup   # sshd

### Nur Rechnern aus dem Netz 192.168.0.0/24 den Zugriff auf den SQLd gewähren ###
$fwcmd add 850 allow tcp from 192.168.0.0/24 to 3306 setup

### Zugriffe auf einzelne Ports verweigern und loggen ###
$fwcmd add 900 reset log tcp from any to any 113 in recv tun0

### Den Datentransfer zwischen den LAN und den DNS-Servern erlauben ###
$fwcmd add 1000 allow udp from any to 212.185.253.70 53 out xmit tun0
$fwcmd add 1100 allow udp from any to 217.5.115.205 53 out xmit tun0
$fwcmd add 1200 allow udp from any to 194.25.2.129 53 out xmit tun0
$fwcmd add 1300 allow udp from 212.185.253.70 53 to any in recv tun0
$fwcmd add 1400 allow udp from 217.5.115.205 53 to any in recv tun0
$fwcmd add 1500 allow udp from 194.25.2.129 53 to any in recv tun0

Das waren mal ein paar Beispielregeln für IPFW. Hier sind soweit keine Grenzen gesetzt. Das Forwarding wäre hiermit erledigt!

Einwahl

Einwahl bei t-online über tdsl (PPPoE)

Editiere /etc/ppp/ppp.conf :

#################################################################
# PPP  Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.2.2.5 2001/07/13 10:55:23 brian Exp $
#################################################################

default:
 set log Phase Chat LCP IPCP CCP tun command
 ident user-ppp VERSION (built COMPILATIONDATE)

 # Ensure that "device" references the correct serial port
 # for your modem. (cuaa0 = COM1, cuaa1 = COM2)
 #
 set device /dev/cuaa1

 set speed 115200
 set dial "ABORT BUSY ABORT NO\sCARRIER TIMEOUT 5 
           "" AT OK-AT-OK ATE1Q0 OK \dATDT\T TIMEOUT 40 CONNECT"
 set timeout 180                        # 3 minute idle timer (the default)
 enable dns                             # request DNS info (for resolv.conf)

tdsl:
 set device PPPoE:dc1    # dc1 ist meine NIC die einwählen soll
 set MTU 1492
 set MRU 1492
 set timeout 0
 set dial
 set crtscts off
 set speed sync
 accept lqr
 disable deflate
 disable pred1
 disable vjcomp
 disable acfcomp
 disable protocomp
#enable dns
 set log Phase LCP IPCP CCP Warning Error Alert
 set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0
 add default HISADDR
 set login
 set authname "<12-stellige-anschlusskennung><12-stellige-anschluss-Nummer>#0001@t-online.de"
 set authkey "dein-passwort"

Der teil „default“ ist eher unwichtig, uns geht es um den Abschnitt „tdsl“.

Mit folgendem Befehl stellen wir nun die Verbindung zum Internet her und wir können fröhlich drauflos surfen, chatten, zocken oder was immer man da so machen kann und will:

ppp -ddial tdsl

Mit dem Befehl

ppp -auto tdsl

richtet man Dial on Demand ein.

Viel Spaß!
redbrick

redbrick (01.04.2008 22:00:12)

Ich habe nochmal etwas gegoogled und habe u.U. etwas passendes für das Problem gefunden.

Schau dir mal http://mpd.sourceforge.net/ an.

redbrick (01.04.2008 14:23:05)

Vielen Dank für das Lob.

Leider muss ich dir sagen, dann ich in der von dir beschriebenen Thematik nicht wirklich viel Ahnung habe. Als ich vor einigen Jahren mit FreeBSD begonnen habe, habe ich mir von den Jungs aus dem Quakenet IRC-Channel #freebsd.de Hinweise geben lassen und nach erfolgreicher Umsetzung alles dokumentiert und als Tutorial online gestellt.

Aus diesem Grund empfehle ich dir, einfach mal in dem Quakenet-Channel #freebsd.de vorbeizuschauen und ihnen was auf die nerven zu gehen. ;) Keine Angst, die sind ganz nett .oO(wenn sie nicht gerade gestresst sind *g*).

Wenn dir die Jungs bei deinem Problem helfen können, dann kannst du hier ja nochmal ein Comment hinterlassen.

Ein Blick in die FreeBSD-Doku lohnt in der Regel auch immer. Aber ehrlich gesagt bezweifle ich, dass du dort die Lösung auf dein doch recht spezilles Problem finden wirst. Aber vielleicht verbergen sich dort ja Hinweise, die dich weiterbringen!

Uwe (01.04.2008 13:58:19)

Redbrick,
Super posting! Gibt mir als freeBSD Newbie einen sehr guten Einstieg in die Problematik!

Ich hab mal ne Frage zur anderen Seite:
Ich betreibe einen freeBSD Server.

Die Welt „draussen“ soll sich ueber ihn und
per MODEM(!!)
in ein dahinterliegendes Netzwerk einwaehlen konnen.
(Ja, ich weiss Verbindungsaufbau per Modem / dialup / PPP ist „etwas ausder Mode gekommen“ und ja, ich bin mir der Risiken bewusst.)

Solange ich TCP/IP benutze kann ich mich reibungslos per Modem / PPP / dial einwaehlen. Zu Testzwecken habe ich auf einem Windows(!) Rechner eine Dialup Verbindung mit einem 33.600 Standard Modem erzeugt und ein prg. geschrieben das auf der einen Seite einen virtuellen COM port zur Verfuegung stellt, diese virtuelle Schnittstelle zum Modem hin handhabt und auf der anderen Seite eine Verbindung zum freeBSD Server aufbaut. Klingt kompliziert – und ist es auch ;-)

Solange die Seite zum freeBSD Server TCP/IP benutzt funktioniert alles wunderbar!
(User und PW sind in der Windows Dialup Definition hinterlegt).
Da Problem ist nun, das ich auch UDP (also „Verbindungslos“) verwenden moechte. Und genau das klappt irgendwie nicht.
Das ganze bleibt in der Phase „Verifying User and PW“ stehen.

Ich vermute, das ich zuerst per TCP/IP die Verbindung als solche (also mit User/PW Abfrage, handshakes, etc., etc.) erledigen muss und erst danach, wenn ich connectet bin auf UDP umschalten kann. ODer liege ich (auch) hier falsch ?

Jeglich Hilfe waere echt Klasse.

Vielen, vielen Dank im Voaus!

Frustration beim Praktikumsprojekt

Ach hat sich das Projekt doch schön angehört: „Ersetze das aktuelle Webserver- und Datenbank-System durch zwei neue Systeme: Webserver Frontend und Datenbank-Server Backend“. Je länger ich mich mit der Thematik beschäftige, um so umfangreicher und komplizierter gestaltet sich die ganze Sache.

Die erste Überlegung war ja noch recht simpel. Dabei sollte der Apache durch den AOLserver und der MySQL-Server durch PostgreSQL ersetzt werden. Nach einiger Frickelei habe ich es in dieser Konstelation zum laufe bekommen. Leider läuft die Homepage auf einem abgewandelten PostNuke, was nicht mit einer PostgreSQL Datenbank betrieben werden kann.

Also fix wieder MySQL auf dem Test-System installiert. Dummerweise ist der AOLserver nicht dazu gemacht, um mit MySQL zusammen zu arbeiten *narf*.
Was nun?

Was gibt es denn noch an alternativen Webservern, die über PHP mit MySQL arbeiten? Zusammen mit Google habe ich folgende Möglichkeiten entdeckt:

  • Zeus: ein kommerzieller Webserver
  • Apache 1.3: der am weitesten verbreitete Webserver
  • Apache 2: ein Rewrite des am weitesten verbreiteten Webservers
  • thttpd: ein Webserver, der lediglich statischen Content liefert (abgesehen von CGI, was in meinem Fall uninteressant ist), das aber sehr schnell
  • lighttpd: ein kleiner Webserver, der laut Autor um einiges schneller als der Apache ist
  • Tux: ein Webserver, der direkt auf Kerneleben statischen Content ausliefert und weitere Anfragen an einen anderen Port weiterleitet.

Der Apache 1.3 fällt schonmal weg, weil er in Version 2 einiges mehr an Performance bringt. Zeus fällt weg, da er einfach zu teuer ist. Daraus ergeben sich dann folgende Kombinationsmöglichkeiten:

  • Apache 2 für statischen und dynamischen Content
  • lighttpd für statischen und dynamischen Content
  • Apache 2 für dynamischen Content und thttpd für statischen Content
  • lighttdp für dynamischen Content und thttpd für statischen Content
  • Apache 2 für dynamischen Content und Tux für statischen Content
  • lighttpd für den dynamischen Content und tux für den statischen Content

Um festzustellen welche Kombination die beste Performance bringt, bin ich auf die Suche nach entsprechenden Benchmarks und Vergleichstest gegangen. Leider gitst keine passenden Test, die die einzelnen Alternativen dierkt vergleichen. Auch einzelne Tests lassen sich nicht miteinander vergleichen. Wenn es nichts gibt, dann macht man sich eben selber welche.

Wenn das mal so einfach wäre…

Es gibt einfach keine Benchmark-Tools, die vergleichbare Zahlen ausspucken. Aus einer riesigen Menge an unbrauchbaren Tools habe ich mich für den Apache Bech entschieden. Denn selber einen Benchmark zu programmieren würde definitiv zu weit gehen.

Damit ich jetzt realistische Tests machen kann, muss ich natürlich die Homepage auf das Testsystem bringen. Schnell via SSH auf dem Server eingeloggt, den Document-Root gepackt und runtergeladen. Aber was dauert denn dan so lange?

Tjoa, das sind mal eben 1,5 GB die ich da runterladen muss. Nach einiger Zeit war das dann auch endlich erledigt. Jetzt war das Archiv aber kaputt *aufreg*! Ist das Archiv bei der Übertragung kaputt gegangen? Ist das Archiv auf dem Server schon kaputt?

Lassen wir das erstmal und machen ein Dump von der MySQL Datenbank. Nach ca. 20 Minuten ist das Dumpfile fertig.Ab auf PHPmyAdmin und den Dump auf das Testsystem überspielen: ERROR: 30 seconds timelimit exceeded *richtig sauer werd*. Also auf die Konsole und die Datei von dort direkt in die Datenbank einspielen. Ich sehe einige Minuten viele Zeilen auf dem Bildschirm scrollen. Bis wieder ein Fehler auftrat: MySQL kann den Befehl nicht interpretieren *argh*. Nach einem flüchtigen Blick in das Dumfile sehe ich auch schon was los ist: der Dump ist fehlgeschlagen. Also wieder auf den Server via SSH und dort nochmal ein Dump gezogen.

Dann fiel mir ein, dass ich ja noch das Kennwort auf der Datenbank ändern muss, damit ich nicht alle Konfigurationsdateien anpassen muss von den PHP-Scripten. Joa, durch meine Unwissenheit habe ich dann die Datenbank unzugänglich gemacht *TILT*

Das war mir dann zu viel und ich hab Feierabend gemacht. Ich freu mich schon auf morgen…

Supersoma in Kerkrade und die Alieninvasion

Obwohl ich von Freitag Nachmittag bis Samstag mit meiner allmonatlichen Migräne flach lag, habe ich mich dennoch spontan von Horst am Samstag Abend überreden lassen, mit ihm nach Kerkrade ins MuziekCafé zum Halloween Metal Contest zu fahren, wo Supersoma wieder ihr Können zum Besten gaben.

Die Hinfahrt war für mich zunächst recht anstrengend, da ich die ersten 45 Minuten damit beschäftigt war, die Hörspielkassette „He-Man Folge 1“ per Hand zu spulen.

Warum ich die Kassette manuell spulen musste?
Weil der Rekorder es leider nicht auf die Reihe bekommen hat.

Warum wir He-Man auf der Fahrt hören wollten?
Weil immer Benjamin Blümchen zu hören auf die Dauer langwelig wird.

Warum ich so lange gebraucht habe zum Spulen?
Weil die Kassette nicht zurückgespult zu sein schien und das Hörspiel mitten drin zu beginnen schien. Jedoch stellte sich später heraus, dass es doch der Anfang war. Dank der sehr merkwürdigen Kennzeichnung der Kassette und der daraus resultierenden allgemeinen Verwirrung, habe ich schließlich die Kassette dreimal komplett hin und zurück gespult. Nach einem kleinen ungewollten Umweg kamen wir (Horst, Jens, Jens Freundin und ich) dann am MuziekCafé an. Eine Band hatten wir zu dem Zeitpunkt schon verpasst und die zweite Band spielte auch nurnoch 2 Songs. Dann spielte auch schon Supersoma. Zunächst hat keiner mit einem so dollen Auftritt gerechnet, da zum einen nicht SO viel los war und zum anderen bei der vorangegangenen Band auch keine Stimmung aufgekommen war. Jedoch wussten die Supersomafans dies zu ändern. Die Stimmung war RICHTIG geil, der Sound war genial und die Akustik in dem Raum passte auch. Alle waren restlos begeistert von ihrem Auftritt.

Vorallem einer etwas stämmigeren, rothaarige Frau um die 40 schien es Supersoma angetan zu haben. Die scherzhaft als Mamma-Groupie bezeichnete Frau in den 40ern scheint unter der Band und den Fans schon bekannt gewesen zu sein. Sie ist wohl von der Geburtstagsfeier ihres Mannes mit ein paar Leuten in den Bus gestiegen um Supersoma zu sehen. Sie ließ es sich dann nicht nehmen, die Band inklusive Fans zur Geburtstagsfeier zu sich nach Hause einzuladen. Besoffenerweise gab sie Antonia die Wegbeschreibung. Wie wir dann später an der Stadtkarte bei der Esso Tankstelle feststellen mussten, galt die Beschreibung wohl einer anderen Adresse, jedoch nicht der gewünschten.

Nach den drei deutschen Conterstern spielte dann noch die niederländische Band Concubine. Obwohl sie ihre Intrumente wirklich zu beherrschen schienen und die Musik garnicht mal schlecht war, kam bei ihnen absolut keine Stimmung auf. Laut Veranstalter sollte das Publikum nach dem letzten Auftritt entscheiden, wer den Contest gewonnen hat und am Freitag, dem 28. Oktober, auf dem Helloween Heavy Metal Festival spielen darf. Jedoch muss Supersoma so Überzeugt haben, dass sie ohne jede weitere Abstimmung zum Gewinner erklärt wurden.

Nach der Bekanntgabe des Gewinners machten wir uns dann mit allen auf den Weg zur Party. Dank Antonia haben wir den Weg trotz falscher Wegbeschreibung doch noch sher schnell gefunden.

Am Haus angekommen, machte Klaus sich streight auf den Weg in den Garten und die restlichen 13 Leute hinter ihm her. Was wir dort vorfanden, hätte Hollywood nicht besser inszenieren können. Die Eindrücke lassen sich im Nachhinein nur recht schwer in worte fassen. Zu unserer Rechten stand ein Flaschenhalter für diverse Spirituosen zum schnellen portionieren (son Ding wie in Kneipen/Diskos, wo man nur das Glas von unten gegendrückt). Auf den Tischen lagen einige Nahrungsmittel verteilt. Zur Linken befand sich eine Art Garage oder Vordach. Dort befanden sich ca. 20 Bierkästen mit leeren Flaschen, ein Regal mit einer Musikanlage mit einem Haufen Musik-CDs und 2 großen Kühlschränken komplett gefüllt mit Bier. Im vorderen Teil des hinteren Drittels des Gartens loderte ein Lagerfeuer vor sich hin – ringsherum saßen ein paar fertige Gestalten. Am Ende des Gartens saßen dann in einer alten überdachten Laube weitere Partygäste, die auch keinen sonderlich fitten Eindruck machten. Der Geruch, der in der Luft lag, ließ vermuten, dass es nicht nur Ziegaretten waren, die dort geraucht wurden.

Nachdem ich meinen Blick über das Gelände habe schweifen lassen, trat urplötzlich ein zotteliger Bartträger in Latzhose und Poncho mit einer Flasche Ouzu 12 in der Hand und großen strahlenden Augen, hervor: das Geburtstagskind. WOW! Hab ich mich erschrocken! Irgendwie kam mir dieser „Mensch“ bekannt vor. Einige werden sich jetzt denken: „Mein Gott, sah er eben etwas merkwürdig aus – ist eben ein Holländer. Aber doch kein Grund ‚Mensch‘ in Anführungszeichen zu setzen.“
Jedoch hat das seinen Grund! Denn nach kurzen Überlegungen wusste ich wer es war: Mikey von den Men in Black!!! Für die Leute, die den Film nicht gesehen haben, hier ein Bild:

Mikey von MiB

Da kam in mir der Verdacht hoch, dass das dort alles Aliens waren, was einiges erklären würde… Bin ich paranoid? War ich
einfach etwas zu betrunken? Oder habe ich tatsächlich Recht? Für den Fall der Fälle beschloss ich, keinem dieser Wesen
auf die Schnürsenkel zu treten, da ich ja aus MIB wusste, wie wütend so ein Alien werden kann:

Böser Mikey

Trotz des mulmigen Gefühls hatten wir eine Menge Spaß auf der „After Show Party“. Irgendwann schrie Mikey dann plötzlich mit einem freudigen Gesichtsausdruck: „Die Hells Angles kommen! Die Hells Angles kommen!“ Wir guckten uns nur an und lachten. Jedoch verstummte dieses Lachen recht schnell und es sprang in ein Grüblen über: „Hm, ist es wirklich so abwegig, dass DIESER Mann die Hells Angles kennt?“ Vorsichtig nachgefragt antwortete Mikey dann, dass er die Jungs vom Angeln kennt und sie doch ganz liebe sind… .oO(Keine Angst, der tut nix. Der will nur spielen!) Als dann die besagten Herren durchs Gartentörchen kamen, hörte auch prompt die Musik auf. Diese Situation erinnerte sehr stark eine eine klassiche Szene eines Westerns, wo ein Geächteter in einen vollen Saloon tritt und das feuchtfröhliche Treiben der Spilunke plötzlich ein spontanes Ende findet, die Tänzerinnen aufhören zu tanzen, die Musik aufhört zu spielen, der Wirt das Glas fallen lässt, dass er gerade am abtrocken war. Ein Bild für die Götter, könnte man sagen. Irgend jemand ging dann fix zur Musikanlage (ich glaube es war Klaus) und legte Motörhead auf :)

Ich glaube gegen kurz nach Vier machten wir uns dann geschlossen auf den Heimweg. Natürlich hatte ich an die Rückfahrt gedacht und eine zweite Folge von He-Man eingepackt (es war Folge 4). Ich habe jedoch die zweite Seite der Kassette nicht mehr mitbekommen, da ich vorher eingepennt war. Um 5:40 zu Hause angekommen, habe ich mich dann nurnoch in mein Bett geschmissen und gehofft, dass ich nicht von dieser Fete träumen werde.
Ein lustiger Abend! :-)

Hinweis: Dieser Text ist mit einer gewissen Portion Witz und Ironie aufzunehmen. Ich möchte niemandem mit diesem Text zu nahe treten (zumal ich mich ja immernoch nicht sicher bin ob es sich um Aliens oder Menschen hadelt ;-D *scherz*).