<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
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/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Always Right &#187; rapache</title> <atom:link href="http://www.stefanoforenza.com/category/rapache/feed/" rel="self" type="application/rss+xml" /><link>http://www.stefanoforenza.com</link> <description>Stefano Forenza - Personal Blog</description> <lastBuildDate>Tue, 31 Jan 2012 01:39:06 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Rapache returns ?</title><link>http://www.stefanoforenza.com/rapache-returns/</link> <comments>http://www.stefanoforenza.com/rapache-returns/#comments</comments> <pubDate>Thu, 20 Oct 2011 22:42:35 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[2012 will be the year of Linux. Ubuntu Pink Pony will pwn Windows]]></category> <category><![CDATA[More time you save more you can waste]]></category> <category><![CDATA[why world sucks and I rock]]></category> <category><![CDATA[[HOW TO] get the damn thing working]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=2285</guid> <description><![CDATA[Not without a certain pleasure I announce that I got Rapache fixed and working again. Rapache is a graphical user tool to help you configure Apache2. It allows easy creation of virtual name hosts and modules activation without prior knowledge of configuration files. I still have to mess with the packaging thing, and there are [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;"><img
class="aligncenter size-full wp-image-2115" title="Rapache Logo" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2010/06/rapache.png" alt="" width="256" height="256" /></p><p>Not without a certain pleasure I announce that I got <strong>Rapache</strong> fixed and working again.</p><blockquote><p>Rapache is a graphical user tool to help you configure Apache2. It allows easy creation of virtual name hosts and modules activation without prior knowledge of configuration files.</p></blockquote><p>I still have to mess with the packaging thing, and there are certain trade-offs, but anybody interested can finally download a working version.</p><p>To install it run the following commands</p><pre>sudo apt-get install python-crypto python-openssl python-lxml
sudo apt-get install python-glade2 python-gnome2-extras python-gksu2
sudo apt-get install python-gtk2 python-gtksourceview2 gksu bzr
bzr branch lp:rapache</pre><p>Once you&#8217;re done, you can run it with the following commands:</p><pre>cd rapache
sudo ./rapache</pre><p>Note that Rapache now requires sudo, but it will nevertheless ask for your password the first time you try to do anything. It&#8217;s glitchy and patchy but at least it works.</p><p>Also there is no more tray icon (not a problem for Unity users I guess) and the status bar displays an &#8216;apache not reacheable&#8217; message unregarding the real apache status.</p><p>Still you get the same easy virtualhost creation, syntax highlighted source editor, module activation/removal we all used to love.</p><p
style="text-align: center;"><img
class="aligncenter size-full wp-image-155" title="rapache-security" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/rapache-security.png" alt="" width="788" height="516" /></p><p>A word of warning, as my computer is still running Ubuntu 10.10 Rapache is untested on 11.04 and 11.10. But it&#8217;s worth a try. Let me know how it runs <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>You can find <a
href="http://www.stefanoforenza.com/category/rapache/">more about Rapache in my previous posts</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/rapache-returns/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>Rapache on Ubuntu 10.04 ? Not likely.</title><link>http://www.stefanoforenza.com/rapache-on-ubuntu-10-04-not-likely/</link> <comments>http://www.stefanoforenza.com/rapache-on-ubuntu-10-04-not-likely/#comments</comments> <pubDate>Tue, 29 Jun 2010 18:43:59 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=2112</guid> <description><![CDATA[This post is outdated! Rapache is back ! Along with the last LTS release of Ubuntu, Lucid Lynx, there have been a few requests to bring back Rapache and make it work on the newer Ubuntu releases. (what&#8217;s Rapache ? Here&#8217;s all the posts about it) Will it happen ? Probably not. Here&#8217;s why. A [...]]]></description> <content:encoded><![CDATA[<h3 style="text-align: center;"><strong>This post is outdated! <a
href="http://www.stefanoforenza.com/rapache-returns/">Rapache is back !</a></strong></h3><p
style="text-align: center;"><img
class="aligncenter size-full wp-image-2115" title="Rapache Logo" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2010/06/rapache.png" alt="Rapache Logo" width="256" height="256" /></p><p>Along with the last LTS release of Ubuntu, <em>Lucid Lynx</em>, there have been a few requests to bring back Rapache and make it work on the newer Ubuntu releases. (<a
href="http://www.stefanoforenza.com/category/rapache/">what&#8217;s Rapache ? Here&#8217;s all the posts about it</a>)</p><p>Will it happen ? Probably not. Here&#8217;s why.</p><p><strong>A bit of history</strong></p><p><em>Rapache</em> has been my first real open source project and a good excuse to learn <em>Python</em> programming and do something useful. While the name and icon has been brought by others, the concept and coding for the very first release has been done entirely by me. (<a
href="http://www.stefanoforenza.com/me-and-rapache/">read the announcement</a>)</p><div
id="attachment_43" class="wp-caption aligncenter" style="width: 290px"><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-alpha.png"><img
class="size-medium wp-image-43" title="Rapache's virtual-hosts list" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-alpha-280x300.png" alt="Picture that shows the main window of Rapache" width="280" height="300" /></a><p
class="wp-caption-text">The first version of Rapache</p></div><p>While the concept has not been appreciated by some, the software proved itself useful for some and I soon received a helping hand from another person, <a
href="https://launchpad.net/~killerkiwi2005">Jason</a>, who helped me developing and added himself a terrific number of features and improvements.</p><p>Along with my newly found mate, newer releases flew. A plug-in system, advanced virtual hosting editing, Apache&#8217;s modules configuration, GUI tweakings, and so on. The Apache config parser has been rewrote 3 times, and I&#8217;d dare to say that the last version of it (even though not feature complete) is pretty good.</p><p>Eventually, Rapache made it to the Ubuntu Universe repository.</p><p>Everything was working fine, and, even if we had pretty much no feedback for the program (yes, we almost never heard a word from our users, we knew the software was used just thanks to Popcon stats and the very few number of bugs reported), we began to work onto the next version, with the radical changes needed to support the SSH protocol.</p><div
id="attachment_2116" class="wp-caption aligncenter" style="width: 310px"><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2010/06/Selection_006.png"><img
class="size-medium wp-image-2116" title="Rapache SSH Alpha" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2010/06/Selection_006-300x250.png" alt="Rapache SSH Alpha" width="300" height="250" /></a><p
class="wp-caption-text">This is the SSH alpha which will never see the light.</p></div><p><strong>Then Jauny Jackalope came out</strong></p><p>When Ubuntu 9.04, we found out that Rapache wasn&#8217;t working anymore. Even though the bug had been reported before Ubuntu&#8217;s final release, we began looking into it only some day after such release. For sure I undervalued it.</p><p>Why does Rapache freeze when you try to do almost anything ?</p><p>Funnily enough, with people reporting the bug, Jason and I finally discovered to have some users ! <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>We traced back the problem to be in <em>python-gksu2</em>. There was apparently no other explanation, since until <em>Hardy</em> Rapache was working fine. While I was working on a fix, Jason released a quick patch to solve temporarily the problem.<a
href="https://launchpad.net/~tacone"> I posted it on Launchpad</a>, then asked Emanuele (<em>emgent</em><em>)</em>, a MOTU which was - <em>formally -</em> part of the team and official packager <a
href="https://bugs.launchpad.net/rapache/+bug/346788">to issue a SRU to fix the problem</a>.</p><p>Nobody, not Emanuele, nor the MOTU team, not anybody else ever did that.</p><p><strong>The removal</strong></p><p>Since I was not satisfacted with the quick fix, I began to work on a better solution. I never found it. I haven&#8217;t been able to trace out in google any similar problem with python-gksu2, nor I ever got any response from the MOTU channel. In many ways I considered and still regard that bug as an Ubuntu bug, not really Rapache&#8217;s.</p><p>Then I made a radical change in my life and moved to another city for a while (almost a year).</p><p>In the mean time, Rapache, since not working was stripped from Debian. I am fine with that, it never really worked in Debian, simply because it was packaged like shit on it, and un-updated. Funnily, people reporting the bug in Debian seemed pretty happy to have the program and the need of patching it manually to make it start seemed normal to them.</p><p>Right after being removed from Debian, Rapache got removed from Ubuntu repositories as well. I am very fine with that too as it has unmaintained for a long time, and it&#8217;s good for distribution to strip non-working packages.</p><p><strong>A second try</strong></p><p>Recently a french guy proposed to help and handed me a quick patch to substitute python-gksu2 with a normal dialog. With my surprise and horror, that would freeze Rapache as well.</p><p>My guess is there is something bad about the threads in the program, but frankly I couldn&#8217;t find out what. In my own opinion, the only right thing to do would be to re-engineer the whole GUI, move away from python-gksu2, implement <em>D-BUS</em> and <em>Policy Kit</em>. That would require an awful lot of time (also consider the code is not that clean, being that my first experience with Python).</p><p><strong>Why Rapache won&#8217;t be brought back</strong></p><blockquote><p>So in true open source fashion, as the maintainer of this project, I am going to arbitrarily drop off the face off the of this earth for purely selfish reasons, and leave the entire cause in limbo. That is how open source projects truly die. But hey, all the material is out there for y&#8217;all to see (it&#8217;s &#8220;open source&#8221; in it&#8217;s own way), so maybe someone else will take up the cause. Carry on, lusers!<br
/> <em>&#8211; Linux Hater&#8217;s [<a
href="http://linuxhaters.blogspot.com/2008/10/eof.html">source</a>]</em></p></blockquote><p>I have no time, and not good motivation to re-engineer the whole software. Development has been hard sometime, I spent a nice bunch of sleepless nights and I&#8217;m frankly not willing to put that much energy into Rapache development anymore.</p><p>Normally, this would mean the software would be maintained with small fixes, just to keep it useful and working for the users. But here we have a software with a big problem, thus requiring a lot of work.</p><p>A lot of you have been asking what you can do to help. The answer is very simple though unpleasing: fix it. Do it for yourself, do it for the community or don&#8217;t do it at all and pass by. Shall you wish, you can even fork it, it&#8217;s free software, you have the full right to do that.</p><p>My final stance is the following:</p><ul><li>I won&#8217;t probably fix it for a long time, since I have to work to make a living.</li><li>If somebody forks it, I&#8217;m totally okay with that, as long as he changes the name of the software</li><li>If somebody fix it and publishes a (really) working branch for Ubuntu 9.10 and 10.04 in that case:<ul><li>I am available to publish it on the Rapache PPA.</li><li>I&#8217;ll include him in the dev team</li><li>I&#8217;ll help maintain the software with small fixes</li><li>I won&#8217;t ever spend time, not even 5 minute, to get Rapache included into an Ubuntu official repository. MOTU are for that, I won&#8217;t propose it for inclusion or do any work that doesn&#8217;t belong to the upstream domain.</li></ul></li></ul><p>Shall you wish to install the broken Rapache under Ubuntu 10.04 (for patching and use or development), you can download the code with this command:</p><pre>bzr branch lp:rapache</pre><p>I&#8217;m sincerely happy to have helped the community, even for just one year. Big thanks to Jason and to everybody who helped.</p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/rapache-on-ubuntu-10-04-not-likely/feed/</wfw:commentRss> <slash:comments>20</slash:comments> </item> <item><title>Eagle resting on Ibex&#8217;s shoulder</title><link>http://www.stefanoforenza.com/eagle-resting-on-ibexs-shoulder/</link> <comments>http://www.stefanoforenza.com/eagle-resting-on-ibexs-shoulder/#comments</comments> <pubDate>Wed, 15 Oct 2008 17:30:00 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=194</guid> <description><![CDATA[Just a notice to announce that Rapache Early Eagle just got into Intrepid Ibex&#8217;s Universe repository. Feel encouraged to give it a spin .]]></description> <content:encoded><![CDATA[<p>Just a notice to announce that <a
href="http://www.stefanoforenza.com/category/rapache/">Rapache</a> Early Eagle just got into Intrepid Ibex&#8217;s Universe repository.</p><p>Feel encouraged to give it a spin <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/eagle-resting-on-ibexs-shoulder/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Rapache PPA updated to the last beta</title><link>http://www.stefanoforenza.com/rapache-ppa-updated-to-the-last-beta/</link> <comments>http://www.stefanoforenza.com/rapache-ppa-updated-to-the-last-beta/#comments</comments> <pubDate>Tue, 16 Sep 2008 15:39:15 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=172</guid> <description><![CDATA[The Rapache development team is happy to announce the immediate availability of latest Rapache beta release on the Rapache PPA. Please see this post for more infos on the new features. To add the PPA insert the following lines in your /etc/apt/sources.list: deb http://ppa.launchpad.net/rapache-devel/ubuntu hardy main deb-src http://ppa.launchpad.net/rapache-devel/ubuntu hardy main Then issue the following commands: [...]]]></description> <content:encoded><![CDATA[<p>The <a
href="https://launchpad.net/~rapache-devel">Rapache development team</a> is happy to announce the <a
href="http://en.emanuele-gentili.com/index.php/2008/09/16/rapache-07-early-eagle-beta-is-out-become-beta-tester/">immediate availability</a> of latest <a
href="http://www.stefanoforenza.com/early-eagle-taking-off/">Rapache beta release</a> on the <a
href="https://launchpad.net/~rapache-devel/+archive">Rapache PPA</a>.</p><p><a
href="http://www.stefanoforenza.com/early-eagle-taking-off/">Please see this post</a> for more infos on the new features.</p><p>To add the PPA insert the following lines in your <em>/etc/apt/sources.list</em>:</p><pre>deb http://ppa.launchpad.net/rapache-devel/ubuntu hardy main
deb-src http://ppa.launchpad.net/rapache-devel/ubuntu hardy main</pre><p>Then issue the following commands:</p><pre>sudo apt-get update
sudo apt-get install rapache</pre><p>At this point the Rapache icon will appear inside <em>Applications &gt;&gt; System Tools</em>.</p><p>This release brings many improvements and you&#8217;re encouraged to test it and report any bug.</p><p>We can be contacted in the following ways:</p><ul><li>in #rapache, on freenode.</li><li>on the mailing list (<a
href="mailto:rapache-devel@lists.launchpad.net"><span
class="HcCDpe">rapache-devel@lists.launchpad.net</span></a>)</li></ul><p>You are also welcome to request new features / new plugins. We will read and evaluate everything, just file your request as a <a
href="https://bugs.launchpad.net/rapache/+filebug">bug in launchpad</a>.</p><p>Many thanks to <a
href="https://launchpad.net/~emgent">emgent</a> for the swift packaging response.</p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/rapache-ppa-updated-to-the-last-beta/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Early Eagle taking off</title><link>http://www.stefanoforenza.com/early-eagle-taking-off/</link> <comments>http://www.stefanoforenza.com/early-eagle-taking-off/#comments</comments> <pubDate>Mon, 15 Sep 2008 07:17:02 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=151</guid> <description><![CDATA[It&#8217;s been a while since I blogged about Rapache. Hell, I didn&#8217;t even mentioned that Rapache 0.6 made it in Intrepid repositories and in Hardy backports! I am happy to say 0.7 release is coming soon. The codename for this release is early eagle, but don&#8217;t fear it&#8217;s unlikely we will stick with Ubuntu&#8217;s naming [...]]]></description> <content:encoded><![CDATA[<p>It&#8217;s been a while since I blogged about Rapache. Hell, I didn&#8217;t even mentioned that Rapache 0.6 made it in <a
href="http://en.emanuele-gentili.com/index.php/2008/07/29/welcome-rapache-06-in-ubuntu-intrepid-ibex-universe/">Intrepid repositories</a> and in <a
href="http://en.emanuele-gentili.com/index.php/2008/08/01/rapache-is-available-on-hardy-backports/">Hardy backports</a>!</p><p>I am happy to say 0.7 release is coming soon. The codename for this release is early eagle, but don&#8217;t fear it&#8217;s unlikely we will stick with Ubuntu&#8217;s naming convention, and, if we do, we won&#8217;t come up with.. ehm.. <a
href="http://www.stefanoforenza.com/ubuntu-new-codename-announced-sic/">Jackalopes</a>. Promise ! <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>This release marks the half way beetwen the proof of concept-ish rapache and the full featured version (which will have &#8211; most notably &#8211; ssh capabilities).</p><p>Major points for this release are:</p><p><strong>Reworked UI</strong></p><p>The edges of the user interface has been rounded a little.</p><ul><li>most notably: the &#8220;Virtualhost Editor&#8221; window is very polished and has not anymore horizontal tabs.</li><li>Virtualhost and Module editors have a link to the respective online documentation. This is something very simple to implement, yet much needed.</li></ul><p><strong>Plugins for more advanced capabilities</strong></p><p>Rapache enjoys now a handful plugins to let you perform common tasks easily:</p><ul><li>the <strong>advanced</strong> tab lets you configure less often needed things like the <em>server admin e-mail</em>, the <em>custom error log</em> location (along with the <em>error log level</em>), enable or disable apache&#8217;s <em>directory listing </em>and to setup your own <em>default documents</em> policy.</li><li>the <strong>basic security</strong> plugin it&#8217;s basically an interface to the <em>basic_auth</em> module of Apache. This is simple but incredibly handy, you can quickly set up an access list (namely creating users and assigning a password to them) to any virtualhost. Useful for disabling or enabling access to any virtualhost with a click or to restrict the access to a given site without having to resort to any server-side technology other than Apache.</li></ul><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/rapache-security.png"><img
class="aligncenter size-full wp-image-155" title="rapache-security" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/rapache-security.png" alt="" width="500" height="327" /></a></p><ul><li><strong>SSL !</strong> We provide a Gui to quickly set-up an <em>https://</em> enabled Virtualhost. <em>Certificate Request</em> creation is provided and even certificates <em>self signing</em> is available. It takes 5-6 clicks to be in business with Apache+SSL <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></li></ul><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/rapache-ssl.png"><img
class="aligncenter size-full wp-image-154" title="rapache-ssl" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/rapache-ssl.png" alt="" width="500" height="326" /></a></p><ul><li>We now store last 20 backups of every virtualhost you edit within Rapache. That means that if something goes wrong, you can quickly restore the previous version.</li><li>You can also now edit the virtualhosts source at hand and save it directly from Rapache. You will enjoy syntax highlighting as you deserve (hey, everyone deserves syntax highlighting).</li></ul><p><strong>Apache status</strong></p><ul><li>Rapache now shows Apache&#8217;s status changing its own icon color. So you can see at a glance if Apache is up or not.</li><li>We put some new item in the menu bar to allow users to start/stop/restart Apache.</li><li>The new &#8220;Log Files&#8221; tab allows the user to quickly browse the logs.</li><li>Every error you get on Apache restart will be shown to the user inside a tab in the main window.</li></ul><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/early-eagle.png"><img
class="aligncenter size-full wp-image-153" title="early-eagle" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/09/early-eagle.png" alt="" /></a></p><p>That&#8217;s it with the features.</p><p><strong>How to get it</strong>:</p><p>The new dependencies are: python-crypto and python-lxml. After installing those, just check it out from the Rapache&#8217;s branch on launchpad.</p><pre>sudo apt-get install python-crypto python-openssl python-lxml
sudo apt-get install python-glade2 python-gnome2-extras
sudo apt-get install python-gtk2 python-gtksourceview2 gksu
bzr branch lp:rapache
cd rapache
./rapache</pre><p>Please report any dependency issues you encounter.</p><p><strong>What&#8217;s next ?</strong></p><p>We will soon be putting Rapache in the PPA to let you get it from there. As <em>early eagle</em> is not yet released, we welcome anyone willing to test it to download it and report bugs.</p><p>We are also looking for non-debian contributors interested to see Rapache run on their distribution of choice. If you are amongst them, please get in touch.</p><p>We can be contacted:</p><ul><li>in #rapache, on freenode.</li><li>on the mailing list (<a
href="mailto:rapache-devel@lists.launchpad.net"><span
class="HcCDpe">rapache-devel@lists.launchpad.net</span></a>)</li></ul><p>Also, here&#8217;s the <a
href="http://launchpad.net/rapache">Rapache project homepage</a>.</p><p><strong>Big thanks !</strong></p><p>To <a
href="https://launchpad.net/~killerkiwi2005">Jason</a> for doing so much work! To <a
href="https://launchpad.net/~qense">Qense</a> for helping out with bugs and QA.</p><p><strong>Sorry !</strong></p><p>No <a
href="https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/269656">EULA</a> available yet. <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/early-eagle-taking-off/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>A new parser for Rapache</title><link>http://www.stefanoforenza.com/a-new-parser-for-rapache/</link> <comments>http://www.stefanoforenza.com/a-new-parser-for-rapache/#comments</comments> <pubDate>Fri, 29 Aug 2008 12:18:11 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=117</guid> <description><![CDATA[Writing a parser for Apache configuration files presented many interesting challenges. Along with the third rewrite of the parser (which shouldn&#8217;t considered &#8216;stable&#8217; yet, anyway) we tried to fullfill our need of having a more powerful API and managed to make the new API quite pythonic. I thought I&#8217;ll just post a little tutorial I [...]]]></description> <content:encoded><![CDATA[<p>Writing a parser for Apache configuration files presented many interesting challenges. Along with the third rewrite of the parser (which shouldn&#8217;t considered &#8216;stable&#8217; yet, anyway) we tried to fullfill our need of having a more powerful API and managed to make the new API quite pythonic.</p><p>I thought I&#8217;ll just post a little tutorial I wrote for it, in the case someone is interested in something like that.</p><p><strong>Warning:</strong> lots of grammatical errors down there. Late night writing <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p><strong>Warning !!: </strong>long and boring post.</p><h1>Rapache Parser</h1><p>The parser is currently in RapacheCore.LineElement. A rename will happen soon.</p><h2>Loading a file</h2><p>In this tutorial we&#8217;ll work mostly on this file:</p><pre>    ServerAlias www.example.com
    ServerAlias www.example.net
    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
    &lt;VirtualHost *&gt;
        ServerName example.org
        DocumentRoot /var/www/example.org/httpdocs
        ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
        ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
        ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
        ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
        ErrorDocument 666 /error/HTTP_FORBIDDEN.html.var
        ErrorDocument 666 /error/HTTP_NOT_FOUND.html.var
    &lt;/VirtualHost&gt;</pre><p>Let&#8217;s instance the parser and load the file:</p><pre>&gt;&gt;&gt; from RapacheCore.LineElement import Parser
