In my previous post I showed you how to get your own Confluence and JIRA server up and running in a few minutes, with the help of this week’s amazing $5 license offer (Get one while they last!) and Amazon’s EC2 hosting service.
Today, I’m going to show you how to set up an easy-to-remember custom URL for your new server.

If you followed the instructions from my previous post, your server will have a URL that looks something like http://ec2-192-0-2-73.compute-1.amazonaws.com.
The obvious problem with this URL is that it’s not easy to remember. Even worse, it changes each time you pause and resume your server.
Fortunately, both of these problems are easily fixed.
To create an easy-to-remember URL for your server, that won’t change when you pause and resume, just follow these steps:

Step 1: Reserve an IP address

Using the same Instant Atlassian tool we used in my previous post, run the following command:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" create_address

This command will respond with an IP address, which will be a set of four numbers separated by dots, for example: 192.0.2.167. You should make a note of this IP address.
This IP address is now allocated to you, but it is not yet associated with your server. While the address is allocated to you, Amazon will charge you $0.01/hour for any period it is not associated with an active server. You can end the allocation (and hence this charging) with the “release_address” command, which I describe below.

Step 2: Associate a domain name with your IP address

While you can just use the IP address you’ve just been allocated in your URL, it’s still not very easy to remember, so it’s best to set up a domain name, such as wiki.example.com, or issues.example.org instead.
If you work within a large organisation, your IT department can probably arrange a domain name for you, so speak to them. If you’re a smaller organisation, and you’ve already got a domain name, perhaps for your website (www.example.com), or your e-mail addresses (john@example.com) then the company that hosts that domain for you should be able to provide an additional sub-domain, such as wiki.example.com.
If neither of these options work for you, you’ll need to register a new domain name with a domain name registrar, and have them (or someone else) host the “DNS record” that associates your domain name with your IP address. DynDNS.com offers these services for free, with the limitations that your domain name ends with one of their supported suffixes, and that you refresh your DNS record every 30 days. If you’d like to remove that restriction, they also offer fully-featured domain registration and DNS hosting for an annual fee. There are many other domain registrars offering similar products, so shop around.
Whichever option you go with, you’ll need to give the organisation hosting your DNS record the IP address you were allocated in step 1, so that they can associate it with your chosen domain name.

Step 3: Associate the domain name with the server

Now that you have a domain name (or a permanent IP address, if you decided to forgo the domain name), it’s just a matter of providing it every time you use the “create” and “resume” commands.

If you haven’t yet created the server:

When you do create the server, (using the instructions from my previous post) just add your domain name (or IP address) to the end of the command, like this:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" create 10 Your_Domain_Name

If you’ve already created the server:

If the server is currently running, you’ll need to stop it with the “pause” command:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" pause Your_EBS_Volume_ID

Then restart it with the “resume” command, adding the domain name (or IP address) to the end of the command, like this:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" resume Your_EBS_Volume_ID Your_Domain_Name

If you’ve already completed the Setup Wizards, you’ll also need to use the Administration pages in JIRA and Confluence to update the “Base URL” of each application with your new domain name. Just follow the documented instructions for JIRA and for Confluence.

In either case:

Remember to include the domain name or IP address every time you use the “resume” command:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" resume Your_EBS_Volume_ID Your_Domain_Name

Be aware that if you use the “start” or “resume” commands with an IP address or domain name more than 100 times in a month, Amazon will charge you $0.10 each additional time. For typical usage, this shouldn’t be a problem.

When you’re done: Releasing the IP address

As I mentioned earlier, Amazon charges $0.01/hour if you have an allocated IP address that is not associated with a server, so you should release your allocation when you have finished with the IP address. You do this with the “release_address” command:


java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" release_address Your_Domain_Name_or_IP_Address

That’s all you need to do to get a friendly, permanent URL for your JIRA and Confluence server.

Next time

In my next post, I’ll show you how incredibly quick and easy it is to backup the data on your new server. And, of course, I’ll show you how to restore that data should disaster strike.

Fresh ideas, announcements, and inspiration for your team, delivered weekly.

Subscribe now