<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>lighty's life: There is an Angel for lighty</title>
    <link>http://blog.lighttpd.net/articles/2007/09/02/there-is-an-angel-for-lighty</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>There is an Angel for lighty</title>
      <description>&lt;p&gt;In &lt;a href="http://trac.lighttpd.net/trac/changeset/1981"&gt;changeset [1981]&lt;/a&gt; I added a angel process to the lighttpd build. It solves several problems when we have everything running as expected:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class="caps"&gt;SIGHUP&lt;/span&gt; leads to a graceful restart (config reloads)&lt;/li&gt;
		&lt;li&gt;&lt;span class="caps"&gt;SIGINT&lt;/span&gt; is graceful shutdown as now&lt;/li&gt;
		&lt;li&gt;all unhandled signals lead to a restart of the lighttpd process&lt;/li&gt;
	&lt;/ul&gt;
&lt;p&gt;We have to be careful with the angel as it will stay alive and stay running as the user it is started as (usually root). That&amp;#8217;s the only way we can restart lighttpd from scratch on restart.&lt;/p&gt;


	&lt;p&gt;This will also solve other problems in 1.5.0:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://trac.lighttpd.net/trac/ticket/1271"&gt;bug #1271, unsafe logfiles&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;... and perhaps others&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;The angel has to implement some security measures to stay clean:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;the angel can only start the lighttpd binary which is compiled into the angel at compile time&lt;/li&gt;
		&lt;li&gt;if run as root the starting user has to be root too or be in the same group as the owner of the lighttpd binary&lt;/li&gt;
		&lt;li&gt;... and perhaps more restrictions&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;As extra features we will add ulimit support to let lighttpd die in case it is using to much memory. But that&amp;#8217;s for later.&lt;/p&gt;</description>
      <pubDate>Sun, 02 Sep 2007 22:36:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:e0c50ba0-763d-4ab4-af0e-bf7ef161f803</guid>
      <author>jan</author>
      <link>http://blog.lighttpd.net/articles/2007/09/02/there-is-an-angel-for-lighty</link>
      <category>lighttpd</category>
      <category>angel</category>
      <trackback:ping>http://blog.lighttpd.net/articles/trackback/4739</trackback:ping>
    </item>
    <item>
      <title>"There is an Angel for lighty" by moo</title>
      <description>yep, that's cool, and was what i think of all the time</description>
      <pubDate>Mon, 03 Sep 2007 11:04:49 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:c7d1030c-eba9-452e-abaa-56df87c3498e</guid>
      <link>http://blog.lighttpd.net/articles/2007/09/02/there-is-an-angel-for-lighty#comment-4743</link>
    </item>
    <item>
      <title>"There is an Angel for lighty" by hangy</title>
      <description>Do I understand it correctly, that the angel process is a small program just there to manage the lighty-process? Sounds cool. :)</description>
      <pubDate>Mon, 03 Sep 2007 07:24:35 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:a77c2723-6fb5-41a1-8ba2-9b314b58d837</guid>
      <link>http://blog.lighttpd.net/articles/2007/09/02/there-is-an-angel-for-lighty#comment-4742</link>
    </item>
    <item>
      <title>"There is an Angel for lighty" by alexander</title>
      <description>Excellent, Jan!!</description>
      <pubDate>Mon, 03 Sep 2007 07:17:20 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:36ed553b-3502-402e-898d-9ab3ebb3d973</guid>
      <link>http://blog.lighttpd.net/articles/2007/09/02/there-is-an-angel-for-lighty#comment-4741</link>
    </item>
  </channel>
</rss>