&gt;&gt;&gt; p = Parser()
&gt;&gt;&gt; p.load ( 'tests/datafiles/errordocuments.conf' )</pre><h2>Basics</h2><p>The parser instance:</p><pre>&gt;&gt;&gt; print p
&lt;RapacheCore.LineElement.Parser object at 0x822256c&gt;</pre><p>The parser allows searching for directives and sections by its attributes. Every attribute (but .lines, .sections, .value and .opts) returns a selection object.</p><pre>&gt;&gt;&gt; print p.ErrorDocument
&lt;RapacheCore.LineElement.PlainSelection object at 0x825ee2c&gt;</pre><p>It is case insensitive, by the way</p><pre>&gt;&gt;&gt; print p.errordocument
&lt;RapacheCore.LineElement.PlainSelection object at 0x826faec&gt;</pre><p>2 specialized selections also exist: .lines and .sections. Everyone of these contains all the lines/sections to be found in the global scope of the loaded file.</p><pre>&gt;&gt;&gt; len ( p.lines )
21
&gt;&gt;&gt; len ( p.sections )
1</pre><h2>Selections</h2><p>A selection is an iterable object, which allow iteration on the group of lines/sections it rappresents.<br
/> For example p.ErrorDocument will return a selection of all the ErrorDocument directives in the global scope of the configuration file.</p><pre>&gt;&gt;&gt; print len (p.ErrorDocument)
17</pre><p>Direct access is also allowed.</p><pre>&gt;&gt;&gt; print p.ErrorDocument[0]
&lt;RapacheCore.LineElement.Line object at 0x8273aac&gt;
&gt;&gt;&gt; for line in p.ErrorDocument[0:3]: print line
&lt;RapacheCore.LineElement.Line object at 0x82789ac&gt;
&lt;RapacheCore.LineElement.Line object at 0x82789cc&gt;
&lt;RapacheCore.LineElement.Line object at 0x827888c&gt;</pre><h2>Lines</h2><p>Every directive is reppresented by a Line object.</p><pre>line = p.ServerAlias
&gt;&gt;&gt; line.value
'www.example.net'
&gt;&gt;&gt; print line.key
ServerAlias
&gt;&gt;&gt; print line.opts
&lt;RapacheCore.LineElement.Options object at 0x8273d2c&gt;</pre><p>The opts attribute treats the value as a list of sub-values separated by a space. It&#8217;s an iterable object, you can convert it easily to a list and you can set it from a list or a tuple.</p><pre>&gt;&gt;&gt;print list(line.opts)
['www.example.net']
&gt;&gt;&gt; line.opts = "test.example.net", "beta.example.net", "www.example.net"
&gt;&gt;&gt; print line.opts
&lt;RapacheCore.LineElement.Options object at 0x827366c&gt;
&gt;&gt;&gt; print list(line.opts)
['test.example.net', 'beta.example.net', 'www.example.net']
&gt;&gt;&gt; print line.value
test.example.net beta.example.net www.example.net
&gt;&gt;&gt; print line.opts[0]
test.example.net</pre><p>You can as well delete elements from .opts as you&#8217;d do with a normal list and so on.</p><h2>Selections meet lines</h2><p>Every selection object also support the Line interface. .value .key and .opts will work, and will refer to the last line in the selection (given that last line wins in apache configuration files this seems the best policy)</p><pre>&gt;&gt;&gt; print p.ErrorDocument.value
506 /error/HTTP_VARIANT_ALSO_VARIES.html.var</pre><p>You still can access the other lines as you would with list items</p><pre>&gt;&gt;&gt; print p.ErrorDocument[0].value
400 /error/HTTP_BAD_REQUEST.html.var</pre><p>Creating a new line is as easy as specifying a new value for a non existing directive. (if the directive already exists it will just be overwritten)</p><pre>&gt;&gt;&gt; len(p.lines)
21
&gt;&gt;&gt; p.fakeline.value = 'sdoij'
&gt;&gt;&gt; p.fakeline.value
'sdoij'
&gt;&gt;&gt; len(p.lines)
22</pre><p>As affirmed before, trying to create a directive that already exist will just overwrite the last existing line.</p><pre>&gt;&gt;&gt; len(p.lines)
22
&gt;&gt;&gt; p.ServerAlias.value = "www.example.org"
&gt;&gt;&gt; len(p.lines)
22</pre><p>As a possible exception to the &#8216;whatever you do on a selection, it&#8217;ll affect the last line in that selection&#8217; rule, deleting a selection will erase all the lines pertaining to it.</p><pre>&gt;&gt;&gt; len( p.ServerAlias )
2
&gt;&gt;&gt; del p.ServerAlias
&gt;&gt;&gt; len( p.ServerAlias )
0</pre><p>To be able to delete individual lines, just specify their index:</p><pre>&gt;&gt;&gt; len ( p.ErrorDocument )
17
&gt;&gt;&gt; p.ErrorDocument[-1].value
'506 /error/HTTP_VARIANT_ALSO_VARIES.html.var'
&gt;&gt;&gt; del p.ErrorDocument[-1]
&gt;&gt;&gt; len ( p.ErrorDocument )
16
&gt;&gt;&gt; p.ErrorDocument[-1].value
'503 /error/HTTP_SERVICE_UNAVAILABLE.html.var'</pre><h2>Searching</h2><p>As not every directive in Apache configuration files is meant to be unique (ErrorDocument for example), searching may be necessary.</p><p>You can search using the .search() method, specifying a list of searched options as parameters.<br
/> The search will return a Selection so quite everything valid for selections (iterating, last line wins, etc) will be valid for search result</p><pre>&gt;&gt;&gt; len( p.ErrorDocument.search([404]) )
1
&gt;&gt;&gt; p.ErrorDocument.search([404]).value
'404 /error/HTTP_NOT_FOUND.html.var'</pre><p>It&#8217;s possible to search for just the second option, just specify None as the first option</p><pre>&gt;&gt;&gt; p.ErrorDocument.search([None, '/error/HTTP_NOT_FOUND.html.var']).value
'404 /error/HTTP_NOT_FOUND.html.var'</pre><p>You can modify the value of the searched lines easily:</p><pre>&gt;&gt;&gt; p.ErrorDocument.search([404]).opts = [404, '/error/NEW_ERROR.html.var']
&gt;&gt;&gt; p.ErrorDocument.search([404]).value
'404 /error/NEW_ERROR.html.var'</pre><p>As an exception, deleting all the found lines requires the use of the delete() method.</p><pre>&gt;&gt;&gt; p.ErrorDocument.search([404]).delete()
&gt;&gt;&gt; len( p.ErrorDocument.search([404]) )
0</pre><h2>Sections</h2><p>A section is a part of the config file enclosed in some &lt;TAG&gt;&lt;/TAG&gt;. Every directive or sub-section inside a section is not accessible from the outscope selections. (i.e.: p.ErrorDocument won&#8217;t return the entries inside a &lt;VirtualHost&gt;).<br
/> You can get a selection of sections in the very same way you access lines. Also, the sections behave the precise same way as the Parser class.</p><pre>&gt;&gt;&gt; len( p.VirtualHost )
1
&gt;&gt;&gt; len( p.VirtualHost.ErrorDocument )
6</pre><p>Sections also implement the Line interface, which means you that expose .key,.value and .opts attributes you can manipulate</p><pre>&gt;&gt;&gt; print p.VirtualHost.key
VirtualHost
&gt;&gt;&gt; print p.VirtualHost.value
*</pre><p>While sections are deletable the exact same ways as line, they you can&#8217;t create the same way you do with lines.<br
/> p.Directory.value = &#8221;/var/www&#8221;, for example, would create a line &#8220;Directory /var/www&#8221; and not a full section, and that will cause Apache to complain on the next restart. That&#8217;s because the parser has no way to know that you want to create a section.</p><p>To create a section, you should use the following code:</p><pre>&gt;&gt;&gt; v.sections.create( 'VirtualHost',  '*:80')
&gt;&gt;&gt; p.sections.create( 'VirtualHost',  '*:80')
&lt;RapacheCore.LineElement.Section object at 0x8260f2c&gt;
&gt;&gt;&gt; p.VirtualHost.get_as_str()
'&lt;VirtualHost *:80&gt;\n&lt;/section&gt;\n'</pre><h2>Getting/Setting the content</h2><p>You can get and set the config file into the parser not only via load() but also passing in a list or string.</p><ul><li>p.set_from_str( string ) : sets the content from a string</li><li>p.set_from_list( list ) : sets the content from a list of individual lines</li><li>p.get_as_str() : returns content as a string</li><li>p.get_as_list() : returns content as a list containing individual lines</li></ul> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/a-new-parser-for-rapache/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Syntax Highlightining in Python</title><link>http://www.stefanoforenza.com/syntax-highlightining-in-python/</link> <comments>http://www.stefanoforenza.com/syntax-highlightining-in-python/#comments</comments> <pubDate>Mon, 21 Jul 2008 19:13:14 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=63</guid> <description><![CDATA[Working on Rapache, it&#8217;s been a while I wanted to add syntax highlightining, but I didn&#8217;t dare too loose time on a &#8220;side feature&#8221; like that. Last night though, Jason came in chat, and pasted me the code to do that straight away. That was nice, I only needed to paste that code in the [...]]]></description> <content:encoded><![CDATA[<p>Working on <a
href="http://launchpad.net/rapache">Rapache</a>, it&#8217;s been a while I wanted to add syntax highlightining, but I didn&#8217;t dare too loose time on a &#8220;side feature&#8221; like that. Last night though, <a
href="https://launchpad.net/~killerkiwi2005">Jason</a> came in chat, and pasted me the code to do that straight away. That was nice, I only needed to paste that code in the source and make little adjustments.</p><p>Some little glitches arose though, so I eventually had to work a little more on it. I just thought I&#8217;d share what I had to do with other people.</p><p>My problems:</p><ul><li>I had to put together a language definition for Apache config files, since no one currently exists</li><li>I had to find out how to read if from a non system dir (ie. from my program data directory)</li></ul><p>This is the <a
href="http://live.gnome.org/GtkSourceView/LanguageDefinitions?action=AttachFile&amp;do=view&amp;target=apache.lang">Apache .lang file</a> (needs more love, but that&#8217;s a start) ended up with.</p><p>Here&#8217;s the code:</p><pre>import gtksourceview2
custom_langs_path = '/home/myuser/mydir/datafiles'
bufferS = gtksourceview2.Buffer()
manager = gtksourceview2.LanguageManager()
manager.set_search_path( [ custom_langs_path ] + manager.get_search_path() )
language = manager.get_language('apache')
bufferS.set_language(language)
bufferS.set_highlight_syntax(True)
sourceview = gtksourceview2.View(bufferS)
sourceview.set_show_line_numbers(True)
#TODO sniff gnome default monospace font
sourceview.modify_font(pango.FontDescription("monospace 10"))</pre><p>This is how the final result looks like:</p><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-syntax-highlightining.png"><img
class="aligncenter size-full wp-image-64" title="rapache-syntax-highlightining" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-syntax-highlightining.png" alt="" /></a></p><p>Everything looks nicer now ! <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/syntax-highlightining-in-python/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Rapache by night</title><link>http://www.stefanoforenza.com/rapache-by-night/</link> <comments>http://www.stefanoforenza.com/rapache-by-night/#comments</comments> <pubDate>Thu, 03 Jul 2008 05:54:17 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=59</guid> <description><![CDATA[It&#8217;s been a while from the last post about Rapache. So I thought time has come to make our last progresses public. For those who doesn&#8217;t know Rapache is a GTK utility that tries to ease the configuration of Apache on Debian alike systems. This night was a long night . It&#8217;s 6.48am here, so [...]]]></description> <content:encoded><![CDATA[<p>It&#8217;s been a while from the <a
href="http://www.stefanoforenza.com/hitting-the-duck/">last post about Rapache</a>. So I thought time has come to make our last progresses public.</p><p>For those who doesn&#8217;t know <a
title="Rapache's Launchpad page" href="https://launchpad.net/rapache">Rapache</a> is a GTK utility that tries to ease the configuration of <strong>Apache</strong> on Debian alike systems.</p><p>This night was a long night <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . It&#8217;s 6.48am here, so I&#8217;ll just get to the point: <strong>features</strong> ! <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p><strong>Not so fast, baby !</strong></p><ul><li>Thanks to <a
href="https://launchpad.net/~qense">Qense</a>, Rapache now detects if Apache is not installed and refuses to run.</li></ul><p
style="text-align: left;"><strong>What&#8217;s new in the Main window<br
/> </strong></p><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-main.png"><img
class="aligncenter size-full wp-image-61" title="rapache-main" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-main.png" alt="" /></a></p><ul><li>Rapache now features two handy buttons, one to open a VirtualHost URL in the default browser and one to browse the DocumentRoot folder with Nautilus</li><li>We moved the problem handling (for now just virtualhost not conforming to debian guidelines) in a separate tab, which appears only when its needed.</li></ul><p><strong>Edit window completely redesigned</strong></p><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-edit-window.png"><img
class="aligncenter size-full wp-image-60" title="rapache-edit-window" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-edit-window.png" alt="New rapache editing window" /></a></p><ul><li><a
href="https://launchpad.net/~killerkiwi2005">This guy</a>, other than helping tremendously in other parts of the software, completely redesigned the VirtualHost creation window</li><li>Rapache now allows to specify any number of aliases to be associated with the virtual host.</li></ul><p><strong>We has modulez !</strong></p><p><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-modules.png"><img
class="aligncenter size-full wp-image-62" title="rapache-modules" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/07/rapache-modules.png" alt="Rapache Modules handling" /></a></p><ul><li>Module enabling/disabling was put in place. Things are not perfect, but works nicely.</li><li>Many modules show a brief description just under the module name. I love this one <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</li><li>We also detect the dependencies (and that work is misspelled in the screenshot above and in the actual program &#8211; deep apologies) of every module.</li><li>Modules .conf files editing is in the works. Not available at the moment, sorry !</li></ul><p><strong>How to get it</strong></p><p>Beware, this is still an alpha release and it took a fair amount of refactoring, so you&#8217;re likely to find little glitches here and there. Despite of that, we are likely to package it today or tomorrow on our PPA. If you&#8217;re not prone to wait, you can check it out right now with bzr:</p><pre>#install bazaar if you don't already have it
sudo apt-get install bzr
#to get rapache
bzr branch lp:~rapache-devel/rapache/rapache-stage0
#to launch it
cd rapache-stage0
./rapache</pre><p>If you prefer to wait to get the old version from the repository and just wait for updates you can add <a
href="https://launchpad.net/~rapache-devel/+archive">these lines</a> to your repository list and then:</p><pre>#install it
sudo apt-get install rapache
#run it
rapache</pre><p><strong>Lending an hand</strong></p><p>You can always lend us an hand.</p><ul><li>If you&#8217;re interested in the project, just checkout the <a
title="Rapache's Launchpad page" href="https://launchpad.net/rapache">Launchpad Page</a>, or drop to say hi in <a
href="irc://irc.freenode.net/rapache">#rapache on freenode</a>. Feel free to <a
href="https://code.launchpad.net/~rapache-devel/rapache/rapache-stage0">branch the last revision</a>, play with it and propose it for merge.</li></ul><ul><li><a
href="https://bugs.launchpad.net/rapache/+filebug">If you have any suggestion please open a bug</a> in launchpad, we&#8217;d love to hear from you !</li><li>Let you friends know about the project, this could help us get some contributors. Digg or share the link of this page and/or project page, or post it in your favourite forum.</li></ul> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/rapache-by-night/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Hitting the duck</title><link>http://www.stefanoforenza.com/hitting-the-duck/</link> <comments>http://www.stefanoforenza.com/hitting-the-duck/#comments</comments> <pubDate>Mon, 16 Jun 2008 11:57:09 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[projects]]></category> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=47</guid> <description><![CDATA[It&#8217;s been 2 busy days. I didn&#8217;t really expected to receive any response on my previous post about Rapache and that was cool. Some of the received suggestion have been  already implemented, so, if you&#8217;re still interested in Rapache, pull it from stage0 branch and check it out. Shhht! Don&#8217;t tell anyone, the secret command [...]]]></description> <content:encoded><![CDATA[<p>It&#8217;s been 2 busy days. I didn&#8217;t really expected to receive any response on my previous post about Rapache and that was cool. Some of the received suggestion have been  already implemented, so, if you&#8217;re still interested in Rapache, pull it from stage0 branch and check it out.</p><p>Shhht! Don&#8217;t tell anyone, the secret command to get the code is:</p><pre>bzr branch lp:~rapache-devel/rapache/rapache-stage0</pre><p><strong>Some people asked how to help.</strong></p><p>Well, the first way to help is to open new bugs (even for feature requests, just open a bug and explain your idea). You can do it at <a
href="https://launchpad.net/rapache">https://launchpad.net/rapache</a> .</p><p>The second way is actually&#8230; to solve bugs, or indicate a way to solve them. I&#8217;ve tagged a bunch of them as &#8216;need-help&#8217;. You cand find them here: <a
href="https://bugs.launchpad.net/rapache/+bugs?field.tag=need-help">https://bugs.launchpad.net/rapache/+bugs?field.tag=need-help</a>. For this kind of bugs, we don&#8217;t need a full patch, you can just send a proof of concept indicating how to solve the bug. That would save us a nice amount of googling <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p><strong>I forgot to say: thank you thank you thank you.</strong></p><p>Thank you thank you thanks to you all for having told me that rapache gui sucked. Shame on you <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . I tried to re-organize the main window at the best of my skills. We also had to wake up <a
href="https://launchpad.net/~pollelu">Luana</a> and ask her to revamp our application icon.</p><p
style="text-align: center;">Here is the result of all the effort:<a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-can-fix-it.png"><img
class="aligncenter size-full wp-image-48" title="rapache-can-fix-it" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-can-fix-it.png" alt="Rapache can fix it" /></a></p><p
style="text-align: left;">As you can see Rapache can now take care of vhost definitions only present into /etc/apache2/sites-enabled and not present inside sites-available (the correct way would be to create the vhost configuration file inside sites-available and then link to it from sites-enabled in order to enabling it).</p><p
style="text-align: left;"><strong>How do Rapache and Ubuntu relate ?</strong></p><p
style="text-align: left;">My very first aim with Rapache was to help webdev beginners and webdesigner (oh, they hate configuration files so much) to quickly be able to handle apache in the correct way. Giving support in ubuntu irc support channels I noticed many people came there asking how to set up apache and, even easy as it is creating a new virtual host, helping them required a lot of time each.</p><p
style="text-align: left;">As for now, the primary goal of apache is to get in a decent shape soon enough to be proposed for Intrepid universe repositories. In order to be able to accomplish such goal, we should focus on a realistic set of features and test them enough to make everything working smoothly. It&#8217;s of course better a small working program than a big buggy ball of mud.</p><p
style="text-align: left;">That said: which features do you think we still miss in order to make sense for a repo inclusion ? Would you open some bug in launchpad and tell us about what we need to do ? Help us <a
href="http://www.stefanoforenza.com/me-and-rapache/#comment-22230">hit the duck</a> <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p
style="text-align: left;"><strong>Come say &#8220;hello!&#8221;</strong></p><p
style="text-align: left;">Last post I forgot to tell we have an irc channel on freenode. Feel free to drop in #rapache to greet us and talk to us.</p> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/hitting-the-duck/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Me and Rapache</title><link>http://www.stefanoforenza.com/me-and-rapache/</link> <comments>http://www.stefanoforenza.com/me-and-rapache/#comments</comments> <pubDate>Sat, 14 Jun 2008 11:01:16 +0000</pubDate> <dc:creator>Stefano Forenza</dc:creator> <category><![CDATA[projects]]></category> <category><![CDATA[rapache]]></category> <category><![CDATA[ubuntu]]></category> <guid
isPermaLink="false">http://www.stefanoforenza.com/?p=42</guid> <description><![CDATA[For those who missed the announce on Ubuntu Planet, a new project &#8211; called Rapache &#8211; is born. What is Rapache ? Rapache is a simple Apache administration tool. It offers a GTK interface to allow extremely rapid VirtualHost creation and manipulation. Favicons add a nice touch to the list Personally, as a web developer, [...]]]></description> <content:encoded><![CDATA[<p>For those who missed the announce on Ubuntu Planet, a new project &#8211; called <a
href="http://launchpad.net/rapache">Rapache</a> &#8211; is born.</p><p><strong>What is Rapache ?</strong></p><p>Rapache is a simple Apache administration tool. It offers a GTK interface to allow extremely rapid VirtualHost creation and manipulation.</p><p
style="text-align: center;"><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-alpha.png"><img
class="aligncenter size-full wp-image-43" title="Rapache\'s virtual-hosts list" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-alpha.png" alt="Picture that shows the main window of Rapache" /></a><br
/> <em>Favicons add a nice touch to the list <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br
/> </em></p><p>Personally, as a web developer, I felt the need of a simple tool to manage virtualhosts on my localhost for a long time, just because creating them at hand is way too time consuming than I&#8217;d like. Then, right after stumbling on <a
href="http://clickontyler.com/virtualhostx/">this</a> and reading users comments (some may be biased, I know), I decided to make such a tool by myself.</p><p>Funnily enough, me and <a
href="http://en.emanuele-gentili.com/">Emgent</a> had the same idea at the same time so, when he <a
href="http://en.emanuele-gentili.com/index.php/2008/05/29/rapache-stay-tuned/">announced</a> the project, I got in touch with him and we decided to join forces.</p><p
style="text-align: center;"><a
href="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-vhost-detail.png"><img
class="aligncenter size-full wp-image-44" title="Rapache Virtualhost creation" src="http://www.stefanoforenza.com/blog/wp-content/uploads/2008/06/rapache-vhost-detail.png" alt="Rapache Virtualhost creation" /></a></p><p><strong>What to expect</strong></p><p>Personally I would have not announced the project before having already put together the basic program. We divided our roadmap in basically 3 stages, the first being my original previous goal.</p><ul><li><strong>Stage 0:</strong> basic functionality on localhost. Virtual hosts and Apache modules enabling/disabling/modification. Aimed to web developers.</li><li><strong>Stage 1:</strong> Localization, more polished Gui. Functional separation before GUI and Libraries (i.e. a number of handy commands you can use from commandline). A number of handy wizards to handle common configuration issue. More Apache configuration options available from the GUI</li><li><strong>Stage 2:</strong> Sky&#8217;s the limit <img
src='http://www.stefanoforenza.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Handling remote servers via SSH. Server bookmarking.</li></ul><p><strong>What not to expect</strong></p><p>At the moment we&#8217;re relying on debian way to handle Apache configuration. So do not expect to be able to run Rapache on a non-debian system at lease before Stage 3, maybe not even afterwards. That&#8217;s mainly because the debian way of manage Apache confs is much more easy to handle than the upstream&#8217;s one.</p><p>In a way we&#8217;re creating Rapache for Ubuntu itself (and Debian, by reflex) rather than for Linux in general. Despite of that we&#8217;re open for people willing to help us hacking it to work on non-debian systems either.</p><p><strong>Where to find us</strong></p><ul><li>Launchpad project page: <a
href="https://launchpad.net/rapache">https://launchpad.net/rapache</a></li><li>Messy wiki page: <a
href="https://wiki.ubuntu.com/Rapache">https://wiki.ubuntu.com/Rapache</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://www.stefanoforenza.com/me-and-rapache/feed/</wfw:commentRss> <slash:comments>12</slash:comments> </item> </channel> </rss>
