Category: Railo 2.0

Verzeichnis auflisten mit Railo / Resin

Verzeichnise aufzulisten ist in produktiven Umgebungen aus Sicherheitsgründen nicht zu empfehlen. Auf einer Entwicklungsumgebung aber recht nützlich.
Railo wird gebundelt mit Resin angeboten, deshalb hier kurz die Anleitung wie in Resin das Directory Listing aktiviert werden kann.

1. Sucht die Datei resin.conf in eurem Installationsordner
2. Öffnet diese mit einem Texteditor
3. Sucht den Knoten <web-app-default>
4. Unter diese Knoten platziert ihr folgendes:

<servlet servlet-name="directory"
           servlet-class="com.caucho.servlets.DirectoryServlet"/>

Jetzt startet ihr euren Server neu und fertig - Directory Listing erlaubt.

Viel Spass

Installation von Fusionreactor auf JBoss 4.2.2GA / Railo 3.x

Ich baue mir gerade ein neues System zum Testen auf, das aus folgenden Komponenten bestehen soll:

1.  JBoss 4.2.2GA Application Server
2. Railo 3.0.3
3.  FusionReactor (http://www.fusion-reactor.com/fr/)

Im ersten Schritt erstelle ich mir zuerst einmal ein Railo Grundsystem. Wie das funktioniert könnt Ihr in einem älteren Blog Eintrag von mir nachlesen (oder ansehen) - http://myrailo.solutionbuilder.de/?p=35 od. http://myrailo.solutionbuilder.de/?p=7.

Abweichend von den o.g. Blog Links verwende ich für meinen Test keinen Apache Server. Ich verwende den internen HTTP Connector von JBOSS auf dem Port 8080.

Nachdem das Grundsystem installiert ist kann man mit der Installation von Fusionreactor beginnen.
Dazu wird im ersten Schritt die Datei fusionreactor.jar aus dem Fusionreactor Installationordner (FusionReactor\etc\lib) in den JBoss Ordner kopiert. Wenn Ihr - so wie ich - JBOSS ausschließlich für RAILO verwendet könnt Ihr die Datei fusionreactor.jar in den Ordner {JBOSS_HOME}/lib kopieren. Wenn Ihr nur eine bestimmte Serverinstanz mit Fusionreactor versorgen wollt, müsst Ihr die fusionreactor.jar Datei nach {JBOSS_HOME}/server/<INSTANZNAME>/lib kopieren.

Jetzt können wir den Filter in der web.xml Datei anpassen. Öffnet die Standard Webdescription Datei web.xml der entsprechenden Serverinstanz unter {JBOSS_HOME}\server\<INSTANZNAME>\deploy\jboss-web.deployer\conf \web.xml

Fügt nun in dieser Datei ganz oben in der Datei folgende filter ein:

web.xml

Beachtet dabei die Zeilen:
<param-name>config</param-name>
<param-value>C:/FusionReactor/instance/default/conf/reactor.conf</param-value>

Erstellt auf eurem System ein Verzeichnis in dem die Fusion Reactor Konfiguration (reactor.conf) abgelegt wird und passt den Pfad in der web.xml Datei entsprechend an. Kopiert aus dem FusionReactor Installationsordner die reactor.conf Datei in dieses Verzeichnis.

 Jetzt fehlen nur noch die native libraries. Ich habe für meinen Test eine Windows Kiste. Lt. Installationsanleitung von Fusionreactor muss nur noch die Datei Fusionreactor.dll aus dem Fusionreactor Installationsordner unter etc\lib in das Verzeichnis {JBOSS_HOME}/bin kopiert werden. Eine Auflistung der Applikationsserver - spezifischen Pfade ist in der Installationsanleitung von Fusionreactor enthalten.

Das wars. Wenn kein Fehler auftritt ist Fusionreactor unter http://localhost:8088/ erreichbar.
Das Standardpasswort ist: admin.

Installation Railo JARs in Jetty

jetzt kommt mein letzter Post zum Thema Railo JARs. Diesmal für den Server Jetty.

Beim Startup des Jetty Servers werden standardmäßig alle JARs aus dem Folder
{jetty.home}/lib geladen. Wer die Railo JARs getrennt von den Default Libarys
ablegen will, kann zwischen 2 Methoden auswählen.

1. Ablage der Dateien in einem Folder unterhalb von {jetty.home}/lib/ext, da
das Verzeichnis {jetty.home}/lib/ext rekursiv durchsucht und geladen wird, oder

2. Ablage der Dateien an einen beliebigen Ort, und Aufnahme des Pfades in das Startscript von Jetty.
(vgl. http://docs.codehaus.org/display/JETTY/A+look+at+the+start.jar+mechanism)

Der Inhalt des Startscriptes müsste dann etwa so aussehen:
java -Djetty.class.path=“/usr/local/jetty/railo-3.0.1.005-jars” -jar start.jar

Grüsse
Markus

Installation Railo JARs in JBOSS

Ich möchte hier an meinen  Blog Eintrag zum Thema Railo-JARs in Tomcat anknüpfen und mich
bei Jamie Krug für seine Hinweise bedanken.

Wenn man unter JBOSS die RAILO JAR Files getrennt vom bestehenden Lib Ordner ausgliedern möchte muss man eine Einstellung in der Datei:
{JBOSS}/server/{instanz-name}/conf/jboss-service.xml vornehmen.

Es muss einfach ein weiterer Classpath Eintrag wie im nachfolgenden Bild dargestellt eingetragen werden.
Dieser Classpath Eintrag zeigt auf den Order, der die RAILO Jars enthält.

jboss_libs_railo

 

Grüsse
Markus

Installation Railo JARs in Tomcat

Im Blog von Garry Gilbert ist ein sehr schönes Tutorial zum Thema Railo Installation mit SUSE und Tomcat.

In einem der Schritte müssen die Railo JAR Files in das /usr/local/tomcat/lib Verzeichnis gelegt werden.
Das funktioniert natürlich - hat jedoch die Nebenwirkung das man danach nicht mehr weiss, welches File zum Tomcat Core gehört und welche Files nachträglich hinzugefügt worden sind.

Wer also hier eine bessere Übersichtlichkeit haben will kann in der Datei /usr/local/tomcat/conf/catalina.properties ein entsprechendes Verzeichnis angeben.

In meinem Beispiel habe ich einfach die Railo Jar Files unter usr/local/tomcat/railo-3.0.2.001/ abgelegt.

common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/railo-3.0.2.001-jars,${catalina.home}/railo-3.0.2.001-jars/*.jar

Gruß
Markus

Railo Servlet Params (Tomcat 6)

Sicherlich gibt es den ein oder anderen Anwender, der in seinenen CFML-Anwendungen gerne auf die Existenz des WEB-INF Folder verzichten möchte.

In der Eile kann es doch recht schnell einmal passieren, aus Versehen den WEB-INF Folder zu löschen. Und schon sind die gesamten Einstellungen des Railo-Web Admins verloren.

Es gibt einen sehr schönen Weg über die Servlet Params den Ablageort des Railo Server sowie der Railo-Web-Contexts zu bestimmen.

Aktuell versuche ich mich gerade an Tomcat 6 - deswegen ist das nachfolgende Beispiel auf die web.xml Datei von Tomcat sowie JBOSS zugeschnitten. 

Im meinem Tomcat Installationsorder unter /usr/local/tomcat/conf befindet sich die Datei web.xml mit folgendem Inhalt:

 <!– ================== RAILO 3 Servlet Definitions ==================== –>
<servlet>
     <servlet-name>CFMLServlet</servlet-name>
     <servlet-class>railo.loader.servlet.CFMLServlet</servlet-class>
     <init-param>
         <param-name>railo-server-directory</param-name>
         <param-value>/usr/local/tomcat/railo-server-config</param-value>
        <description>Configuraton directory</description>
     </init-param>
     <init-param>
         <param-name>configuration</param-name>
         <param-value>/usr/local/tomcat/railo-web-config/{web-context-hash}</param-value>
         <description>Railo Web Directory directory</description>
      </init-param>
      <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
      <servlet-name>CFMLServlet</servlet-name>
     <url-pattern>*.cfm</url-pattern>
</servlet-mapping>
<servlet-mapping>
     <servlet-name>CFMLServlet</servlet-name>
     <url-pattern>*.cfml</url-pattern>
</servlet-mapping>
<servlet-mapping>
     <servlet-name>CFMLServlet</servlet-name>
     <url-pattern>*.cfc</url-pattern>
</servlet-mapping>

Mit dem Pfad den ich für den param-name railo-server-directory definiert habe gebe ich an, wo die Einstellungen und Dateien des Railo Server Administrators abgelegt werden.

Mit dem Pfad den ich für den param-name configuration definiert habe gebe ich an, wo die Einstellungen und Dateien des entsprechenden Web-Contexts abgelegt werden.

Hier ist die PlaceHolder {web-context-hash} zu beachten. Railo weist intern jedem Webcontext einen Hash-Wert zu und erstellt dafür ein eigenes Verzeichnis.

Für das aufgezeigte Beispiel erstellt Railo folgende Verzeichnisstruktur. Sehr schön auf dem Bild zu sehen ist meine AppBase mit 2 WebApps und den entsprechenden Konfigurationsverzeichnissen dazu.

Einen kleinen Nachteil hat die Konfiguration. Ein paar Images, die z.B. für den CFDUMP Tag und in den Debuggings verwendet werden, fehlen. Mich störts nicht, aber ich möchte es erwähnt haben ;)

Grüsse
Markus

Railo - Dokumentation der Servereinstellungen

Hallo,

für die Erstellung eines Betriebshandbuches meines Railo Servers musste ich die Einstellungen im Web Admin erfassen. Da ich in Zukunft nicht nur einen, sondern gleich eine ganze Railo Farm betreuen werde, habe ich mir die Arbeit etwas erleichtert und ein XSLT geschrieben, dass mir die Settings ausgibt. Bis auf den Bereich Mappings werden alle Einstellungen ausgegeben. Wenn ich mal etwas mehr Zeit habe hole ich das nach und ergänze die XSL-Datei

Die Railo Settings werden gespeichert in der Datei railo-web.xml.cfm. Holt euch die Datei oder die Dateien aus den entsprechenden Webs und legt darüber das XSLT. Das könnt Ihr mit gängingen XML Tools machen, wie z.B. Altova XMLSpy oder schreibt euch ein kleines CF-Skript.

Download railo-configuration.xsl

Viel Spass damit!

Railo Root Anwendung einrichten (JBOSS,Apache)

Hallo,

folgende Ausgangssituation:
- JBOSS Server 4.2.2, Railo
- Apache Server
- Verbunden über mod_jk

In JBoss habt Ihr mehrere Anwendungen am laufen. Jede dieser läuft in einem eigenen Context, z.b. /app1, /app2, /app3 (jboss-web.deployer/server.xml)

Im Apache habt Ihr eine URL eingetragen, z.b. www.mycompany.de

Wenn Ihr im Apache einen JKMount /* eintragt werden alle Anfrage von Apache an JBoss weitergeleitet, d.h. Eure Webanwendungen haben dann folgende URLs:

www.mycompany.de/app1
www.mycompany.de/app2
www.mycompany.de/app3

Vielleicht wollt Ihr eine eurer Anwendungen als Root Application einrichten, d.h. diese soll direkt unter www.company.de antworten. Um das zu tun müsst Ihr folgendes tun:

1. Editiert euren Contexteintrag für die entsprechende Anwendung - je nachdem wo Ihr
diesen definiert habt (web.xml, server.xml) In meinem Beispiel habe ich den Contexteintrag in der Datei %JBOSS_HOME%/server/%config%/deploy/jboss-web.deployer/server.xml definiert.

Vorher:
<Context path=”/app1″ docBase=”/home/portal”/>

Nachher:
<Context path=”" docBase=”/home/portal”/>

2.  Entfernt den Ordner ROOT.war im Verzeichnis
%JBOSS_HOME%/server/%config%/deploy/jboss-web.deployer/

3. Fertig
unter www.mycompany.de ist jetzt eure app1 erreichbar.

Happy Coding
Markus

Install u. Config Railo 3, JBoss, Apache auf Windows 2003 (Multi-Context)

Hallo,
das Thema habe ich endlich hinter mich gebracht.

Die Installation von Railo mit mehreren Web-Contexts unter JBoss hat mich ein paar Wochen Nerven und intensive Recherche gekostet.

Weil das sicherlich einige von euch interessiert habe ich ein erstes Video gemacht.
Seid nachsichtig mit meinen didaktischen Fähigkeiten.  :)

Die benötigten Konfigurationsabschnitte, wie im Video von mir angesprochen gibts hier.
Config-files.

Have fun
Markus

Railo Deployment Verzeichnis ändern

Um Railo in JBoss zu installieren, habt Ihr ein WAR File (gepackt oder exploded)  in das deploy Verzeichnis kopiert (Bsp. C:\JBOSS\servers\default\deploy). Die Railo Anwendungen liegen dann noch etwas tiefer. Bei mir sieht das so aus –> C:\jboss\server\default\deploy\railo.ear\railo.war\app1\helloworld.cfm

Ich persönlich möchte gerne meine Railo Anwendung komplett aus dem JBOSS Installationsordner in das Verzeichnis c:\MYRAILO\ ausgliedern: Dafür gibt es zwei mögliche Lösungsvarianten:

1. Symlinks oder
2. den Deployordner ändern.

Die erste Variante sollte unter Linux selbsterklärend sein.  Unter Windows könnt ihr das Tool Junction aus den SYSINTERNAL-Tools dazu verwenden (http://technet.microsoft.com/de-de/sysinternals/bb896768.aspx)

Um den Deployordner zu ändern geht bitte in das Verzeichnis %JBOSS_HOME\servers\default\conf und öffnet die Datei jboss-service.xml. Ziemlich am Ende der Datei gibt es einen Tag der so aussieht.

<attribute name=”URLs”>
deploy/
</attribute>

Dort könnt Ihr euer Verzeichnis eintragen, in dem eure Webanwendungen deployed werden können.

<attribute name="URLs">
         deploy/,file:///c:/MYRAILO/
</attribute>	

Have fun
Markus