Much too complicated... I think (Running on IIS Server Machine)
Asked by Terence McGhee:

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** {#toc-hId-1679827004}
------------------------------------------

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.


Answers:
author: Sergey Markovich
body: 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.

comments: author: Terence McGhee
body: 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](http://confluence.atlassian.com/display/DOC/How+To+Run+Confluence+Standalone+and+Apache+on+Port+80+%28Different+IP+Addresses%29), but that didn't work either.


author: Sergey Markovich
body: 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.


author: Colin Goudie
body: 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.


author: Joe Clark
body: Confluence is written in Java to run under the [Java Servlet API](http://en.wikipedia.org/wiki/Java_Servlet) - 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](http://tomcat.apache.org/) is bundled within the [Confluence-standalone download](http://www.atlassian.com/software/confluence/downloads/binary/confluence-3.5.9-std.zip) 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.


author: Colin Goudie
body: 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


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


author: Terence McGhee
body: 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](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.

comments: author: Joe Clark
body: 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.

<br />

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.


author: Terence McGhee
body: I agreee. Thank you, and sorry for the ambiguity.


author: Colin Goudie
body: 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.


Tags: install