The Uniform Server: Noch ein WAMP-Package

image

The Uniform Server leistet im Prinzip das, was wir schon von XAMPP oder WOS her kennen: Er stellt einen Webserver (Apache), einen Datenbank-Server (MySQL) sowie die Skriptsprachen PHP und Perl bereit und lässt sich leicht auf jedem Windows-PC installieren. Wie bei anderen Lösungen gehört ein (in diesem Fall allerdings sehr rudimentäres) Control Panel zum Lieferumfang – die Detailsteuerung erfolgt dann über den Web-Browser (sog. Admin Panel).

Schwere Sicherheitslücke in MySQL Dumper

image

MySQL Dumper, das es sowohl als Stand-alone Tool als auch als TYPO3 Extension gibt, hat offenbar eine gravierende Sicherheitslücke. Diese Lücke erlaubt es einem Angreifer, Lese- und Schreibrecht für die Datenbank zu erlangen und sie komplett herunterzuladen, sofern er den Pfad der MySQL-Dumper-Installation errät. Bei der TYPO3-Extension ist dieser Pfad vorgegeben und somit allgemein bekannt, aber auch wer das Stand-alone Tool unter www.domain.com/mysqldumper installiert hat lebt gefährlich. Brisant ist, dass MySQL Dumper selbst eindringlich empfiehlt, die Installation mit einem Passwort zu schützen, dass aber der vom Tool selbst angelegt Passwortschutz unterlaufen werden kann – der Anwender wiegt sich deshalb in falscher Sicherheit.

Die Sicherheitslücke wurde in einem Bulletin des TYPO3 Security Teams publiziert. Diesem ist auch zu entnehmen, dass die Autoren von MySQL Dumper während 3 Wochen nicht auf entsprechende Warnungen reagiert haben. Auch heute liest man auf www.mysqldumper.de nichts von diesem gravierenden Sicherheitsproblem. Unter den gegebenen Umständen muss ich meine einstige Empfehlung für dieses Tool rückgängig machen. Wenn Sie trotzdem nicht auf MySQL Dumper verzichten wollen, dann ergreifen Sie zumindest die folgenden Sicherheitsmassnahmen:

  • Installieren Sie MySQL Dumper in einem Verzeichnis, dessen Pfad niemand erraten kann.
  • Legen Sie den Passwortschutz für dieses Verzeichnis manuell an (d.h. nicht mit MySQL Dumper).
  • Verzichten Sie auf die TYPO3 Extension, nutzen Sie nur das Stand-alone Tool.

Apache Friends: Umfrage zu XAMPP 2.0

Im Hinblick auf das nächste grosse Release von XAMPP (einem einfach zu installierenden Paket aus Apache, MySQL, PHP und Perl) hat das Projekt Apache Friends eine Umfrage unter der Community gestartet:

“Im Mai 2007 wird XAMPP genau fünf Jahre alt und wir haben das Gefühl, dass dies ein guter Zeitpunkt ist, um über Verbesserungen an XAMPP nachzudenken. Damit wir uns aber nicht nur auf unsere Gefühle verlassen müssen, haben wir uns entschieden diese Umfrage durchzuführen: Wie sehen Eure Bedürfnisse bzgl. XAMPP aus und was können wir in der nächsten großen, neuen 2.0er Version verbessern?”

Die Umfrage läuft vom 22.03.2007 bis zum 22.04.2007 und umfasst 15 Fragen.

Ruby on Rails: Lokale Entwicklungsumgebung unter Windows aufsetzen

Was Locomotive für Mac OS X ist (vgl. Ruby on Rails: Lokale Entwicklungsumgebung unter Mac OS X aufsetzen), ist Instant Rails für Windows: eine bestechend einfache Methode, um Ruby on Rails auf den eigenen Rechner zu bekommen. Instant Rails ist ein Paket, das den Ruby-Interpreter, das Rails-Framework, einen Apache-Webserver sowie eine MySQL-Datenbank (inkl. phpMyAdmin-Frontend) enthält und ohne spezielle Kenntnisse installiert werden kann. Konkret muss man nur ein ZIP-Archiv mit der aktuellsten Version von Instant Rails herunterladen und in einen beliebigen Ordner entpacken. Zu beachten ist lediglich, dass der Zielordner keine Leerzeichen im Pfad hat – C:\Programme\InstantRails\ wäre also ein guter, C:\Dokumente und Einstellungen\Martin Sauter\Eigene Dateien\Ruby on Rails\ dagegen ein schlechter Pfad.

