Kallithea on Windows

Nochum Sossonko n.sossonko at gaalloys.com
Fri Apr 24 11:37:12 EDT 2015

Seemed easier to me to do it that way, especially since I could debug any
errors/issues by visiting the 5000 website directly and in the output window
(or logs, when redirected). Also, wasn't sure about https with the WSGI app,
although that probably would just work. Maybe I'm just overworking this, but
I had already installed Kallithea on Ubuntu and used Apache as a
reverse-proxy and thought I'd do the same on my Windows box.


I'll see about presenting a patch, need to find the time.


Thank you,


Nochum Sossonko,

IT Director

Georgian American Alloys, Inc

From: Mads Kiilerich [mailto:mads at kiilerich.com] 
Sent: Friday, April 24, 2015 11:24 AM
To: Nochum Sossonko; kallithea-general at sfconservancy.org
Subject: Re: Kallithea on Windows


On 04/24/2015 03:04 PM, Nochum Sossonko wrote:



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

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 :)


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/07234443/attachment-0001.html>

More information about the kallithea-general mailing list