Zoals beloofd het vervolg over mijn installatie van een goede ontwikkelomgeving, waarin ik met meerdere servers kan testen.
In deel 1 beschreef ik al de installatie van Adobe Coldfusion, in dit deel gaan we daar Railo aan toevoegen. Ik gebruik hiervoor Tomcat als Java server.
De truc is, om in de Apache configuratie per virual host aan te geven welke server gebruikt dient te worden.
De benodige Sun Java versie hadden we in deel 1 al geinstalleerd, deze is dus al aanwezig. Dan is de eerste stap om Tomcat te installeren.
Tomcat
Download eerst de benodigde versie van Tomcat. Momenteel is dat 6.0.20. Deze pak je dan uit in een tijdelijke directory.
wget http://apache.hoxt.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
tar xvzf apache-tomcat-6.0.20.tar.gz
Daarna verplaatsen we hem naar een permanente lokatie, en met een naam zonder het versie nummer erin. Ik gebruik zelf altijd de OPT directory voor alle te installeren pakketten.
sudo mv apache-tomcat-6.0.20 /opt/tomcat
Nu wil ik ervoor zorgen dat Tomcat automatisch wordt opgestart, dus een startup script is noodzakelijk:
sudo gedit /etc/init.d/tomcat
Het volgende script heb ik van het internet, deze plak je in het net aangemaakte bestand.
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
sh /opt/tomcat/bin/startup.sh
;;
stop)
sh /opt/tomcat/bin/shutdown.sh
;;
restart)
sh /opt/tomcat/bin/shutdown.sh
sh /opt/tomcat/bin/startup.sh
;;
esac
exit 0
Nu nog dit script de goede rechten geven en een symbolic link aanmaken:
sudo chmod 755 /etc/init.d/tomcat
sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
Tomcat is nu geinstalleerd en klaar om Railo te ondersteunen!
Railo
Als eerste download je de Railo Custom versie, en kopieer je deze bestanden naar de Tomcat lib directory.
wget http://www.getrailo.org/down.cfm?item=/railo/remote/download/3.1.2.001/custom/all/railo-3.1.2.001-jars.tar.gz
tar zxvf railo-3.1.2.001-jars.tar.gz
sudo mv railo-3.1.2.001-jars/* /opt/tomcat/lib
De volgende stap is om Railo en Tomcat samen te laten werken.
Eerst passen we de web.xml file van Tomcat aan, om te vertellen dat hij Coldfusion pagina's kan serveren:
sudo gedit /opt/tomcat/conf/web.xml
Binnen het web-app element plak je de volgende code:
<servlet>
<servlet-name>CFMLServlet</servlet-name>
<servlet-class>railo.loader.servlet.CFMLServlet</servlet-class>
<init-param>
<param-name>configuration</param-name>
<param-value>{web-root-directory}/WEB-INF/railo/</param-value>
<description>Configuraton 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>
En in de welcome-file list de volgende regels:
<welcome-file>index.cfm</welcome-file>
<welcome-file>index.cfml</welcome-file>
Nu weet Tomcat van het bestaan van Railo en voor welke bestanden hij Railo kan gebruiken.
Apache en Tomcat
Als laatste dan moeten we Apache en Tomcat samen laten werken, en per site aan kunnen geven of deze gebruik maakt van Adobe CF of van Railo.
Apache heeft een extra module nodig voor Tomcat dus deze installeren we als eerste:
sudo apt-get install libapache2-mod-jk
Om aan te geven dat Apache met Tomcat moet samen werken maken we een bestand aan dat workers.properties heet en de informatie voor de connector bevat.
sudo gedit /etc/apache2/workers.properties
Plak hier de volgende inhoud in:
worker.list=default
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1
Dan moeten we aan Apache vertellen deze file in te lezen, door de volgende regels toe te voegen aan httpd.conf:
# Mod_jk settings
JkWorkersFile workers.properties
Virtual host
Nu zijn we klaar om de virtuele host in Apache aan te maken. Voor iedere virtuele host in Apache maken we ook een site aan in Tomcat:
sudo gedit /opt/tomcat/conf/server.xml
De site definieren we als volgt:
<Host name="www.jeeigensite.nl" appBase="webapps">
<Context path="" docBase="/var/www/www.jeeigensite.nl"/>
</Host>
Hierbij vul je dus bij Host name de hostname in van je nieuwe host. De appBase blijft altijd webapps. Bij context dien je alleen de docBase aan te passen naar de directory van je site, meestal in de /var/www directory.
Dan in Apache een virtual host aanmaken:
sudo gedit /etc/apache2/sites-available/localhost.railo
Hierin plak je de volgende regels:
<VirtualHost *:80>
ServerName www.jeeigensite.nl
DirectoryIndex index.cfm index.html
DocumentRoot "/var/www/www.jeeigensite.nl"
<Directory /var/www/www.jeiegensite.nl>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
JkMount /*.cfm* default
</VirtualHost>
Hierbij de ServerName en de DocumentRoot weer aanpassen met je eigen gegevens.
Ook deze site moeten we weer activeren:
$ sudo a2ensite localhost.railo
Nu twee servers herstarten en klaar:
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/tomcat restart
Als alles goed is gegaan dan kan je nu de Railo admin benaderen op de volgende URL;
http://www.jeiegensite.nl/railo-context/admin/web.cfm
Dat was het! Nu kan je je eigen virtual hosts aanmaken en aangeven van welke CF server ze gebruik moeten maken!
Veel succes!






