<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Running Mercurial with FastCGI in nginx</title>
	<atom:link href="http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/</link>
	<description>Personal blog of Peter Dikant</description>
	<lastBuildDate>Wed, 08 Sep 2010 11:42:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: wumzi</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-12268</link>
		<dc:creator>wumzi</dc:creator>
		<pubDate>Wed, 21 Jul 2010 15:10:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-12268</guid>
		<description>Great how-to !

Thanks !</description>
		<content:encoded><![CDATA[<p>Great how-to !</p>
<p>Thanks !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-8184</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Sat, 17 Oct 2009 08:24:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-8184</guid>
		<description>You are right. Thanks for pointing out the error!

I updated the posting.</description>
		<content:encoded><![CDATA[<p>You are right. Thanks for pointing out the error!</p>
<p>I updated the posting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: seth</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-8173</link>
		<dc:creator>seth</dc:creator>
		<pubDate>Sat, 17 Oct 2009 02:12:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-8173</guid>
		<description>To answer my own problem.

The executable bit needs to be set on hgwebdir.fcgi
(chmod +x hgwebdir.fcgi)

Otherwise we get:
spawn-fcgi: child exited with: 2

Also (I could be incorrect), but instead of:
chmod -R www-data.www-data /tmp/hgtest

I think it was meant to be:
chown -R www-data.www-data /tmp/hgtest

Thanks for the great post!</description>
		<content:encoded><![CDATA[<p>To answer my own problem.</p>
<p>The executable bit needs to be set on hgwebdir.fcgi<br />
(chmod +x hgwebdir.fcgi)</p>
<p>Otherwise we get:<br />
spawn-fcgi: child exited with: 2</p>
<p>Also (I could be incorrect), but instead of:<br />
chmod -R www-data.www-data /tmp/hgtest</p>
<p>I think it was meant to be:<br />
chown -R www-data.www-data /tmp/hgtest</p>
<p>Thanks for the great post!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: seth</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-8171</link>
		<dc:creator>seth</dc:creator>
		<pubDate>Fri, 16 Oct 2009 23:06:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-8171</guid>
		<description>After running 

spawn-fcgi -a 127.0.0.1 -p 9001 -u www-data -g www-data -f /tmp/hgwebdir.fcgi -P /var/run/fastcgi-mercurial.pid -C 1

I get the following

spawn-fcgi: child exited with: 2

Any thoughts?</description>
		<content:encoded><![CDATA[<p>After running </p>
<p>spawn-fcgi -a 127.0.0.1 -p 9001 -u www-data -g www-data -f /tmp/hgwebdir.fcgi -P /var/run/fastcgi-mercurial.pid -C 1</p>
<p>I get the following</p>
<p>spawn-fcgi: child exited with: 2</p>
<p>Any thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Papenbrock</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-7365</link>
		<dc:creator>Michael Papenbrock</dc:creator>
		<pubDate>Tue, 15 Sep 2009 09:01:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-7365</guid>
		<description>It&#039;s running!!! Thank you very much!</description>
		<content:encoded><![CDATA[<p>It&#8217;s running!!! Thank you very much!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-7339</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Mon, 14 Sep 2009 14:58:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-7339</guid>
		<description>Thanks, I forgot to mention this modification in my howto. The posting is now updated.</description>
		<content:encoded><![CDATA[<p>Thanks, I forgot to mention this modification in my howto. The posting is now updated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus Papenbrock</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-7338</link>
		<dc:creator>Markus Papenbrock</dc:creator>
		<pubDate>Mon, 14 Sep 2009 14:53:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-7338</guid>
		<description>I ran into problems where an empty repository list was shown.
To solve this, you have to edit the file /tmp/hgwebdir.fcgi
Replace this line at the bottom:
&lt;code&gt;WSGIServer(hgwebdir(&#039;hgweb.config&#039;)).run()&lt;/code&gt;
with a direct reference to the hgweb.config file:
&lt;code&gt;WSGIServer(hgwebdir(&#039;/tmp/hgweb.config&#039;)).run()&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>I ran into problems where an empty repository list was shown.<br />
To solve this, you have to edit the file /tmp/hgwebdir.fcgi<br />
Replace this line at the bottom:<br />
<code>WSGIServer(hgwebdir('hgweb.config')).run()</code><br />
with a direct reference to the hgweb.config file:<br />
<code>WSGIServer(hgwebdir('/tmp/hgweb.config')).run()</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-7216</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Wed, 09 Sep 2009 13:12:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-7216</guid>
		<description>Yes, I am indeed using fail2ban to secure my repository. I have defined a new filter file &lt;code&gt;/etc/fail2ban/filter.d/nginx-auth.conf&lt;/code&gt; to identify failed login attempts in the nginx access log (note: nginx does not log failed attempts to the error.log like Apache):

&lt;pre lang=&quot;config&quot;&gt;
[Definition]
failregex = &lt;HOST&gt;.*&quot; 401
&lt;/pre&gt;

This filter is then called from a custom jail definition:

&lt;pre lang=&quot;config&quot;&gt;
[mercurial]

enabled = true
port = https
filter = nginx-auth
logpath = /var/log/nginx/access.log
maxretry = 3
&lt;/pre&gt;

So far this is working out nice.</description>
		<content:encoded><![CDATA[<p>Yes, I am indeed using fail2ban to secure my repository. I have defined a new filter file <code>/etc/fail2ban/filter.d/nginx-auth.conf</code> to identify failed login attempts in the nginx access log (note: nginx does not log failed attempts to the error.log like Apache):</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">[Definition]
failregex = &lt;HOST&gt;.*&quot; 401</pre></div></div>

<p>This filter is then called from a custom jail definition:</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">[mercurial]
&nbsp;
enabled = true
port = https
filter = nginx-auth
logpath = /var/log/nginx/access.log
maxretry = 3</pre></div></div>

<p>So far this is working out nice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Papenbrock</title>
		<link>http://www.dikant.de/2009/07/29/running-mercurial-with-fastcgi-in-nginx/comment-page-1/#comment-7215</link>
		<dc:creator>Michael Papenbrock</dc:creator>
		<pubDate>Wed, 09 Sep 2009 12:00:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.dikant.de/?p=88#comment-7215</guid>
		<description>This looks quite interesting and I am eager to give it a try. However, in terms of security I guess you are also using fail2ban for this :)
Is it sufficient just do create a jail for nginx or is there more one should consider?

Cheers,
Michael</description>
		<content:encoded><![CDATA[<p>This looks quite interesting and I am eager to give it a try. However, in terms of security I guess you are also using fail2ban for this <img src='http://www.dikant.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Is it sufficient just do create a jail for nginx or is there more one should consider?</p>
<p>Cheers,<br />
Michael</p>
]]></content:encoded>
	</item>
</channel>
</rss>
