<?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"
	>

<channel>
	<title>RavenCore</title>
	<atom:link href="http://www.ravencore.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ravencore.com</link>
	<description>Open Source Hosting Control Panel</description>
	<pubDate>Sun, 11 May 2008 21:46:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>round-robin balancing with iptables</title>
		<link>http://www.ravencore.com/blog/2008/05/round-robin-balancing-with-iptables/</link>
		<comments>http://www.ravencore.com/blog/2008/05/round-robin-balancing-with-iptables/#comments</comments>
		<pubDate>Sun, 11 May 2008 21:46:53 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[ideas]]></category>

		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=62</guid>
		<description><![CDATA[So I&#8217;ve been playing with balance some more and have decided that although it is a good program, iptables can do better.
With iptables you can use various modules to mangle and forward a connection, thus preserving the source IP address (which is one of the problems with balance - your apache nodes see the IP [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been playing with <a href="http://www.inlab.de/balance.html">balance</a> some more and have decided that although it is a good program, iptables can do better.</p>
<p>With iptables you can use various modules to mangle and forward a connection, thus preserving the source IP address (which is one of the problems with balance - your apache nodes see the IP address of your balance machine, and not the client).</p>
<p>Now I&#8217;m no iptables expert, but I&#8217;ve been able to hold my own over the years. If you happen to know more then me and spot a goof, let me know.</p>
<p>In this example, the iptables the 192.168.1.10 server gets these rules:</p>
<p>/sbin/iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m statistic &#8211;mode nth &#8211;every 5 &#8211;packet 1 -m state &#8211;state new -j CONNMARK &#8211;set-mark 1<br />
/sbin/iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m statistic &#8211;mode nth &#8211;every 5 &#8211;packet 2 -m state &#8211;state new -j CONNMARK &#8211;set-mark 2<br />
/sbin/iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m statistic &#8211;mode nth &#8211;every 5 &#8211;packet 3 -m state &#8211;state new -j CONNMARK &#8211;set-mark 3<br />
/sbin/iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m statistic &#8211;mode nth &#8211;every 5 &#8211;packet 4 -m state &#8211;state new -j CONNMARK &#8211;set-mark 4<br />
/sbin/iptables -t mangle -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m statistic &#8211;mode nth &#8211;every 5 &#8211;packet 0 -m state &#8211;state new -j CONNMARK &#8211;set-mark 5<br />
/sbin/iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m connmark &#8211;mark 1 -j DNAT &#8211;to-destination 192.168.1.50:80<br />
/sbin/iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m connmark &#8211;mark 2 -j DNAT &#8211;to-destination 192.168.1.51:80<br />
/sbin/iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m connmark &#8211;mark 3 -j DNAT &#8211;to-destination 192.168.1.52:80<br />
/sbin/iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m connmark &#8211;mark 4 -j DNAT &#8211;to-destination 192.168.1.53:80<br />
/sbin/iptables -t nat -A PREROUTING -d 192.168.1.10 -p tcp &#8211;dport 80 -m connmark &#8211;mark 5 -j DNAT &#8211;to-destination 192.168.1.54:80</p>
<p>If this is all greek to you - here is the explanation:</p>
<p>* Filter NEW connections that are destined to 192.168.1.10 port 80<br />
* Mark each filtered packet with a number<br />
* Each is marked in sequence, 1 through 5<br />
* Each marked packet is sent to port 80 on a given IP address, depending on the marked number<br />
* There are 5 apache nodes, 192.168.1.50 through .54</p>
<p>This was done using iptables 1.4.0 built on a CentOS 5 machine, on a local network using virtual machines running apache version 2.2. Above rules may vary depending on network and firewall setup. Turning on forwarding may also be necessary ( echo 1 > /proc/sys/net/ipv4/ip_forward )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/round-robin-balancing-with-iptables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;m now an admin of rootsh</title>
		<link>http://www.ravencore.com/blog/2008/05/im-now-an-admin-of-rootsh/</link>
		<comments>http://www.ravencore.com/blog/2008/05/im-now-an-admin-of-rootsh/#comments</comments>
		<pubDate>Sat, 10 May 2008 07:00:07 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[packages]]></category>

		<category><![CDATA[rootsh]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=61</guid>
		<description><![CDATA[I&#8217;ve attempted to contact the developer of rootsh a few times with no luck; I finally submitted a request to take over admin ownership of the project. With the developer off the face of the earth and no file releases out in just over 3 years, they granted me admin access.
Since I apparently missed the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve attempted to contact the developer of <a href="https://sourceforge.net/projects/rootsh/">rootsh</a> a few times with no luck; I finally submitted a request to take over admin ownership of the project. With the developer off the face of the earth and no file releases out in just over 3 years, they granted me admin access.</p>
<p>Since I apparently missed the memo in my email&#8230; I didn&#8217;t find out it went through until tonight. So me pushing out the next release will have to wait till tomorrow. I have about 4 patches I posted on the site, I&#8217;ll consolidate them and put out version 1.5.3 of rootsh.</p>
<p>And since it&#8217;s now a project I maintain, I&#8217;ll be posting the source RPMs for it in my <a href="http://www.ravencore.com/packages/">packages</a> directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/im-now-an-admin-of-rootsh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>setting up a multi-server cluster</title>
		<link>http://www.ravencore.com/blog/2008/05/setting-up-a-multi-server-cluster/</link>
		<comments>http://www.ravencore.com/blog/2008/05/setting-up-a-multi-server-cluster/#comments</comments>
		<pubDate>Sat, 10 May 2008 05:11:01 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[ideas]]></category>

		<category><![CDATA[cluster]]></category>

		<category><![CDATA[LB]]></category>

		<category><![CDATA[RavenCore]]></category>

		<category><![CDATA[srce]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=60</guid>
		<description><![CDATA[I did some searching for open source LBs and came across what looked to be promising:
http://www.inlab.de/balance.html
Initial tests show it to work as advertised, and very well at that. I haven&#8217;t by any means been using it very long (I only found it this evening) so I can&#8217;t vouch for it&#8217;s long-term stability or talk about [...]]]></description>
			<content:encoded><![CDATA[<p>I did some searching for open source LBs and came across what looked to be promising:</p>
<p><a href="http://www.inlab.de/balance.html">http://www.inlab.de/balance.html</a></p>
<p>Initial tests show it to work as advertised, and very well at that. I haven&#8217;t by any means been using it very long (I only found it this evening) so I can&#8217;t vouch for it&#8217;s long-term stability or talk about any quarks, I&#8217;ll be sure to post another update about it in the future.</p>
<p>Anyway, if all works out with this; looks like I&#8217;m going to have a definitive path for ravencore&#8217;s multi-server cluster plans. Over the past two years I have been debating how to set it up, and I&#8217;ve finally decided how it&#8217;s going to be.</p>
<p>Instead of setting up domain A on server X and domain B on server Y, all domains will be setup on all nodes. You&#8217;ll define the &#8220;storage&#8221; server (which mounts the vhost root nfs and all the slave nodes mount the vhost root to point to that share), You&#8217;ll define the &#8220;LB&#8221; server (which runs either the above mentioned software, or something else if it doesn&#8217;t work out), and on each non-storage, non-LB server you define what service(s) that node will use (http, smtp, imap, dns, etc).</p>
<p>This, combined with xen controls, should supercharge anyone using ravencore to increase their ability to handle larger and larger network loads by just adding more and more servers to the cluster, everything will &#8220;just work&#8221; after it&#8217;s plugged in, increasing capacity instantly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/setting-up-a-multi-server-cluster/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQLUB updated</title>
		<link>http://www.ravencore.com/blog/2008/05/sqlub-updated/</link>
		<comments>http://www.ravencore.com/blog/2008/05/sqlub-updated/#comments</comments>
		<pubDate>Fri, 09 May 2008 15:12:17 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[packages]]></category>

		<category><![CDATA[CPAN]]></category>

		<category><![CDATA[perl]]></category>

		<category><![CDATA[sharesource]]></category>

		<category><![CDATA[sourceforge]]></category>

		<category><![CDATA[sqlub]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=59</guid>
		<description><![CDATA[I updated the SQLUB code this morning to separate the package into a .pm file, and build it as a CPAN bundled perl module. It&#8217;s all in subversion:
http://ravencore.svn.sourceforge.net/viewvc/ravencore/branches/sqlub/
Oh gosh sourceforge is sooooo slow sometimes. I can&#8217;t wait to have sqlub setup on http://sharesource.org/ so my commits don&#8217;t take a whole damn hour to upload 276k [...]]]></description>
			<content:encoded><![CDATA[<p>I updated the SQLUB code this morning to separate the package into a .pm file, and build it as a CPAN bundled perl module. It&#8217;s all in subversion:</p>
<p><a href="http://ravencore.svn.sourceforge.net/viewvc/ravencore/branches/sqlub/">http://ravencore.svn.sourceforge.net/viewvc/ravencore/branches/sqlub/</a></p>
<p>Oh gosh sourceforge is sooooo slow sometimes. I can&#8217;t wait to have sqlub setup on <a href="http://sharesource.org/">http://sharesource.org/</a> so my commits don&#8217;t take a whole damn hour to upload 276k worth of code.</p>
<p>This is the first time I built to be installed like a CPAN perl module, so I may have missed some things, but the general make and make install put the code and man pages in the right places. Soon I&#8217;ll get a .spec file built and post a source RPM as well, have the sqlub.pl be installed by the makefile as well, and have the sqlub.sql actually create the database upon install (you have to do those manually at this point).</p>
<p>More updates to come later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/sqlub-updated/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Programming Pasta</title>
		<link>http://www.ravencore.com/blog/2008/05/programming-pasta/</link>
		<comments>http://www.ravencore.com/blog/2008/05/programming-pasta/#comments</comments>
		<pubDate>Fri, 09 May 2008 04:25:51 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=58</guid>
		<description><![CDATA[Today I sent over a patch to Tim Post for srce, he revised it and sent it back to me for sign-off. A quick read through and I saw this item:
/* TODO: Fix me, this function is beginning to resemble pasta */
Finding it rather humorous, I brought it up to him. This was his reply:
Well, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I sent over a patch to <a href="http://echoreply.us/">Tim Post</a> for srce, he revised it and sent it back to me for sign-off. A quick read through and I saw this item:</p>
<pre>/* TODO: Fix me, this function is beginning to resemble pasta */</pre>
<p>Finding it rather humorous, I brought it up to him. This was his reply:</p>
<p>Well, there are varying degrees of pasta:<br />
* you have linguini, easy to sort<br />
* feutticini , a little harder<br />
* spaghetti, annoying<br />
* then angel hair pasta, impossible<br />
right now, its at linguini</p>
<p>I wonder, though, because Tim made another comment: &#8220;but would a well written program be lasagna?&#8221;</p>
<p>We got to talking some more about this as it had the potential to get really silly&#8230;</p>
<p>Would an over abundance of perl modules mean risotto?</p>
<p>Are C libraries a bunch of tortellini? - Why yes, but you have cheese, beef &#8230; and vegan </p>
<p>Then you have ravioli , those are crypt libraries because you can never be too sure whats in them&#8230;</p>
<p>Of course there&#8217;s that whole diet libc thing &#8230; would that be &#8216;Adkins&#8217; pasta?</p>
<p>Now, a rare pasta.. for c++ libs? - Tim couldn&#8217;t think of one, he doesn&#8217;t eat processed foods.</p>
<p>As for assembly&#8230; that&#8217;s the dough that eventually becomes angel hair pasta.</p>
<p>Since &#8216;flex&#8217; is usually used to generate lexical parsers, that would be the rolling pin.</p>
<p>Pasta Salad: This is what happens when the angry fruit salad of an interface is more complicated than the pasta found in the code. We call this &#8220;Mayo&#8221;</p>
<p>Pasta with meatballs maybe is tainted kernel code? No, those are &#8216;blobs&#8217;, Linus put them there.</p>
<p>And if you ask me, parsing strings in C must be the pasta that was left on the counter overnight; it&#8217;s real hard and sticks badly. Tim disagrees, though couldn&#8217;t come up with an alternative.</p>
<p>Xen is the spaghetti resulting from when your Aunt Margret stole the recipie from Grandpa, a retired Colonel.</p>
<p>And there is no pasta crazy enough for m4; so we&#8217;ll just call it fucking psychotic:</p>
<pre>
AC_ARG_ENABLE(unsafe, [ --enable-unsafe          enable unsafe operation [[default=no]]],[
  if test "$enableval" = no; then
    ac_enable_unsafe=no
  else
    ac_enable_unsafe=yes
  fi
  ],[ ac_enable_unsafe=no])
</pre>
<p>All that for one goddamn switch!!!</p>
<p>Quite the revelation. These remarks remind me of this one I read a little while ago:</p>
<p><a href="http://compsci.ca/blog/if-a-programming-language-was-a-boat/">If a programming language was a boat</a></p>
<p>I agree with most of them&#8230; PHP itself isn&#8217;t a bamboo raft, just a lot of people&#8217;s PHP code ends up looking like one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/programming-pasta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>roadmap and development highlights</title>
		<link>http://www.ravencore.com/blog/2008/05/roadmap-and-development-highlights/</link>
		<comments>http://www.ravencore.com/blog/2008/05/roadmap-and-development-highlights/#comments</comments>
		<pubDate>Tue, 06 May 2008 04:43:06 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[RavenCore]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=57</guid>
		<description><![CDATA[Look at the wiki for these updates. To summarize, the 0.7.x series expands portability, security, and lessens administrative and code overhead. The version 1.0.x series will add multi-server control using the SRCE project, located at http://srce.echoreply.us/
On the SRCE note, I started using it about a week ago. I really love it, and am very confident [...]]]></description>
			<content:encoded><![CDATA[<p>Look at the wiki for these updates. To summarize, the 0.7.x series expands portability, security, and lessens administrative and code overhead. The version 1.0.x series will add multi-server control using the <a href="http://srce.echoreply.us/">SRCE</a> project, located at <a href="http://srce.echoreply.us/">http://srce.echoreply.us/</a></p>
<p>On the SRCE note, I started using it about a week ago. I really love it, and am very confident that I&#8217;ll be able to include it as an add-on to RavenCore for multi-server support not long down the road.</p>
<p>Anyway, in a battery of tests of SRCE I noticed something fishy and brought it to the attention to the developer, providing him with a patch for the issue. Less then 12 hours later he posted it as a <a href="http://srce.echoreply.us/hg/srce.hg/?rev/ad5a9c689dec">security patch</a> on the mailinglist which contains the patch I sent him, for srce-exec.c, along with a configuration change. Yay me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/roadmap-and-development-highlights/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQLite Unified Bootloader</title>
		<link>http://www.ravencore.com/blog/2008/05/sqlite-unified-bootloader/</link>
		<comments>http://www.ravencore.com/blog/2008/05/sqlite-unified-bootloader/#comments</comments>
		<pubDate>Mon, 05 May 2008 05:36:24 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[packages]]></category>

		<category><![CDATA[grub]]></category>

		<category><![CDATA[sqlub]]></category>

		<category><![CDATA[Tim Post]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=55</guid>
		<description><![CDATA[From an idea on Tim Post&#8217;s website, I decided to start the SQLite Unified Bootloader project, or &#8220;sqlub&#8221; for short. This is a fork of the &#8220;GRand Unified Bootloader&#8221;, more commonly known as &#8220;grub&#8221;, and aims to make the editing of your grub configuration easier for programs. So far this past week, Tim and I [...]]]></description>
			<content:encoded><![CDATA[<p>From an idea on <a href="http://echoreply.us/">Tim Post&#8217;s</a> website, I decided to start the SQLite Unified Bootloader project, or &#8220;sqlub&#8221; for short. This is a fork of the &#8220;GRand Unified Bootloader&#8221;, more commonly known as &#8220;grub&#8221;, and aims to make the editing of your grub configuration easier for programs. So far this past week, Tim and I have exchanged many ideas and have agreed on the general db structure to start with.</p>
<p>This project will have three stages:</p>
<p>1) Build userspace tools to edit the sqlub database both manually and with a program API</p>
<p>2) Write a patch to the grub source to read the sqlub database instead of the grub.conf file, if it exists</p>
<p>3) Attempt to get this patch put into the mainstream grub program</p>
<p>Currently I am in phase 1, and at least have something that works (for me). For now, the code is posted in the ravencore subversion repo, here:</p>
<p><a href="http://ravencore.svn.sourceforge.net/viewvc/ravencore/branches/sqlub/">http://ravencore.svn.sourceforge.net/viewvc/ravencore/branches/sqlub/</a></p>
<p>I&#8217;ll be putting up a separate website for this project in the near future, as the code matures. The utility is written in perl for the moment, it&#8217;s likely to be ported to C (but also maintained in perl).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/sqlite-unified-bootloader/feed/</wfw:commentRss>
		</item>
		<item>
		<title>package updates</title>
		<link>http://www.ravencore.com/blog/2008/05/package-updates/</link>
		<comments>http://www.ravencore.com/blog/2008/05/package-updates/#comments</comments>
		<pubDate>Sun, 04 May 2008 00:28:20 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[RavenCore]]></category>

		<category><![CDATA[packages]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=54</guid>
		<description><![CDATA[I&#8217;m starting to get more things into my public packages repo:
http://www.ravencore.com/packages/
The latest of them include SRCE, amavisd-new, dovecot, and sqlite. For now only the source RPMs are being posted because I don&#8217;t have the space or bandwidth on this tiny VM to do much else. Once I get a full machine colocated somewhere, I&#8217;ll be [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting to get more things into my public packages repo:</p>
<p><a href="http://www.ravencore.com/packages/">http://www.ravencore.com/packages/</a></p>
<p>The latest of them include SRCE, amavisd-new, dovecot, and sqlite. For now only the source RPMs are being posted because I don&#8217;t have the space or bandwidth on this tiny VM to do much else. Once I get a full machine colocated somewhere, I&#8217;ll be throwing them all into a YUM repository.</p>
<p>My goal is to provide stable versions of the latest software which matter in the realm of RavenCore. You can stick with an enterprise distro and still have all the nifty features of some select packages.</p>
<p>My latest accomplishment with the new mail configuration is getting postfix to work with amavisd-new-milter, so your mail detected as SPAM actually gets rejects at connect time. Honest mailers will get the rejection right away and know that their mail is being marked as spam, some spammers will not try your email address again (due to logging the 550 rejection) and other spammers will just continue to knock and never get through.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/package-updates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>upgrade yum on centos5</title>
		<link>http://www.ravencore.com/blog/2008/05/upgrade-yum-on-centos5/</link>
		<comments>http://www.ravencore.com/blog/2008/05/upgrade-yum-on-centos5/#comments</comments>
		<pubDate>Thu, 01 May 2008 16:05:51 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=53</guid>
		<description><![CDATA[CentOS5 uses yum-3.0. Nothing wrong with this, it&#8217;s a good version (whole loads better then yum-2.x) but I miss the features that are coming out in the latest versions used in Fedora. I decided to try giving an upgrade to yum a whirl.
Short story even shorter, here is a list of RPMs I had to [...]]]></description>
			<content:encoded><![CDATA[<p>CentOS5 uses yum-3.0. Nothing wrong with this, it&#8217;s a good version (whole loads better then yum-2.x) but I miss the features that are coming out in the latest versions used in Fedora. I decided to try giving an upgrade to yum a whirl.</p>
<p>Short story even shorter, here is a list of RPMs I had to build from source to get all the new dependancies:</p>
<p>glib2-2.16.3-5.fc9.src.rpm<br />
pygpgme-0.1-8.fc9.src.rpm<br />
python-iniparse-0.2.3-3.fc9.src.rpm<br />
python-setuptools-0.6c7-2.fc8.src.rpm<br />
yum-3.2.14-10.fc9.src.rpm<br />
yum-metadata-parser-1.1.2-8.fc9.src.rpm<br />
yum-utils-1.1.13-2.fc9.src.rpm</p>
<p>As you might have noticed, they&#8217;re from fedora core 9. It hasn&#8217;t been released yet, but it&#8217;s so close to the release date that I&#8217;m not worried about them being that unstable.</p>
<p>I rebuilt these, installed their dependencies via yum to build / install them, and the upgrade to yum went perfect; I&#8217;m finding no conflicts so far. The only issue I had with rebuilding the source RPMs was the yum-metadata-parser package was trying to glob a non-existent file pattern so the build failed; a quick commenting out of this line in the %files section fixed the issue.</p>
<p>If I don&#8217;t encounter any problems with this upgrade between now and when I post all my RPMs from my <a href="http://www.ravencore.com/packages/">packages directory</a>, I&#8217;ll include pre-built RPMs for this yum upgrade on CentOS5 as well (and maybe even CentOS4).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/05/upgrade-yum-on-centos5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>revamped mail system</title>
		<link>http://www.ravencore.com/blog/2008/04/revamped-mail-system/</link>
		<comments>http://www.ravencore.com/blog/2008/04/revamped-mail-system/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 19:07:55 +0000</pubDate>
		<dc:creator>cormander</dc:creator>
		
		<category><![CDATA[RavenCore]]></category>

		<guid isPermaLink="false">http://www.ravencore.com/?p=52</guid>
		<description><![CDATA[OK folks, I&#8217;ve revamped my test box&#8217;s mail system and everything is working like a charm. Here is the breakdown of how future versions of the 0.7.x series of ravencore will look:
postfix-2.5 built with the sqlite patch and dovecot sasl support
dovecot-1.0 with the sqlite extension
sqlite 3.5.x libraries
All of the above will be published in a [...]]]></description>
			<content:encoded><![CDATA[<p>OK folks, I&#8217;ve revamped my test box&#8217;s mail system and everything is working like a charm. Here is the breakdown of how future versions of the 0.7.x series of ravencore will look:</p>
<p>postfix-2.5 built with the sqlite patch and dovecot sasl support<br />
dovecot-1.0 with the sqlite extension<br />
sqlite 3.5.x libraries</p>
<p>All of the above will be published in a yum repo, and will be marked as dependencies for the ravencore package. Just install this .repo file to your /etc/yum.repos.d/ directory and &#8220;yum install ravencore&#8221;, it&#8217;ll grab all of these for you and update them on the system. This will also make what distributions ravencore supports very clear; it will always be the 2 latest CentOS distributions, and the 2 latest Fedora distributions (CentOS 4 &#038; 5, and Fedora 8 &#038; 9)</p>
<p>Depending on how much help I get from other developers, I may or may not publish apt repos for debian packages. That is up in the air for the moment.</p>
<p>RavenCore will no longer use the one-file-per-line format for postfix and dovecot configuration files; it&#8217;ll instead use templates: main.cf.in, dovecot.conf.in, etc. You&#8217;ll be able to edit those to your liking, just make sure that when you upgrade you don&#8217;t miss any important changes in those files that may take place.</p>
<p>Dovecot will reference dovecot-sqlite.conf for user, password, and setup information. That conf file will reference a database in /etc/mail/vmail.sqlite. It&#8217;ll also have the dovecot-auth daemon listen for sasl auth inside a private postfix directory.</p>
<p>Postfix will contain a master.cf file that is full of references to other files such as: vmailbox-sqlite.cf, vmaildomain-sqlite.cf, etc. All of those configuration files will also reference the /etc/mail/vmail.sqlite file, each containing a different static query to gather the information needed for that option. SASL auth will be configured to point at the dovecot sasl socket inside of the postfix private directory.</p>
<p>In essence, all mail is controlled by the vmail.sqlite database, everything else is a static flatfile configuration. Since changes to the sqlite database don&#8217;t need to be postmapped, postfix won&#8217;t ever need to reload automatically. Same goes for dovecot.</p>
<p>To start with, the code will get a transaction lock on the vmail.sqlite database, drop everything, and recreate everything, and commit it all. Further optimizations will be made down the road to better support installations with thousands of email users.</p>
<p>The vmail.sqlite database will look much like what the ravencore database looks like now, as far as mail goes&#8230; a domain table and a user table. There may be more tables depending on how far I want to take the features at this point.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ravencore.com/blog/2008/04/revamped-mail-system/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
