Posts Tagged ‘confluence’

Confluence at Sun AND IBM [updated 21/09/07]

You see - Confluence *DOES* rock. Check out http://wikis.sun.com and take a look at the bottom right-hand side of the page. No shonky knock together wiki here :)

Also turns out that IBM use Confluence at Developerworks too - only it’s less obvious that it’s Atlassian’s product.  It looks the same and even tastes the same if you lick the screen, but it’s not until you view page source that you’d see it.

Tags: , , , ,

Confluence on Glassfish (on OS X) Revisited

Ok, this post is a repeat process of the other day, just to sanity check getting Confluence up and running on Glassfish, and actually deploying live on this very box. When we get a little more time in the office, we’ll probably look to deploy on Solaris and test integration with LDAP. Here I’m just using internal authentication for Confluence, but sticking a MySQL instance at the backend.

To start off with, we need to grab the current version of Glassfish Beta 2
% wget http://java.net/download/javaee5/v2_branch/promoted/Darwin/glassfish-installer-v2-b41d.jar

It’s just under 70Mb, so won’t take that long to download. Not even for UK based folks at the mercy of BT’s so-called broadband offerings.

What do you mean you don’t have wget? Pick up the binary here. And yes, you could use cURL if you really wanted to, but my memory is almost at capacity these days, and so I find the simple methods are often the only route open to me.

Follow the glassfish install instructions - in this instance I’m installing in /usr/local - which is where my jar file is currently residing.

% java -Xmx256m -jar glassfish-installer-v2-b41d.jar

This command will unbundle GlassFish and create a new directory structure rooted under a directory named ‘glassfish’.


% cd glassfish

Set the execute permission for the Ant binaries that are included with the GlassFish bundle.

% chmod -R +x lib/ant/bin
% lib/ant/bin/ant -f setup.xml

Now given that this is going to be running on my test Mini, there’s not uch point me adding in the clustering support right now, so I can step over the Clustering supported installation, but if you have a bunch of Macs or Xserves you want to try this on, then just change step 4 from the above installation

% lib/ant/bin/ant -f setup-cluster.xml

To test out Confluence, I’m going to use a Confluence Personal Server license from Atlassian. You need to head on over to Atlassian and setup an account to apply for a Personal Server License, which is valid for 12 months. The license will give you a 2 user limited version of the Wiki. That is to say 2 active registered users at any one time, if you catch my drift. You can, of course, leave anonymous access on for spaces that you want the world and their wife to have access to if you are so inclined and don’t have IP restrictions to contend with.

The current version of Confluence at the time of writing is: 2.5.3, and you can grab it using:

% wget http://www.atlassian.com/software/confluence/downloads/binary/confluence-2.5.3.tar.gz

Which will give you the EAR/WAR deployment version as opposed to the Tomcat standalone version which you may recall is the cause of my initial pain and reason for looking in to Glassfish in the first place.

Preparing Confluence for install.

Unpack Confluence

% tar -zxvf confluence-2.5.3.tar.gz
% cd confluence-2.5.3
% vi confluence/WEB-INF/classes/confluence-init.properties

Edit the properties file to point confluence at a directory you want to use for storing uploads n’ stuff. In this case I’ll use one of the defaults in the file and create the directory structure on the mini - before I forget :)

% mkdir -p /var/data/confluence

Haven’t tried an EAR build and deploy (yet), but WAR definitely works - as per previous mail.

Build the WAR by running the build script

% sh build.sh

Once the build is complete, you’ll find the output in ./dist
Bung the resulting file in your glassfish autodeploy directory

% cp dist/atlassian-confluence-2.5.3.war /usr/local/glassfish/domains/domain1/autodeploy

Now in this case I’m going to use MySQL to handle content for Confluence. Don’t sneer (particularly not you Rasputnik), as it’s already running on the box for other reasons. Maybe sometime soon I can do a clean up and shift to Postgres - wouldn’t hold out hope of that happening anytime soon. For the record, Atlassian like Postgres, but support MySQL 4.1+ (but not 5), Oracle 10g+ and DB2 8.2+.

We’ll need the JDBC Connector for MySQL which you can grab from MySQL at http://www.mysql.com/products/connector/j/index.html
Unpack the distribution and copy the jar into glassfish/lib


% tar -zxvf mysql-connector-java-5.0.6.tar.gz
% cp mysql-connector-java-5.0.6/mysql-connector-java-5.0.6-bin.jar /usr/local/glassfish/lib

Restart Glassfish to get this picked up.


% asadmin stop-domain domain1
% asadmin start-domain domain1

The next task is to setup a JDBC Resource and Connection Pool in Glassfish. You can either do this through the cmdline, or through the GUI if you’re feeling all point-and-click.

I’ve already setup my MySQL DB and added grants to the user I’m going to use for the service, so I can use that information here now. Then go and create your JDBC resource. Remember the name of the JDBC Resource, you’ll need it during the Confluence install.

Now without changing anything else, the deployed copy of Confluence will be running on http://hostname.foo:8080/atlassian-confluence-2.5.3/

I’m out of time to look at virtual servers and/or apache mod_proxy as options right now (though the former will get attention first)

Easy-peasey-lemon-squeezy - and you can see it in action on breadedcod.com

Tags: , , ,

Confluence on OS X Glassfish

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.

Tags: , , ,