CakePHP vs. Ruby on Rails – Teil 2: Runde 1 – Installation
Heute beginnt die 1. Runde im Schlagabtausch zwischen CakePHP und Ruby on Rails. Das Thema heute ist die Installation. Welches Framework lässt sich schneller, leichter und besser auf unserem Entwicklungsrechner installieren? Finden wir es heraus!
Ruby on Rails
Beginnen wir mit Ruby on Rails. Die Installation gestaltet sich hier erfreulicherweise einfach, denn vom blanken Computer zur Rails-Entwicklungsumgebung sind es nur wenige Schritte.
Nachdem sich bereits die Apple developer Tools auf unserem iMac befinden, brauchen wir uns nur die neuste Rails Version mittels
zu holen. Ist dies erledigt, sind wir nach zwei weiteren Befehlen schon mitten in unserer Anwendung:
rails runde1
cd runde1
script/server
Der Mongrel-Server startet seinen Dienst und wir können uns unter localhost:3000 das Ergebnis betrachten.
Natürlich bietet Ruby on Rails auch vorgefertigte Pakete mit Webserver, Datenbank und Rails. Dies sind unter OSX “Locomotive” und unter Windows “Instant Rails”. Generell lässt sich sagen, dass wenn erst einmal Ruby und RubyGems installiert sind, jegliche Rails Installation ein Kinderspiel darstellt.
CakePHP
Nun zu CakePHP. Hier finden wir aufgrund der Apple Developer Tools und OSX 10.5 schon eine fast idyllische Atmosphäre für CakePHP vor. Nach dem Download des aktuelles Releases erstellen wir in unserem Sites-Verzeichnis einen Ordner cake-runde1 und kopieren den Inhalt des Packagereleases hinein. Nun sollten wir eigentlich über localhost/~username/cake-runde1 die CakePHP Startseite sehen, doch stattdessen heißt es zuerst nur:
Wie sich herausstellt, gibt es beim vorkonfigurierten Apache des Macs ein kleines Problem mit dem mod-rewrite, dass sich allerdings durch die Modifikation der .htaccess Dateien von Cake lösen lässt. Mittels
in allen drei .htaccess Dateien (root, app, und app/webroot) lässt sich die fehlerhafte mod-rewrite Weiterleitung korrigieren. Nun grüßt uns die CakePHP Startseite mit ein paar gelben Balken, die uns auf mögliche Propleme hinweisen. In unserem Fall sind dies:
- Notice (1024): Please change the value of ‘Security.salt’ in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 522]
- Your tmp directory is NOT writable.
- Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
Diese “Warnungen” sind allerdings leicht zu beheben und sind eher als Hinweise zu verstehen, was noch zu tun ist, um einen reibungslosen Ablauf bei der Arbeit mit CakePHP zu ermöglichen. Windows User dürften hier weniger Fehler sehen, da es dort nicht zu nicht-beschreibbaren Ordnern kommen sollte.
CakePHP bietet nicht wie Ruby on Rails die Möglichkeit, ein komplettes Paket (Webserver, Datenbank, Framework) downzuloaden, allerdings machen es die vielen guten Apache+MySQL+PHP Bundles im Netz leicht, CakePHP zu installieren. Ich empfehle hier das Xampp Paket von www.apachefriends.org, was einen leichten Einstieg ermöglicht.
Die Punktevergabe:
Die Installation ist immer die erste Hürde, die bei Frameworks genommen werden muss. Hierbei stellen sich beide Frameworks nirgendwo wirklich quer, alles verläuft meistens problemlos. Und sollte doch einmal ein Problem auftreten, kann man sich der Hilfe der Community sicher sein. Rails hat durch die mächtigen RubyGems allerdings ein wenig die Nase vorn, dafür muss man mit Ruby, RubyGems und Rails auch mehr installieren. Bei CakePHP kommt die manchmal auftretende Problematik mit dem Apache mod-rewrite Modul zum Tragen, daher geht diese Runde an:
Ruby on Rails
Damit steht es (wie sollte es nach einer Runde auch anders sein):
CakePHP 0 : 1 Ruby on Rails
Eine Anmerkung dazu: Hierbei geht es natürlich nur um die Installation auf dem Entwicklungsrechner. Das finale Bereitstellen auf dem Server wird später näher beleuchtet.
In der nächsten Runde erfahren wir mehr zu:
Runde 2 – Die Basis: Ruby oder PHP
Kategorie: Cake vs Rails | 2 Kommentare »
Veröffentlicht am Dienstag, den 24. Juni 2008 um 09:51 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
