<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 04/24/2015 03:04 PM, Nochum Sossonko
      wrote:<br>
    </div>
    <blockquote cite="mid:00b801d07e8f$3bc0d260$b3427720$@gaalloys.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:344288013;
        mso-list-type:hybrid;
        mso-list-template-ids:-921014224 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1684355706;
        mso-list-type:hybrid;
        mso-list-template-ids:1629675668 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">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).</p>
      </div>
    </blockquote>
    <br>
    Thanks for sharing!<br>
    <br>
    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.<br>
    <br>
    I assume "run the Kallithea server on startup" means using the small
    web server in 'paster serve' to run the WSGI application?<br>
    Why did you decide to use IIS as reverse proxy instead of running
    Kallithea inside IIS as described on
    <a class="moz-txt-link-freetext" href="http://docs.kallithea-scm.org/en/latest/installation_iis.html">http://docs.kallithea-scm.org/en/latest/installation_iis.html</a> ?<br>
    <br>
    /Mads<br>
    <br>
    <br>
    <blockquote cite="mid:00b801d07e8f$3bc0d260$b3427720$@gaalloys.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l1 level1 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore">1.<span style="font:7.0pt
              "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>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:<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">a.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>Install IIS Rewrite Module and Application
          Request Routing.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.5in;text-indent:-1.5in;mso-text-indent-alt:-9.0pt;mso-list:l1
          level3 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore"><span style="font:7.0pt "Times
              New Roman"">                                                              
            </span>i.<span style="font:7.0pt "Times New
              Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span><a moz-do-not-send="true"
            href="http://www.iis.net/downloads/microsoft/url-rewrite">http://www.iis.net/downloads/microsoft/url-rewrite</a><o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.5in;text-indent:-1.5in;mso-text-indent-alt:-9.0pt;mso-list:l1
          level3 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore"><span style="font:7.0pt "Times
              New Roman"">                                                            
            </span>ii.<span style="font:7.0pt "Times New
              Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span><a moz-do-not-send="true"
href="http://www.iis.net/downloads/microsoft/application-request-routing">http://www.iis.net/downloads/microsoft/application-request-routing</a><o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">b.<span
              style="font:7.0pt "Times New Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span>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).<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">c.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>In that same settings window (very
          important!!) uncheck “Include TCP port from client IP” under
          the “X-Forwarded-For” setting.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">d.<span
              style="font:7.0pt "Times New Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span>Under query string support, select “Include
          query string”.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">e.<span
              style="font:7.0pt "Times New Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span>Leave all other settings there as-is.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">f.<span
              style="font:7.0pt "Times New Roman"">        </span></span><!--[endif]--><span
            dir="LTR"></span>Create a new site and make make a new IIS
          Rewrite rule via the IIS Rewrite icon on the site.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">g.<span
              style="font:7.0pt "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>Select “Reverse Proxy” and fill out the
          proxy URL as “127.0.0.1:5000” and check “Enbable SSL
          Offloading”.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">h.<span
              style="font:7.0pt "Times New Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span>After the rule is created, open it and
          check that the URL is correct (with the proper port) and check
          “Append Query String”.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2
          lfo2"><!--[if !supportLists]--><span style="mso-list:Ignore">i.<span
              style="font:7.0pt "Times New Roman"">         </span></span><!--[endif]--><span
            dir="LTR"></span>Finally, run the following command to fix
          the clone url: appcmd.exe set config
          -section:system.webServer/proxy /preserveHostHeader:"True"
          /commit:apphost<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="margin-left:1.5in;text-indent:-1.5in;mso-text-indent-alt:-9.0pt;mso-list:l1
          level3 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore"><span style="font:7.0pt "Times
              New Roman"">                                                              
            </span>i.<span style="font:7.0pt "Times New
              Roman"">      </span></span><!--[endif]--><span
            dir="LTR"></span>This is a server-wide setting, there is no
          way to set this on the site level.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l1 level1 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore">2.<span style="font:7.0pt
              "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>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.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l1 level1 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore">3.<span style="font:7.0pt
              "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>I also made an event to run the paster
          make-index command to update the Whoosh full-text search
          indexes every 2 hours.<o:p></o:p></p>
        <p class="MsoListParagraph"
          style="text-indent:-.25in;mso-list:l1 level1 lfo2"><!--[if !supportLists]--><span
            style="mso-list:Ignore">4.<span style="font:7.0pt
              "Times New Roman"">       </span></span><!--[endif]--><span
            dir="LTR"></span>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.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Not much in the way of innovation, but
          figured I’d share <span style="font-family:Wingdings">J</span><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thank you,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">Nochum
            Sossonko,</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">IT Director</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">Georgian
            American Alloys, Inc</span><o:p></o:p></p>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>