HEALTH WARNING – These are roughcut notes at the moment. I’ll tidy them up as soon as I get a chance.
Have been re-jigging stuff on this box today to provide enough space for Atlassian’s rather lovely wiki server, Confluence. As Rasputnik has been so busy playing around with Glassfish recently, I thought I’d follow suit and take a look at getting Confluence (and maybe JIRA, as a test) on Glassfish for many of the reasons that he has been looking at it.
sandbox:~/src/glassfish fishsticks$ java -Xmx256m -jar glassfish-installer-v1_ur1-p01-b02.jar
n.b. actually I ended up running with Glassfish v2 in the end – need to re-edit this bit.
sandbox:~/src/glassfish fishsticks$ cd glassfish
sandbox:~/src/glassfish fishsticks$ sh lib/ant/bin/ant -f setup.xml
That’s the unpack and build done. Now it’s time to add GF’s bin directory to the path. Note: I’m doing this temporarily and will revisit these notes to tidy up later.
sandbox:~/src/glassfish fishsticks$ export PATH=$PATH:/Users/fishsticks/src/glassfish/glassfish/bin
And once that’s done, it’s time to run up the server for the first time
sandbox:~/src/glassfish fishsticjs$ asadmin start-domain domain1
Starting Domain domain1, please wait.
Log redirected to /Users/fishsticks/src/glassfish/glassfish/domains/domain1/logs/server.log.
Jun 8, 2007 9:21:43 PM com.sun.enterprise.addon.AddonInstaller installAllAddons
WARNING: Error while installing the addon resourceadapters
java.io.FileNotFoundException: /Users/fishsticks/src/glassfish/glassfish/domains/domain1/config/domain-registry (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:179)
...
at com.sun.enterprise.cli.framework.CLIMain.main(CLIMain.java:63)
Domain domain1 is ready to receive client requests. Additional services are being started in background.
Domain [domain1] is running [Sun Java System Application Server Platform Edition 9.0_01 (build b02-p01)] with its configuration and logs at: [/Users/fishsticks/src/glassfish/glassfish/domains].
Admin Console is available at [http://localhost:4848].
Use the same port [4848] for "asadmin" commands.
User web applications are available at these URLs:
[http://localhost:8080 https://localhost:8181 ].
Following web-contexts are available:
[/web1 /asadmin ].
Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://www.local:8686/jmxrmi] for domain management purposes.
Domain listens on at least following ports for connections:
[8080 8181 4848 3700 3820 3920 8686 ].
Hmm – better check out that exception in a bit – probably a permissions problem because I’m being hopeless and running the process as an unpriveleged user. D’oh!
Anyhoo. We need to grab the EAR/WAR distribution of Confluence from Atlassian. For the purposes of this proof of concept, I’m going to use a Personal Wiki license for the install, but the method is the same for whatever version of Confluence you’re running.
Unpack the distribution and cd to the source directory. A quick edit of the ./confluence/WEB-INF/lib/classes/confluence-init.properties before building the WAR sorts out where Confluence will store stuff. Once that’s done, just run Atlassian’s build script.
sh build.sh
The resulting WAR file is in ./dist/ and can be uploaded to Glassfish using the management console running on http://localhost:4848/ or dropped in to the domain1/autodeploy directory if you fancy skipping the GUI approach. Dick will likely chastise me for not doing it command line stylee.
Once it’s deployed, head over to localhost:8080/atlassian-confluence-2.5.3 and follow the normal install procedure. Hey presto! It works just fine and dandy.
So far this is just the vanilla install – no DB backend and no LDAP at the moment, but more on that in a while.
Related posts:
That looks promising (especially the memory figures). Deploy through the GUI is fine with me – I just prefer asadmin simply because :
1. I’m too lazy to do screenshots
2. I enjoy pronouncing it as ‘ass admin’
Anway, very hot sweaty weather this end (baby no sleep good. dada no think good) – catch up Tuesday. Nice work.