blogeum
 

Windows 2000 als virtueller Server

Im vorigen Eintrag habe ich von Windows Vista „geschwärmt“ und welche Vorteile es hat. Alles ganz gut und schön bis zu dem Zeitpunkt, an dem ich die Entwicklungsumgebung mit Apache, PHP und MySQL (WAMP) installieren wollte. MySQL weigerte sich partout mit PHP zusammen zu arbeiten, obwohl der MySQL-Server zweifelsfrei im Hintergrund lief und auch über die Kommandozeile ansprechbar war.

Im Netz der Netze gibt es zahlreiche Lösungsvorschläge: Von libmysql.dll nach SysWOW64 anstatt System32 zu kopieren bis zu der Benutzung von libmysql.dll aus dem PHP-Package anstatt der aus dem MySQL-Package. Doch keiner der Vorschläge konnte das Problem beseitigen.

Also entschloss ich mich kurzerhand mit VirtualBox einen virtuellen Server auf der Basis von Windows 2000 Professional (über MSDNAA) aufzuziehen. Windows 2000 deshalb, weil es den Komfort von Windows XP besitzt aber nur rund halb so ressourcenhungrig ist.
Die Installation funktionierte einwandfrei. Dennoch scheint es zur Zeit (und nicht nur bei mir) wieder einige Probleme mit der im MySQL-Package mitgelieferten libmysql.dll zu geben. Letztendlich half es, die libmysql.dll aus dem PHP-Package zu nehmen und die Sache lief.

Windows 2000 in VirtualBox

Ein wenig rumprobieren musste ich allerdings bei den Netzwerkeinstellungen von VirtualBox. Mit „Bridged Netzwerk“ fand sich aber schließlich die richtige Einstellung. Der NETGEAR-Router erkennt nun den virtuellen Server quasi durch den realen NVIDIA-Netzwerkadapter und weist ihm über DHCP eine IP-Adresse zu. Somit ist er auch für Vista wie ein ganz normaler Computer im Netzwerk ansprechbar.

VirtualBox NetzwerkeinstellungenRouter erkennt virtuelle Maschine

Ich muss sagen, dass mir diese Lösung ganz gut gefällt. Wenn der Server nämlich nicht gebraucht wird, belegt er keine Ressourcen und auch der Start von Vista ist dadurch noch schneller, weil er eben nicht mitgeladen werden muss. Desweiteren muss nicht bei jeder Neuinstallation von Windows auch der Server zwangsläufig neu installiert werden. Einfach die virtuelle Festplatte sichern und später wieder zurück kopieren.

Aufrüsten: neue Komponenten!

Nachdem mein Arbeitsrechner für's Studium eher schlecht als recht war, habe ihn ich nun am vergangenen Wochenende für knapp 100 € aufgerüstet.

AMD Athlon X2 4850e

Zum Einsatz kommt – wie für einen begeisterten AMD-Jünger üblich – ein AMD Athlon X2 4850e mit einer Taktfrequenz von 2,5 GHz bei Thermal Design Power (TDP) von nur 45 Watt. Dieser sitzt auf einem ASRock ALiveNF6G-GLAN zusammen mit zwei 1 GB MDT-Riegeln, die bei standardmäßigen 800 MHz im Dualchannelbetrieb laufen.

ASRock ALiveNF6G-GLAN

Nach dem Einbau war ich etwas überrascht, weil das noch auf der Festplatte vorhandene XP mit Service Pack 3 zwar etwas langsam aber sonst problemlos startete.
Trotzdem war es nun endlich mal an der Zeit Windows Vista in der x64-Edition zu installieren, das uns Studenten im Rahmen des MSDNAA-Programms glücklicherweise kostenfrei zur Verfügung gestellt wird.

Dank 64bit-fähiger Treiber und Software klappte auch alles problemlos. Vista schnurrt nun wie ein Kätzchen und ich hatte „nur“ einen Bluescreen – ausgerechnet beim Installieren von Microsoft-Software.

Alles in allem ein krasser Gegensatz zu den Erfahrungen, die ich mit früheren Vista-Installation ohne SP1 machen musste. Auch die Geschwindigkeit – früher oft ein Kritikpunkt – ist absolut in Ordnung und, zumindest gefühlt, besser als bei XP. Vor allem der Start geht relativ zügig vonstatten.

