Kallithea on Windows

Mads Kiilerich mads at kiilerich.com
Fri Apr 24 11:24:28 EDT 2015

On 04/24/2015 03:04 PM, Nochum Sossonko wrote:
> Hi,
> We are using Kallithea as our SCM in our company (very nice, btw) 
> installed on a Windows Server 2008 R2. The installation process was 
> pretty straightforward but I did some things that I could not find in 
> the online documentation so I figured I’d post my “findings” here in 
> case it will help anyone else (and for inclusion in the docs, as 
> appropriate).

Thanks for sharing!

Please consider providing this as a patch to our documentation. We are 
all users of the system and if we all contribute we will get all more 
than we give ;-) The documentation has a lot of room for improvement - 
probably even more on windows where we only have few users.

I assume "run the Kallithea server on startup" means using the small web 
server in 'paster serve' to run the WSGI application?
Why did you decide to use IIS as reverse proxy instead of running 
Kallithea inside IIS as described on 
http://docs.kallithea-scm.org/en/latest/installation_iis.html ?


> 1.After following the normal install steps, I wanted to use IIS as a 
> reverse-proxy to the Kallithea server. To get this done properly, I 
> did the following:
> a.Install IIS Rewrite Module and Application Request Routing.
> i.http://www.iis.net/downloads/microsoft/url-rewrite
> ii.http://www.iis.net/downloads/microsoft/application-request-routing
> b.Enable proxying at the global, server level (this can be done in the 
> IIS GUI via “Application Request Routing” icon -> Server Proxy 
> Settings link on the right-hand side).
> c.In that same settings window (very important!!) uncheck “Include TCP 
> port from client IP” under the “X-Forwarded-For” setting.
> d.Under query string support, select “Include query string”.
> e.Leave all other settings there as-is.
> f.Create a new site and make make a new IIS Rewrite rule via the IIS 
> Rewrite icon on the site.
> g.Select “Reverse Proxy” and fill out the proxy URL as 
> “” and check “Enbable SSL Offloading”.
> h.After the rule is created, open it and check that the URL is correct 
> (with the proper port) and check “Append Query String”.
> i.Finally, run the following command to fix the clone url: appcmd.exe 
> set config -section:system.webServer/proxy /preserveHostHeader:"True" 
> /commit:apphost
> i.This is a server-wide setting, there is no way to set this on the 
> site level.
> 2.Then, I wanted an ultra-simple way to run the Kallithea server on 
> startup, so I created a task that runs on startup and uses a batch 
> file to run the paster command. I won’t paste the event file here, as 
> it is a very simple thing to do, but I can provide if anyone is 
> interested.
> 3.I also made an event to run the paster make-index command to update 
> the Whoosh full-text search indexes every 2 hours.
> 4.Finally, I ran into an issue where my server was returning a 500 for 
> certain code files (eg, .csproj and .cs files) and had to modify the 
> Request Filtering on the Kallithea site (via the icon of the same 
> name) -> File Name Extensions to allow these files to be served.
> Not much in the way of innovation, but figured I’d share J
> Thank you,
> Nochum Sossonko,
> IT Director
> Georgian American Alloys, Inc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sfconservancy.org/pipermail/kallithea-general/attachments/20150424/5dd72b5a/attachment.html>

More information about the kallithea-general mailing list