Gesteuert wird die ganze Umgebung über das Windows-Programm InstantRails.exe, das zwar keine Schönheit ist, aber seinen Zweck erfüllt. Nachdem Sie die Warnmeldung bezüglich geänderter Pfade (erscheint nur beim ersten Start) bestätigt haben, werden Web- und Datenbank-Server gestartet. Um die ganze Umgebung zu testen, benutzen Sie eine der mitgelieferten Ruby on Rails Applikationen. Starten Sie Ihren Web-Browser und geben Sie die Adresse http://127.0.0.1:3001 ein (127.0.0.1 steht für Ihren lokalen Rechner, der Port 3001 wird von der mitgelieferten Applikation “cookbook” genutzt). Das Resultat ist eine einfache datenbank-basierte Webapplikation:

(Falls Sie stattdessen einen 502 Proxy Error erhalten: Lesen Sie die Getting Started-Anleitung inklusive den Abschnitt “Questions and Answers”.)

Um einen Blick in die MySQL-Datenbank zu werfen, benutzen Sie das web-basierte Frontent phpMySQL über die URL http://127.0.0.1/mysql/. Und um eine eigene Applikation zu entwickeln finden Sie über den “I”-Button den Befehl “Rails Applications > Manage Rails Applications…”.

Der folgende Dialog bietet unter anderem die Option “Create New Rails App…”, was eine DOS-Konsole öffnet, deren aktueller Pfad das Unterverzeichnis “rails_app” Ihrer Instant-Rails-Installation ist (z.B. C:\Programme\InstantRails\rails_apps). Belassen Sie den Pfad fürs erste und geben Sie den folgenden Befehl ein:

rails myTestApp

Das war’s! Unter C:\Programme\InstantRails\rails_apps\myTestApp\ finden Sie nun das Skelett einer kompletten Rails-Applikation. Was Sie damit anstellen, bleibt Ihnen überlassen – vielleicht absolvieren Sie eines der zahlreichen Tutorials für Einsteiger, z.B. Four Days on Rails von John McCreesh (oder ein anderes der Top 12 Ruby on Rails Tutorials).

WOS Portable und WOS X: Der WAMP-Server für den USB-Stick

WOS steht für Webserver on Stick, und damit ist das Wichtigste eigentlich bereits gesagt: Das Software-Paket von Cornelius Herzog installiert einen kompletten Webserver mit Apache, PHP und MySQL auf einer Festplatte oder eben auf einem USB-Memorystick. Zudem bietet WOS eine komfortable Oberfläche, um den Server zu starten, zu konfigurieren und zu stoppen – etwa so, wie man das auch von XAMPP von Apache Friends kennt.

Wer WOS herunterlädt, kann über den sogenannten WOS Mixer nicht nur zwischen verschiedenen Apache-, PHP- und MySQL-Paketen auswählen, sondern bei Bedarf auch noch einige populäre Web-Applikationen dazupacken: Die Content-Management-Systeme Drupal, Joomla, Mambo und TYPO3 stehen hier ebenso zur Auswahl wie MediaWiki, Moodle, OS Commerce, phpMyAdmin und WordPress. Der WOS Mixer berechnet dabei nicht nur die Download-Grösse, sondern auch gleich den Speicherbedarf auf der Festplatte bzw. dem USB-Stick.

WOS gibt in zwei Versionen: Die Standardversion heisst WOS Portable und umfasst alles, was man als Einsteiger braucht. WOS X bietet erweiterte Konfigurationsmöglichkeiten sowie die Option, den Webserver über Internet zu steuern. Nachdem WOS X durch die Community für 1’000 Euro freigekauft wurde, sind nun beide Versionen unter der GNU GPL verfügbar.

Die Website von CH Software ist leider etwas unstrukturiert. Eine gute Einführung gibt es in diesem Wikipedia-Artikel, und für den Download laden Sie zunächst WOS Portable über den WOS-Mixer herunter und – falls gewünscht – anschliessend noch WOS X.