Die ganze Rechnerkonfiguration gibt's bei sysProfile.

Entwicklungsserver-Neuinstallation unter Windows

Nachdem ich die Blog-Software einigermaßen fertiggestellt hatte, war ich der Meinung, es könnte nicht schaden, den Entwicklungsserver neu aufzusetzen. Ging auch eigentlich ziemlich problemlos, bis zu dem Punkt, an dem ich MySQL und cURL zum Laufen bringen wollte.
Nach ein wenig rumsuchen fand ich dann aber doch die Lösung. Deshalb soll dieser Eintrag auch als Gedächtnisstütze für mich fungieren.

  1. Apache Server runterfahren
  2. libmysql.dll aus dem MySQL-Ordner nach %windir%/system32 kopieren
  3. In diesem Zuge auch libeay32.dll und ssleay32.dll aus dem PHP-Ordner dorthin kopieren
  4. Apache Server wieder starten

Danach noch die Erweiterungen in der php.ini aktivieren und schon sollte alles wie gewohnt laufen.

FreeBSD und filter_var()

Leider musste ich soeben feststellen, dass FreeBSD und die PHP-Funktion filter_var() nicht so gut zusammenarbeiten, wie das die PHP-Manual suggeriert. Dort heißt es nämlich:

The filter extension is enabled by default as of PHP 5.2.0. Before this time an experimental PECL extension was used, however, the PECL version is no longer recommended or updated. http://de3.php.net/manual/en/filter.installation.php

PHP in Version größer als 5.2.0 ist zwar installiert, aber in FreeBSD-Distributionen scheinen die Filter-Funktionen nicht mehr standardmäßig mitgeliefert zu werden.

Tja, und so musste ich meine schöne Pingback-Funktion umschreiben, sodass sie auch ohne filter_var() auskommt. Ist dadurch jetzt etwas aufwändiger geworden, aber was soll’s.
Demnächst müssen aber auch noch alle anderen Funktionen, die filter_var() benutzen, nachziehen.

Sorry an alle, die dadurch ein mehrfaches Pingback bekommen haben.

Web-Typografie: Grundlinien-Gitter

Im Druckwesen ist die Ausrichtung von Text an einem Grundlinien-Gitter gang und gäbe. Im Web hingegen leider immer noch weitgehend unbekannt oder ungenutzt. Dabei bietet dies einige Vorteile, wie z.B. einen einheitlichen vertikalen Rhythmus für bessere Lesbarkeit.
Darüber, wie man dieses Grundlinien-Gitter mit CSS umsetzen kann, klärt der sehr informative Artikel der Opera Developer Community auf.

Zum angesprochenen Artikel.

[via Peter Kröner]

Was’n das?

blogeum ist das persönliche Weblog von Christian Gürtler – seines Zeichens begeisterter Webworker und Programmierer. Er studiert gegenwärtig Angewandte Informatik an der TU Chemnitz.

 

Abonnieren

RSS-IconImmer auf dem Laufenden mit den Einträgen aus dem Weblog als Atom-Feed. Nunmehr 72 Abonnenten!

Folge mir auf Twitter

 

Neue Kommentare

Christian: Hallo, interessante Funktion. Ich denke ich werde das Beispiel für JavaScript…

Tobias Neumann: Hallo, interessante Funktion. Ich denke ich werde das Beispiel für JavaScript…

Christian: OK, den Zugriff auf "superglobale" Objekte wie window habe ich nicht bedacht.…

ChrisB: Auf diese Weise haben wir auch JSON geparsed, aber ohne Sicherheitsbedenken.…

Martha: Das wundert mich auch. Rot ist doch eine Warnfarbe. Ich kann mir das auch nur…

 

Neue Einträge

 

Lesenswert

Werbung

Wikio - Top Blog - High-tech

 

© 2009–2010 Christian Gürtler

Die Blog-Inhalte stehen unter einer Creative Commons-Lizenz.

XHTML · CSS

BlogPingR.de - Blog Ping-Dienst, Blogmonitor Blogverzeichnis - Blog Verzeichnis bloggerei.de