Deployment Testing

Blog Post created by wabson Employee on Feb 1, 2008
One of the things we've improved massively in the forthcoming 2.2 release of Alfresco is the configuration and management of deployment targets. I've been playing around with this the last couple of days, using VMware to provide a couple of target hosts for testing.


The file system deployer is really easy to set up - if you have Java already installed on the system then it's just a matter of unzipping the deployer package, chmod'ing the shell script and firing it up. This starts a lightweight background Java process which listens via RMI for incoming connections from the authoring server.

I had a couple of issues myself, probably more related to my environment than anything else. Firstly I had to disable IPv6 on the target host, since it was causing the receiver to bind using only this and not using IPv4. Although I could telnet from my main OS and from other VMs onto port 44100, Alfresco was throwing back ConnectionRefusedExceptions, which I assume is some limitation of RMI.

To do this on the Debian VM, I updated the /etc/modprobe.d/aliases file, commenting out the following line:

alias net-pf-10 ipv6

and adding in the following replacement:

alias net-pf-10 off

This solved the first problem, but I then started getting errors indicating that Alfresco couldn't connect to the host, seemingly something to do with the RMI server not picking up the proper IP address for the host. Rather than spend ages fiddling with the network settings, I simply added a -Djava.rmi.server.hostname argument to the command in deploy_start.sh, i.e.

nohup java -server -cp alfresco-deployment.jar:spring-2.0.2.jar:commons-logging-1.0.4.jar:alfresco-core.jar:jug.jar:. -Djava.rmi.server.hostname= org.alfresco.deployment.Main application-context.xml >deployment.log 2>&1 &

If your network configuration is sane and you're not running under VMware you probably won't need this at all. Obviously if you do then make sure you change your IP address to match that of the host.

Five minutes and three thousand assets later and apparently I had a successful deployment. Not bad.