Ruby on Rails: Lokale Entwicklungsumgebung unter Mac OS X aufsetzen

Um Erfahrungen mit dem Open Source Framework Ruby on Rails unter Mac OS X zu sammeln, empfiehlt sich Locomotive. Damit wird die Installation so einfach wie bei einem ganz normalen Programm: Image-Datei herunterladen, als Volume mounten, Inhalt auf die Festplatte kopieren – fertig! Ab sofort hat man mit Locomotive eine übersichtliche grafische Benutzeroberfläche, um Rails-Applikationen zu erzeugen, zu starten, zu stoppen oder im Browser aufzurufen.

Für einen ersten Test legt man eine neue Rails-Applikation an (Applications > Create New…), startet sie (Run) und ruft sie anschliessend im Webbrowser auf (Applications > Preview in Browser). Jetzt sollte die Standard-Willkommensseite von Rails erscheinen: "Welcome aboard – You’re riding the Rails!"

Rails-Befehle führt man über das Terminal aus. Dabei ist es entscheidend, dass man nicht das Standard-Terminal benutzt, sondern dasjenige von Locomotive (Applications > Open Terminal). Was man zudem noch braucht, ist ein Editor, um die Ruby-Skripts zu bearbeiten: Ruby-on-Rails-Entwickler nutzen typischerweise den kostenpflichtigen TextMate, für den Anfang tut es aber auch jeder andere Editor, der zumindest ein Syntax-Highlighting für Ruby bietet (z.B. Smultron).

Locomotive installiert standardmässig eine SQLite-Datenbank. Allerdings lässt sich sehr einfach eine MySQL-Datenbank nachinstallieren – was aus zwei Gründen eine gute Idee ist: Erstens beziehen sich viele Anleitungen auf eine MySQL-Datenbank, und zweitens ist MySQL im produktiven Betrieb sowieso Standard. (Wie man MySQL und den grafischen Datenbank-Manager CocoaMySQL unter Mac OS X installiert.)

Abschliessend müssen Sie nur noch die Datenbank-Parameter in der Datei config/database.yml hinterlegen, damit Ihre Ruby-on-Rails-Applikation auch auf die Datenbank zugreifen kann. Als Adapter wählen Sie dabei "mysql", als host "localhost" – die übrigen Parameter erschliessen sich von selbst.

MySQL-Datenbank unter Mac OS X installieren

Wer datenbank-basierte Web-Applikationen entwickelt und dabei auf Open Source Software zurückgreift, benutzt in der Regel MySQL als Datenbank. Die Installation auf dem lokalen Mac war einst nicht ganz einfach (Marc Liyanage hat hier Pionierarbeit geleistet) – heute jedoch dauert es nur wenige Minuten, bis man einen MySQL-Server inklusive Datenbank-Manager mit grafischer Benutzeroberfläche installiert hat.

Schritt 1: MySQL-Datenbank-Server installieren

Alle erforderliche Software kann man in einem einzigen Paket von der MySQL-Website herunterladen. Entscheidend dabei ist, dass man aus der langen Liste die richtige Version auswählt:

  • Mac OS X Package Format (nur dieses Format enthält einen Mac OS X Installer)
  • Mac OS X Version und Prozessor-Typ (PowerPC oder Intel) beachten
  • Standard-Paket benutzen

Der Download besteht aus einer .dmg-Datei, die als Volume gemountet wird und insgesamt drei Installationsprogramme enthält:

Das erste Package mysql-standard-5.0.27-osx10.4-i686.pkg (dieser Dateiname ist versionsspezifisch und kann bei Ihnen abweichen) installiert den eigentlichen MySQL Datenbank-Server. Es handelt sich um einen ganz normalen Installationsprozess, wie ihn jeder Mac-Benutzer kennt.

Das zweite Package MySQLStartupItem.pkg installiert die Autostart-Funktion von MySQL. Sie benötigen diese nur, falls der Datenbank-Server beim Systemstart automatisch hochgefahren werden soll – andernfalls können sie MySQL jeweils manuell starten. Auch hier ist ein normaler Installer vorhanden, der keine besonderen Kenntnisse erfordert.

