Installation auf Mac: Apache, Adobe Coldfusion und Railo
Mit dem Wechsel unserer Entwicklungsumgebung auf den Mac mit OSX hat sich eine neue Herausforderung ergeben: Wie bringen wir Apache, Adobe ColdFusion und die OpenSource-Variante von Railo zusammen mit Apache zum Laufen?
Apache
Als Betriebssystem ist bereits Snow Leopard vorinstalliert und dies enthält auch schon den Apache Webserver. Für den Standard-User ist er lediglich ausgeschaltet und muss ganz einfach über die Systemeinstellungen aktiviert werden (Systemeinstellungen » Freigaben » Webfreigabe anhaken).

Adobe ColdFusion
Die Einrichtung von Adobe ColdFusion 9.0 geht sehr einfach von statten. Lediglich herunterladen und das DMG-File ausführen. Die Installation muss als Multi-Server erfolgen und es muss «keine weiteren Adobe Server vorhanden» ausgewählt werden.
Railo
Leider gibt es für Railo auf Mac noch keinen fixfertigen Installer bei Vivio Technologies. Und so ist gute alte Handarbeit gefragt. Eine sehr gute Beschreibung zur Installation von Railo auf Mac OS X findet sich hier: http://www.cjboco.com/blog.cfm/post/installing-railo-3-1-on-mac-os-x-10-5-leopard. Für Snow Leopard (10.6) funktioniert die Installation leicht anders, die notwendigen Schritte sind hier deshalb nochmals aufgeführt:
1. Railo-Paket herunterladen
Für unsere Installation benötigen wir die "Railo Server"-Version von der Railo-Download-Seite. Nach dem Entpacken kopieren wir das Verzeichnis in den Applications-Ordner und bennen kürzen die Bezeichnung, damit die weiteren Schritte ohne Schreibfehler asugeführt werden. Nennen wird den Ordner der Einfachheit halber doch einfach "railo". Bei dieser Gelegenheit können wir gleich unbenötigte Dateien und Ordner entfernen: die Verzeichnisse "win32" und "win64" sowie die Files httpd.exe und setup.exe – wir werden sie nicht brauchen, keine Sorge.
2. Modul für Apache kompilieren
Der Connector für Apache muss zuerst erstellt werden. Dafür wird XCode benötigt, respektive muss auf dem System installiert sein. Wichtig bei der XCode-Installation ist das Mac OS X 10.4 SDK. Ohne diese Erweiterungen lassen sich die nächsten Schritte nicht korrekt durchführen.

Wir starten das Terminal und geben folgende Zeilen ein:
2./configure --enable-64- --with-apxs=/usr/sbin/apxs --with-java-home=/System/Library/Frameworks/JavaVM.framework/Home
Im Terminal sollte nun folgende Meldung erscheinen, wenn der Prozess abgeschlossen ist:
2config.status: creating Makefile
3config.status: creating modules/c/src/Makefile
4config.status: creating modules/c/src/common/Makefile
5config.status: creating modules/c/src/apache1/Makefile
6config.status: creating modules/c/src/apache2/Makefile
7config.status: creating modules/c/src/resin_os/Makefile
8config.status: creating contrib/init.resin
9config.status: executing depfiles commands
An diesem Punkt merken wir auch gleich, ob wir bei der XCode-Installation auch wirklich das 10.4 SDK installiert haben. Ist dies nämlich nicht der Fall, erhalten wir folgende Mitteilung in der Konsole:
2See `config.log' for more details.
In diesem Fall installieren wir XCode neu – siehe oben. Wir gehen aber davon aus, dass alles wie am Schnürchen geklappt hat und fahren mit der Installation fort. Und zwar registrieren wir nun das Modul beim Apache:
2sudo make install
So, die wichtigsten Schritte sind abgeschlossen, wir können zum gemütlichen Teil übergehen.
Railo starten
Versuchen wir nun, unsere Früchte zu ernten und testen die frische Installation. Als erstes empfiehlt es sich, den Apache neu zu starten. Vorsichtige Naturen testen zuerst die Apache-Konfiguration:
Als Ergebnis sollten wir "Syntax OK" zu hören bekommen. Das würde uns ermutigen, die weiteren Schritte zu unternehmen, nämlich den Webserver anzuwerfen:
Jetzt ist Railo an der Reihe, sprich wir starten den Resin-Server:
Wenn alles mit rechten Dingen zu und her gegangen ist, meldet das Terminal mit die Bereitschaft von Railo/Resin mit folgenden Zeilen:
2WEB CONTEXT
3-------------------------------------------------------------------
4- config:/Applications/railo/webapps/resin-doc/WEB-INF/railo
5- webroot:/Applications/railo/webapps/resin-doc/
6===================================================================
7
8[07:53:09.394] {main} Host[] active
9[07:53:09.423] {main} hmux listening to 127.0.0.1:6800
10[07:53:09.427] {main} http listening to *:8600
11[07:53:09.431] {main} Server[id=,cluster=app-tier] active
12[07:53:09.460] {main} Resin started in 7881ms
In diesem Fall erreichen wir die Administrations-Umgebung von Railo mit dem Aufruf von:
Konnte der Resin-Server nicht korrekt gestartet werden, liegt dies vermutlich an der Installation von Java. Eine kleine Änderung des Startskripts "/Applications/railo/bin/httpd.sh" kann dabei Wunder bewirken. Ich verwende diese Version der Datei, was tadellos funktioniert:
2#
3# See contrib/init.resin for /etc/rc.d/init.d startup script
4#
5# resin.sh can be called like apachectl
6#
7# resin.sh -- execs resin in the foreground
8# resin.sh start -- starts resin in the background
9# resin.sh stop -- stops resin
10# resin.sh restart -- restarts resin
11#
12# resin.sh will return a status code if the wrapper detects an error, but
13# some errors, like bind exceptions or Java errors, are not detected.
14#
15# To install, you'll need to configure JAVA_HOME and RESIN_HOME and
16# copy contrib/init.resin to /etc/rc.d/init.d/resin. Then
17# use "unix# /sbin/chkconfig resin on"
18
19java=java
20
21script=`/bin/ls -l $0 | awk '{ print $NF; }'`
22
23while test -h "$script"
24do
25script=`/bin/ls -l $script | awk '{ print $NF; }'`
26done
27
28bin=`dirname $script`
29
30exec $java -jar $bin/../lib/resin.jar $*
Das wärs, grundsätzlich.
Paralleler Betrieb verschiedener CFML-Server
Was genau nötig ist, um die beiden CFML-Server parallel zu aktivieren beschreibe ich in einem separaten Blogeintrag.