Installation auf Mac: Apache, Adobe Coldfusion und Railo

2 Kommentare
Christian Hojas, Senior Webapplication-Entwickler

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).

Im Dialog-Fenster der Systemeinstellungen wird die Webfreigabe erstellt.

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.

Bei der XCode Installation muss das 10.4 SDK ausgewählt sein

Wir starten das Terminal und geben folgende Zeilen ein:

1cd /Applications/railo
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:

1configure: creating ./config.status
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:

1configure: error: no acceptable C compiler found in $PATH
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:

1make
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:

1sudo /usr/sbin/apachectl configtest

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:

1sudo /usr/sbin/apachectl restart

Jetzt ist Railo an der Reihe, sprich wir starten den Resin-Server:

1/Applications/railo/bin/httpd.sh

Wenn alles mit rechten Dingen zu und her gegangen ist, meldet das Terminal mit die Bereitschaft von Railo/Resin mit folgenden Zeilen:

1===================================================================
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:

1http://127.0.0.1/index.cfm

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:

1#! /bin/sh
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.

neuen Kommentar erstellen

Reinhard Jung's Gravatar
Cool!
Ich habe das gleiche Problem. Vor allem was ich wenn der Apache nicht (mehr) default installiert ist? etc. etc. Ich bin dabei ein Buch über ColdFusion zu schreiben. Nicht so welche die es eh schon gibt und da gehört sowas mit rein. Freue mich auf die weiteren Einträge diesbezüglich.
Reinhard Jung, am 23. Januar 2010 um 14:35 Uhr
Mischa Sameli's Gravatar
@Reinhard: Man kann Apache deinstallieren auf dem Mac? Ich hoffe mal, das hat nicht den gleichen Effekt wie IE auf Windows wegzuputzen :-)
Spannend, die Geschichte mit dem Buch. Auf der einen Seite ist man immer auf der Suche nach schlauen Büchern, auf der anderen ist der Inhalt immer so schnell veraltet, dass man dann doch wieder auf Blogs ausweicht. Und trotzdem: was in Büchern steht, muss ja stimmen. Habe mir das auch schon überlegt, habe den Gedanken aber immer wieder fallen gelassen. Bin aber auf jeden Fall gespannt auf dein Elaborat.
Mischa Sameli, am 25. Januar 2010 um 06:54 Uhr
Bitte lassen Sie dieses Feld leer
Kommentar hinzufügen


Bitte lassen Sie dieses Feld leer
Beitrag als E-Mail verschicken
E-Mail via Webmail versenden

Schön, dass Ihnen unser Beitrag gefallen hat. Benutzen Sie folgende Social Networking Dienste, um den Beitrag abzulegen und zu verteilen. Selbstverstädlich können Sie ein direktes Lesezeichen auf diesen Artikel setzen.