Dieses How-To könnte Euch einiges an Arbeit sparen, ich zeige Schritt für Schritt auf, wie man einen Railo-Server mit Resin unter Ubuntu aufsetzt, cfm kann dann über Port 8600 ausgeliefert werden, außerdem konfigurieren wir den Apachen für die CFML-Auslieferung.
Please note: version in english is here
Ich gehe von einem minimal installiertem Ubuntu-System aus. Als erstes benötigt man das Paket build-essential, das uns die grundlegenden Tools für das Kompilieren zur Verfügung stellt, außerdem brauchen wir noch wget, Java und einige Komponenten (zum Beispiel apxs2), die beim normalen Apache nicht beiliegen, deswegen würde ich zu Beginn empfehlen:
sudo apt-get install build-essential
sudo apt-get install apache2 sun-java6-jdk
sudo apt-get install wget
sudo apt-get install apache2-threaded-dev
Geht nun auf http://www.getrailo.org/index.cfm/download/ und holt Euch die aktuelle Version vom Railo Server (all OS Version ohne JRE).
In meinem Fall war das heute:
wget http://www.getrailo.org/down.cfm?item=/railo/remote/download/3.1.2.001/server/all/railo-3.1.2.001-resin-without-jre.tar.gz
Verschiebt den Downlaod nach /opt/ und entpackt den Tarball dort:
mv railo-3.1.2.001-resin-without-jre.tar.gz /opt/.
tar -xvzf railo-3.1.2.001-resin-without-jre.tar.gz
Nun könnt Ihr einen Symlink einrichten und den User anpassen, um das Handling zu erleichtern:
sudo ln -s railo-3.1.2.001-resin-without-jre railo
sudo chown -R username railo
So, nun sollte Railo und Resin bereits fertig installiert sein, startet das Shellscript
./opt/railo/bin/httpd.sh
Dann solltet Ihr in der Konsole bereits die Ausgaben sehen. Als Hintergrundprozess laufen lassen könnt Ihr Railo/Resin mit
./opt/railo/bin/httpd.sh &
Damit läuft der Dienst auch weiter, wenn die Konsole wieder geschlossen wird. Wenn Ihr nun im Browser die URL http://domain.de:8600 aufruft, dann sollte bereits die Testseite mit Link zum Railo-Admin erscheinen.
Nun lassen wir den Apache noch cfml ausliefern, macht bitte als root Folgendes:
cd /opt/railo
sudo ./configure --with-apxs=/usr/bin/apxs2
sudo make
sudo make install
Achtung: sollte das so nicht fuktionieren und Fehler beim configure oder make auftauchen, dann ist das Makefile.in aus der Distribution nicht korrekt. In diesem fall geht Ihr nach /opt/railo/ und sichert Euch die Makefile.in weg, umbenennen in Makefile.in.bak und benennt Euch die Makefile.am um in Makefile.in
root@blabla:/opt/railo# mv Makefile.in Makefile.in.bak
root@blabla:/opt/railo# mv Makefile.am Makefile.in
Danach in /opt/railo/ ein make clean in der Konsole ausführen und das configure, make und make install von oben nochmals durchführen, es wird nun problemlos durchlaufen.
Nun muss der Apache neu gestartet werden:
sudo /etc/init.d/apache2 restart
Nun solltet Ihr den Railo-Administrator auch unter http://domain.de/railo-context/admin/web.cfm aufrufen können, CFML wird also auch vom Apachen ausgeliefert. Unter der URL http://domain.de/caucho-status seht Ihr die Informationen zum Mod Caucho.
Jetzt werden wir die Apache-Config und die Resin-Config anpassen, um multiple Hosts definieren zu können, anhand des nachstehenden Beispiels könnt Ihr vorgehen:
less /etc/apache2/sites-available/default
Hier definiert Ihr nun einen weiteren Virtual Host:
<VirtualHost *:80>
ServerName playgroundcfml.hetzner.de
ServerAdmin webmaster@localhost
DocumentRoot /var/www/playground/
<Directory /var/www/playground/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
Apache wiederum restarten nach dieser Änderung ( /etc/init.d/apache2 restart), wenn Ihr Euch dann einen entsprechenden Eintrag in Eure lokale Hosts gmacht habt, sollte das mit HTML-Files bereits klappen. Nun gleichen wir die Resin-Konfiguration noch an:
less /opt/railo/conf/resin.conf
Hier sucht Ihr am besten nach dem bereits definierten host, der so beginnt:
<!-- configures the default host, matching any host name -->
<host id="" root-directory=".">
Nach dem schließendem </host> dieser Definition fügt Ihr Euren neuen Eintrag hinzu:
<host id="playgroundcfml.hetzner.de">
<root-directory>/var/www/playground</root-directory>
<web-app id="/">
<document-directory></document-directory>
</web-app>
</host>
Wichtig ist desweiteren, dass der Port im nachstehenden Tag passt, denn dort wird festgelegt, wie der Apache Webserver mit dem Resin-Server spricht:
<!-- define the servers in the cluster -->
<server id="" address="127.0.0.1" port="6800">
</code>
Resin sollte die Änderung der Config automatisch bemerken und sich selber restarten, danach seid Ihr auch in der Lage, CFML direkt für diese Vhost-Definition auszuführen. Viel Spass damit, ich hoffe, diese Anleitung hat Euch etwas Zeit gespart.