Die Datei MySQL.prefPane schliesslich installiert sich per Doppelklick in den Systemeinstellungen unter dem Apfelmenü. Damit kann der Datenbank-Server manuell gestartet und und gestoppt werden. Zudem kann hier die Autostart-Funktion aktiviert bzw. deaktivert werden.

Schritt 2: CocoaMySQL installieren

Um MySQL-Datenbanken zu managen empfiehlt sich ein Datenbank-Manager mit grafischer Benutzeroberfläche. Während unter Windows eine grosse Auswahl besteht, gibt es für Mac OS X nur ein einziges empfehlenswertes Open Source Tool: CocoaMySQL. Auch dieses Programm wird ganz normal installiert.

Um anschliessend den Datenbank-Manager mit dem Datenbank-Server zu verbinden, genügen die folgenden Parameter:

Host: localhost
User: root
Password: leer lassen

MySQL-Datenbanken backupen und migrieren mit MySQL Dumper

Wer einen MySQL-Datenbank-Server auf einem Shared Hosting Account benutzt, hat in aller Regel nur beschränkten Zugriff darauf. Das Sichern einer Datenbank in eine SQL-Datei zwecks Backup oder Migration ist dann schwierig, und dasselbe gilt für das Einlesen einer solchen Datei. Das Standard-Tool phpMyAdmin bietet zwar die Möglichkeit, Datenbanken zu exportieren und importieren, allerdings kastrieren viele Hoster diese Funktion durch die Beschränkung der zulässigen Dateigrösse. Ein anderer Weg führt über MySQL Frontends wie z.B. HeidiSQL, aber auch hier machen einem Timeouts und Sicherheitsmechanismen der Hoster das Leben schwer.

Eine ebenso einfache wie leistungsfähige Lösung für die oben geschilderten Probleme stellt MySQL Dumper dar. Das PHP-Skript sichert Datenbanken (oder einzelne Tabellen daraus) in platzsparende GZ-Archive und spielt sie auch wieder zurück. Backups können auch automatisiert durchgeführt, per E-Mail bestätigt und per FTP-Transfer ausgelagert werden. Das Skript überzeugt durch eine sehr übersichtliche Benutzeroberfläche und eine gepflegte Website mit detaillierten Screenshots plus einer deutschen Video-Einführung. MySQL Dumper untersteht der GNU General Public License. (Danke für den Tipp, Matthias!)

P.S. Ein weiteres Tool, das im Prinzip denselben Zweck erfüllt, ist phpMyBackupPro.

XAMPP jetzt auch für Mac OS X

XAMPP von Apache Friends – ein sehr einfach zu installierendes Paket aus Apache, MySQL, PHP und Perl – ist in der Version 1.5.5 für Windows und Linux verfügbar. Darin sind insbesondere MySQL 5.0.27, PHP 5.2.0 und phpMyAdmin 2.9.1 enthalten.

Neu ist die XAMPP-Distribution auch für Mac OS X verfügbar. Sie enthält unter anderem folgende Komponenten: Apache, MySQL, PHP & PEAR, SQLite, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl, eAccelerator, phpSQLiteAdmin. Das Ganze wird als Mac OS X Installer-Paket bereitgestellt. Voraussetzung ist allerdings Mac OS X 10.4 sowie ein Mac mit Intel-Prozessor. Zudem ist die Distribution noch nicht für den produktiven Einsatz vorgesehen:

“Diese XAMPP-Version befindet sich noch in der Entwicklungsphase. Benutzung auf eigene Gefahr!”

HeidiSQL: “Neues” Frontend für MySQL-Datenbanken

Das neue Open Source Frontend für MySQL-Datenbanken HeidiSQL ist der Nachfolger von MySQL Front. Letzteres wurde wegen Streitigkeiten mit  MySQL AB um die Namensrechte eingestellt – offenbar wollte der Entwickler keine Namensänderung vornehmen, um den Konflikt zu lösen. In der Folge hat Ansgar Becker – der MySQL Front ursprünglich entwickelt hatte – den Code der alten Version 2.5 aus dem Jahr 2002 als Open Source Projekt unter dem neuen Namen HeidiSQL freigegeben. Inzwischen wurde die Software bis zur Version 3.0 RC3 weiterentwickelt. Sie ist ausschliesslich für Windows verfügbar und untersteht der GNU General Public License (GPL).

Mehr zum Thema