Much too complicated... I think (Running on IIS Server Machine)

Terence McGhee July 26, 2011

Hello. Two days ago, I downloaded the stand-alone confluence application and immediately fell in love with it.

I sell my team on it and start making preparations to install it on our company web server... and that's when things fall apart.

The problem is that we are a windows shop and our server runs IIS. There doesn't seem to be an easy way to install confluence on our server, assign a host name to it, and run it.

I was sorely disappointed and then I figured I could at least ask here on the forums and see if maybe I'm just missing something.

Anyone able to help with this?

Thanks!

EDIT: To Clarify

Wow... so many responses so fast. That's really cool.

Let me please clarify what I'm trying to acheive. First... I don't care about IIS at all. It doesn't matter to me if IIS is not in the picture.However, what I do care about is assigning a host name to the "site". By this I mean that,
  • if confluence is accessible through localhost:8080/confluence,
  • I want to be able to go to godaddy, create a domain,
  • Come back to my server machine and somehow "assign" the site name to the confluence install
  • My users access my confluence installation through http://mysitename.com
The only reason I mentioned IIS, is because it's extremely easy to assign a host name to a site and I didn't see any way of doing this in the confluence admin (which is where I assumed the setting would be).I hope this better clarifies what I'm after.And thanks so much for the very detailed responses thus far.

8 answers

1 vote
Sergey Markovich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2011

Hi Terrence,

As Colin and Joseph have already mentioned Confluence comes with its own web server called Apache Tomcat. If you don't have apecific requirements for using IIS (e.g. high scalability) there is no point in using it for Confluence although Confluence's Tomcat server can indeed be configured to run behind IIS.

To assign domain to your Confluence instance I believe you should do the following:

1. Register a domain (e.g. via Godaddy) and set its NS records to point to your machine running Confluence.

2. In your C:\WINDOWS\system32\drivers\etc\hosts file map your newly created domain to your IP address.

3. Go to confluence's conf directory and edit its server.xml file replacing port="8080" with port="80" in the <Connector> element to run on the default web server port, also change defaultHost attribute value in <Engine> element and name attribute value in <Host> element to your new domain.

4. Restart Confluence.

I believe that is pretty much what you need to do although I am not really that good in system administration and never did it myself so take what I say here with a grain of salt.

Terence McGhee July 26, 2011

That didn't work Sergey, but I do sincerely thank you for trying. All I get is the standard IIS7 welcome page when I try to access my confluence site through the domain name that I registered.

I also tried similar instructions found here, but that didn't work either.

Sergey Markovich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2011

Hi Terrence, you should shut down IIS which apparently occupies default HTTP port 80.

Instructions by the link you mentioned are for configuring Confluence behind Apache web server. I believe that should work the same with IIS on Confluence's side but in order for this to work you should also configure IIS to forward requests from port 80 to Confluence's port 8080.

1 vote
Colin Goudie
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2011

Hey Terence,

It sounds like to me then the best solution is to disable IIS on the machine hosting Confuence. Or at least switch it off port 80,

1. Use tomcat directly
(using named based virtual hosting - http://confluence.atlassian.com/display/DOC/Guide+to+using+Apache+Tomcat's+Virtual+Hosts) or

2. Put an Apache webserver in front of Confluence and use a named based virtual host that points to Confluence's Apache Tomcat

http://confluence.atlassian.com/display/DOC/Running+Confluence+behind+Apache

Although the 2nd point sounds redundant, you'll find most people to it that way as it can be better performing due to Apache webserver proxying and also for future if you expand to other Atlassian apps.

1 vote
Joe Clark
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 26, 2011

Confluence is written in Java to run under the Java Servlet API - it can run in any web server that provides a servlet container to its hosted applications. Unfortunately, IIS is not one of these.

Lots of Java-based web servers will run fine on Windows. A version of Apache Tomcat is bundled within the Confluence-standalone download and is pretty easy to get up and running with, as long as you can get a Java JDK installed on your server.

We have some pretty comprehensive installation instructions, and you can always ask specific questions about them if you get stuck: http://confluence.atlassian.com/display/DOC/Installing+Confluence+Standalone+on+Windows+from+Zip+File

As Colin mentioned, it is possible to setup Confluence so that IIS is logically "in front" of Confluence's web server, so that to the end user it appears as if the content is coming from IIS. This can be done using the Apache foundation's AJP connector for IIS: http://tomcat.apache.org/connectors-doc/reference/iis.html However, unless you really have specific need to have IIS as a proxy for Confluence, it's really more trouble than it's worth.

1 vote
Colin Goudie
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2011

There is some documentation on Atlassian's site about it, though I can't comment if it works :)

http://confluence.atlassian.com/display/DOC/Setting+up+Confluence+with+IIS

Hopefully you have found out that the installation of the Standalone instance is just fine on Windows, the main issue would be proxying the Confluence Tomcat server via your IIS server

0 votes
Joe Clark
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 26, 2011

Looks like Colin beat me to an answer, and his is more detailed anyway. :-)

0 votes
Terence McGhee July 26, 2011

Wow... so many responses so fast. That's really cool.

Let me please clarify what I'm trying to acheive. First... I don't care about IIS at all. It doesn't matter to me if IIS is not in the picture.However, what I do care about is assigning a host name to the "site". By this I mean that,

  • if confluence is accessible through localhost:8080/confluence,
  • I want to be able to go to godaddy, create a domain,
  • Come back to my server machine and somehow "assign" the site name to the confluence install
  • My users access my confluence installation through http://mysitename.com

The only reason I mentioned IIS, is because it's extremely easy to assign a host name to a site and I didn't see any way of doing this in the confluence admin (which is where I assumed the setting would be).I hope this better clarifies what I'm after.And thanks so much for the very detailed responses thus far.

Joe Clark
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 26, 2011

It's definitely a breeze to do in IIS, with you on that one!

Because Confluence is designed to be run in various different web servers and the configuration for this kind of thing is done at the web server level, Confluence itself doesn't provide any way to make this kind of configuration within the Web UI.


Generally speaking, you'll need to edit a configuration file on disk to change the host name for Confluence. I'll post instructions for Tomcat as a separate answer.

0 votes
Terence McGhee July 26, 2011

I agreee. Thank you, and sorry for the ambiguity.

0 votes
Colin Goudie
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2011

Can I suggest changing the title of your post to reflect the Windows installation (IIS) nature of the question? It will help funnel people to answer.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events