<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xml:base='http://bliki.rimuhosting.com/rdf'>
    <s:Snip rdf:about='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/ruby+on+rails'
         s:cUser='retep'
         s:oUser=''
         s:mUser='retep'>
        <s:name>knowledgebase/linux/miscapplications/ruby on rails</s:name>
        <s:content>1 Looking for the Ultimate Ruby on Rails Hosting Stack?&#xD;&#xA;&#xD;&#xA;Rails is an incredibly popular web development framework.  It can be a bit tricky to setup.  And it requires an environment that many standard &apos;shared hosting&apos; plans cannot provide.&#xD;&#xA;&#xD;&#xA;To quote one recent RimuHosting VPS customer &apos;Rails on shared hosting sucks!&apos;.&#xD;&#xA;&#xD;&#xA;With a VPS setup you are more in control and you can setup a RoR hosting stack that suits your needs exactly.  &#xD;&#xA;&#xD;&#xA;1 All the Tools You Need.  The RimuHosting Ruby on Rails Hosting Stack&#xD;&#xA;&#xD;&#xA;Here at RimuHosting we have come up with a setup that should get you off on the right foot.  It is the RimuHosting Ruby on Rails Hosting Stack.  It includes:&#xD;&#xA;- Ruby 1.8.6&#xD;&#xA;- Rails 2 (or if you need the &apos;older&apos; 1.2 just mention that)&#xD;&#xA;- Sample rails app at /var/www/test&#xD;&#xA;- gem.  So you can gem install xxx whatever you need.&#xD;&#xA;- mysql ruby bindings.  e.g. see echo &quot;require &apos;rubygems&apos;; require_gem &apos;mysql&apos;&quot; | irb&#xD;&#xA;- rmagick ruby bindings.  e.g. see echo &quot;require &apos;rubygems&apos;; require_gem &apos;rmagick&apos;&quot; | irb&#xD;&#xA;&#xD;&#xA;It then sets things up so that you can run rails apps via apache, lighttpd or mongrel.&#xD;&#xA;&#xD;&#xA;If you are after this setup, just mention &apos;Please install the RimuHosting Ruby on Rails Hosting Stack&apos; on the order confirmation page when/if you order a RimuHosting server (at http://rimuhosting.com/order/startorder.jsp)&#xD;&#xA;&#xD;&#xA;For a RoR server we recommend you go with a VPS with 128MB of memory or more (since rails can be somewhat memory hungry).&#xD;&#xA;&#xD;&#xA;1 Preferred Distros For Rails Hosting&#xD;&#xA;&#xD;&#xA;The preferred distro for Rails hosting is one that supports Apache 2.2.  Since this has mod_proxy_balancer support.  Which works in well with the Apache + Mongrel setup.&#xD;&#xA;&#xD;&#xA;FC5, FC6, FC7, Centos5, Ubuntu Gutsy, Debian Etch all come with Apache 2.2.&#xD;&#xA;&#xD;&#xA;RHEL4, Debian Sarge, Ubuntu (Eft and Dapper) are all Apache 2.0 based.&#xD;&#xA;&#xD;&#xA;We have installed rails these distros.  But with Apache 2.0 they do not have mod_proxy_balancer.  Which imposes some (probably livable) restrictions on your setup.&#xD;&#xA;&#xD;&#xA;1 Running Rails With Mongrel&#xD;&#xA;&#xD;&#xA;Mongrel is an up and coming rails-specific web server.  See http://mongrel.rubyforge.net  If you are considering running lighttpd then mongrel looks like it would be a good alternative to that.&#xD;&#xA;&#xD;&#xA;After the RimuHosting rails stack is installed there will be a sample mongrel init script in /etc/init.d/mongrel that will stop/start a mongrel process.&#xD;&#xA;&#xD;&#xA;Notes:&#xD;&#xA;- Same as lighttpd&#xD;&#xA;&#xD;&#xA;1 Using Apache as A Front End To Mongrel or Lighttpd&#xD;&#xA;&#xD;&#xA;Try adding the following to your Apache 2.0 Virtual Host directive:&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;ProxyRequests Off&#xD;&#xA;ProxyPass /myrailsapp http://localhost:3000/myrailsapp&#xD;&#xA;ProxyPassReverse /myrailsapp http://localhost:3000/myrailsapp&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;__Note__: Remove any &apos;&gt;&gt;&apos; characters that the html on this page adds to that url if you copy/paste it.&#xD;&#xA;&#xD;&#xA;(Still waiting to confirm this bit works, and it is likely different with apache 2.2).&#xD;&#xA;&#xD;&#xA;1 Using Apache 2.2 with mod_proxy_balancer As a Front End to Mongrel Cluster&#xD;&#xA;&#xD;&#xA;The Ruby on Rails dispatcher can only handle one request at a time.  It is &apos;synchronized&apos; to only let one through at a time.  Why?  Since it is not designed to run multiple threads simultaneously.&#xD;&#xA;&#xD;&#xA;For most non-slashdot-sized sites this is fine.  Since requests can execute quite quickly.&#xD;&#xA;&#xD;&#xA;If you have a busier site though, Apache 2.2 has a new option for you.  It offers the mod_proxy_balancer module.  This lets you run multiple rails instances and then use the proxy balancer to spread your requests over multiple rails containers.&#xD;&#xA;&#xD;&#xA;The downside is higher memory usage (so you&apos;d need a server with more memory). &#xD;&#xA;&#xD;&#xA;The &apos;balanced&apos; rails setup would look like this:&#xD;&#xA;&#xD;&#xA;Start your mongrels:&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;mongrel_rails start -d -e production -p 8000 -a 127.0.0.1 -P log/mongrel.8000.pid -c /var/www/test&#xD;&#xA;mongrel_rails start -d -e production -p 8001 -a 127.0.0.1 -P log/mongrel.8001.pid -c /var/www/test&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;(Or modify /etc/init.d/mongrel).&#xD;&#xA;&#xD;&#xA;Then setup an Apache 2.2 (it does not work in Apache 1.3 or 2.0) virtual host:&#xD;&#xA;{code}&#xD;&#xA;&lt;VirtualHost *:80&gt;&#xD;&#xA;  ServerName dummy-host.example.com&#xD;&#xA;  # Presuming your rails app is at /var/www/test&#xD;&#xA;  DocumentRoot /var/www/test/public&#xD;&#xA;  &lt;Directory &quot;/var/www/test/public&quot;&gt;&#xD;&#xA;        Options FollowSymLinks&#xD;&#xA;        AllowOverride None&#xD;&#xA;        Order allow,deny  &#xD;&#xA;        Allow from all&#xD;&#xA;  &lt;/Directory&gt;  &#xD;&#xA;&#xD;&#xA;  # Configure mongrel_cluster &#xD;&#xA;  &lt;Proxy balancer://mongrel_cluster&gt;&#xD;&#xA;    BalancerMember http://127.0.0.1:8000&#xD;&#xA;    BalancerMember http://127.0.0.1:8001&#xD;&#xA;  &lt;/Proxy&gt;&#xD;&#xA;&#xD;&#xA;  ProxyPass / balancer://mongrel_cluster/&#xD;&#xA;  ProxyPassReverse / balancer://mongrel_cluster/&#xD;&#xA;&#xD;&#xA;  # These directories should always be served up by Apache, since they contain static content.  Or just let rails do it.&#xD;&#xA;  ProxyPass /images !&#xD;&#xA;  ProxyPass /stylesheets !&#xD;&#xA;  ProxyPass /javascripts !&#xD;&#xA;  ProxyPass /favicon.ico !&#xD;&#xA;&#xD;&#xA;  RewriteEngine On&#xD;&#xA;&#xD;&#xA;  # Important rule to prevent exposure of subversion files if you are deploying with Capistrano !&#xD;&#xA;  RewriteRule ^(.*/)?\.svn/ - [F,L]&#xD;&#xA;&#xD;&#xA;  # Rewrite index to check for static&#xD;&#xA;  RewriteRule ^/$ /index.html [QSA] &#xD;&#xA;&#xD;&#xA;  # Rewrite to check for Rails cached page&#xD;&#xA;  RewriteRule ^([^.]+)$ $1.html [QSA]&#xD;&#xA;&#xD;&#xA;  # Redirect all non-static requests to cluster&#xD;&#xA;  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&#xD;&#xA;  RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]&#xD;&#xA;&lt;/VirtualHost&gt;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;1 Running Rails With Lighttpd&#xD;&#xA;&#xD;&#xA;There are a few options when it comes to choosing a &apos;front end&apos; web server to your rails app.  Choices include Mongrel or Lighttpd.&#xD;&#xA;&#xD;&#xA;Lighttpd is standalone web server.  It is commonly used (or at least requested) by the rails community.  You can use it to run rails apps.&#xD;&#xA;&#xD;&#xA;After the RimuHosting rails stack is installed there will be a sample lighttpd init script in /etc/init.d/lighttpd that will stop/start a lighttpd process.&#xD;&#xA;&#xD;&#xA;Note:&#xD;&#xA;- Lighttpd would run on port 3000.  You could run it on port 80.  That would prevent you running apache on that port.  Else you&apos;d need a different/extra IP.&#xD;&#xA;- We have not setup ssl with lighttpd before.  Not sure what&apos;s involved there.&#xD;&#xA;&#xD;&#xA;To run lighttpd with multiple domains you would setup virtual hosting.  e.g. in lighttpd.conf:&#xD;&#xA;{code}&#xD;&#xA;    $HTTP[&quot;host&quot;] =~ &quot;(www\.)?example\.com&quot; {&#xD;&#xA;      server.document-root = &quot;/var/www/example/current/public/&quot;&#xD;&#xA;      server.error-handler-404 = &quot;/dispatch.fcgi&quot;&#xD;&#xA;      fastcgi.server = (&#xD;&#xA;        &quot;.fcgi&quot; =&gt; (&#xD;&#xA;          &quot;localhost&quot; =&gt; (&#xD;&#xA;            &quot;socket&quot; =&gt; &quot;/var/run/www/example.com-0.socket&quot;&#xD;&#xA;          )&#xD;&#xA;        )&#xD;&#xA;      )&#xD;&#xA;    }&#xD;&#xA;&#xD;&#xA;    $HTTP[&quot;host&quot;] =~ &quot;(www\.)?example2\.com&quot; {&#xD;&#xA;      server.document-root =&quot;/var/www/example2/current/public/&quot;&#xD;&#xA;      server.error-handler-404 = &quot;/dispatch.fcgi&quot;&#xD;&#xA;      fastcgi.server = (&#xD;&#xA;        &quot;.fcgi&quot; =&gt; (&#xD;&#xA;          &quot;localhost&quot; =&gt; (&#xD;&#xA;            &quot;socket&quot; =&gt; &quot;/var/run/www/example2-0.socket&quot;&#xD;&#xA;          )&#xD;&#xA;        )&#xD;&#xA;      )&#xD;&#xA;    }&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;More info at http://www.lighttpd.net/documentation/configuration.html&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;1 Using Apache 2.0 with a load balancing proxy As a Front End to Mongrel Cluster&#xD;&#xA;&#xD;&#xA;Apache 2.0 does not have mod_proxy_balancer as part of the module listing. Upgrading the stock distribution&apos;s Apache installation cannot proceed though  without having to recompile all applications that link to libapache (e.g. PHP, etc). However, an alternative solution to mod_proxy_balancer would be the use of a third-party application that would do the load balancing of the rails processes in a mongrel_cluster.&#xD;&#xA;&#xD;&#xA;Popular choices that can be used as the load-balancing proxy server for mongrel_cluster include Pound (http://www.apsis.ch/pound) and Pen (http://siag.nu/pen).&#xD;&#xA;&#xD;&#xA;1 Getting &apos;client denied by server configuration&apos; Errors&#xD;&#xA;&#xD;&#xA;If you&apos;re getting errors like this:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;client denied by server configuration: proxy:http://127.0.0.1:8080&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Check that you have something like this in your httpd.conf:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;&lt;Proxy *&gt;&#xD;&#xA;  Order allow,deny&#xD;&#xA;  Allow from all&#xD;&#xA;&lt;/Proxy&gt;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;In Debian and Ubuntu, this is set to __deny by default__ in /etc/apache2/mods-available/proxy.conf.&#xD;&#xA;&#xD;&#xA;1 The RimuHosting Rails Stack Script&#xD;&#xA;&#xD;&#xA;To run the RimuHosting Rails Hosting Stack script:&#xD;&#xA;{code}&#xD;&#xA;wget -O rails.sh &quot;http://proj.ri.mu/rails.sh&quot;&#xD;&#xA;bash -x rails.sh&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;You can view a html-ized the RimuHosting Ruby on Rails Hosting Script at http://downloads.rimuhosting.com/miscproj/rails.html (this is likely not the most recent version).&#xD;&#xA;&#xD;&#xA;The script is updated by us every now and then if we find it stops working for whatever reason.  If you find a problem with it or have a suggestion then email p.bliki.rimuhosting.com at rimuhosting.com and let us know and provide a &apos;patch&apos; if you can.&#xD;&#xA;&#xD;&#xA;Caveats: No warranty express or applied.  We take all care but will not be liable for any problem.  We recommend you use the script as a guide.  Do not &apos;just run&apos; it.  It may format your hard drive, and electrocute your mother.  Seriously: it could potentially break your existing ruby/gem/apache/lighttpd/mongrel setup.  Look at the code carefully before running any of it on your system.&#xD;&#xA;&#xD;&#xA;The code will &apos;error out&apos; if/when it hits problems and stop at that point.  We are interested in any changes that would help us run the script on a wider variety of distros and handle a wider variety of conditions.&#xD;&#xA;&#xD;&#xA;1 Stale PID files preventing Mongrel to start up&#xD;&#xA;&#xD;&#xA;If you get these messages when trying to start mongrels, that&apos;s because it&apos;s not cleaning/ignoring PID files properly:&#xD;&#xA;{code:none}&#xD;&#xA;# /etc/init.d/mongrel_cluster start&#xD;&#xA;Starting all mongrel_clusters...&#xD;&#xA;** !!! PID file log/mongrel.8000.pid already exists.  Mongrel could be running already.  Check your log/mongrel.log for errors.&#xD;&#xA;** !!! Exiting with error.  You must stop mongrel and clear the .pid before I&apos;ll attempt a start.&#xD;&#xA;** !!! PID file log/mongrel.8001.pid already exists.  Mongrel could be running already.  Check your log/mongrel.log for errors.&#xD;&#xA;** !!! Exiting with error.  You must stop mongrel and clear the .pid before I&apos;ll attempt a start.&#xD;&#xA;** !!! PID file log/mongrel.8002.pid already exists.  Mongrel could be running already.  Check your log/mongrel.log for errors.&#xD;&#xA;** !!! Exiting with error.  You must stop mongrel and clear the .pid before I&apos;ll attempt a start.&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Thanks to the patch provided here http://textsnippets.com/posts/show/931 you should be able to avoid that problem. Save this file as &quot;/tmp/mongrel.patch&quot;:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;--- bin/mongrel_rails-orig      2007-05-16 14:41:51.000000000 -0400&#xD;&#xA;+++ bin/mongrel_rails   2007-05-16 14:42:50.000000000 -0400&#xD;&#xA;@@ -83,9 +83,17 @@&#xD;&#xA;       config = Mongrel::Rails::RailsConfigurator.new(settings) do&#xD;&#xA;         if defaults[:daemon]&#xD;&#xA;           if File.exist? defaults[:pid_file]&#xD;&#xA;-            log &quot;!!! PID file #{defaults[:pid_file]} already exists.  Mongrel could be running already.  Check your #{defaults[:log_file]} for errors.&quot;&#xD;&#xA;-            log &quot;!!! Exiting with error.  You must stop mongrel and clear the .pid before I&apos;ll attempt a start.&quot;&#xD;&#xA;-            exit 1&#xD;&#xA;+            # mongrels that crash can leave stale PID files behind, and these&#xD;&#xA;+            # should not stop mongrel from being restarted by monitors...&#xD;&#xA;+            pid = File.new(defaults[:pid_file]).readline&#xD;&#xA;+            unless `ps -ef | grep #{pid} | grep -v grep`.length &gt; 0&#xD;&#xA;+            # use &quot;ps ax&quot; for freebsd &#xD;&#xA;+                log &quot;!!! PID file #{defaults[:pid_file]} exists, but is stale, and will be deleted so that this mongrel can run.&quot;&#xD;&#xA;+                File.delete(defaults[:pid_file])&#xD;&#xA;+            else&#xD;&#xA;+                log &quot;!!! PID file #{defaults[:pid_file]} already exists and the process id referred to in it is running.  This mongrel is probably already running.  #{defaults[:log_file]} for errors.  EXITING.&quot;&#xD;&#xA;+                exit 1&#xD;&#xA;+            end&#xD;&#xA;           end&#xD;&#xA; &#xD;&#xA;           daemonize&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Then apply it by running something like this:&#xD;&#xA;&#xD;&#xA;# patch -p0 /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails &lt; mongrel.patch&#xD;&#xA;&#xD;&#xA;1 Internal Server Errors when using Internet Explorer&#xD;&#xA;&#xD;&#xA;If you&apos;re getting Internal Server Errors from Apache when using Internet Explorer to connect to SSL pages, see if this  KB article seems to match your problem: http://support.microsoft.com/default.aspx?kbid=831167&#xD;&#xA;&#xD;&#xA;If so, the fix is to use the following in your SSL virtual host:&#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA; SSLOptions +StdEnvVars&#xD;&#xA;BrowserMatch &quot;.*MSIE.*&quot; \&#xD;&#xA;nokeepalive ssl-unclean-shutdown \&#xD;&#xA;downgrade-1.0 force-response-1.0&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Taken from: http://www.freeonrails.com/node/17784&#xD;&#xA;&#xD;&#xA;1 Mongrel Cluster not starting up at boot&#xD;&#xA;&#xD;&#xA;Even though you symlinked the mongrel_cluster init script to the right rc.d directory, it&apos;s not starting correctly.  In the console you might see something like this (on Centos5): &#xD;&#xA;&#xD;&#xA;{code:none}&#xD;&#xA;Starting mongrel_cluster:  which: no mongrel_cluster_ctl in (/sbin:/usr/sbin:/bin:/usr/bin)&#xD;&#xA;[  OK  ]&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Add this PATH variable to /etc/init.d/mongrel_cluster:&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;CONF_DIR=/etc/mongrel_cluster&#xD;&#xA;PATH=/usr/local/bin:$PATH&#xD;&#xA;RETVAL=0&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;The next time you boot, on the console you should see this: &#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;Starting mongrel_cluster:  Starting all mongrel_clusters...&#xD;&#xA;[  OK  ]&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;We&apos;ve seen this on Centos5 and Ubuntu a few times.  &#xD;&#xA;</s:content>
        <s:mTime>2007-12-18 19:52:07.0</s:mTime>
        <s:cTime>2005-08-28 21:11:10.0</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/ajax autocomplete'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications'/>
                <rdf:li rdf:resource='#knowledgebase'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#start/beast forum install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/postfixadmin on debian sarge'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/svn notes'/>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/installing and using mod_fastcgi'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/typo cluster'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/rimuhosting ssh access'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/vps backups'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/ruby on rails/'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/liferay install on tomcat 5.5'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/tomcat on plesk'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/sendmail notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/vps setup on dedicated servers'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/postfix notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/distros/ubuntu'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/mass emailing best practices'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/postfix with amavis and mysql'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/xen'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/-Xmx settings'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/grub boot cd'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/rpm based php5.1 install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/plesk notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/where has my disk space gone'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/bash'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/moving servers'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/rpm based mysql5 install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/mysql notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/disk quotas'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/distros/debian'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/squrrelmail notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/webmin'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/quick and dirty memory checker'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/accessing postgres via jdbc'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/phpmyadmin'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/Setup eRuby'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/load balancing and failover'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/'/>
                <rdf:li rdf:resource='#retep'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/proxy servers: squid'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/webdav'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/distros/RHEL 4'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/qmail per-user spam filtering'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/setting up plone'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/Security/Securing Your Server'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/argh my server was exploited'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/gridsphere install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#virtualmin notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/maildrop with mysql support on debian sarge'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/Nginx'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/working with different character encodings'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/networking/null route an attackers ip'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/postgresql notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/debootstrap'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/accessing a vnc server behind a firewall'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/remote server desktop with vnc'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/Working with aliases'/>
                <rdf:li rdf:resource='#john'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/php'/>
                <rdf:li rdf:resource='#jetty'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/custom vps image'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/moving imap folders between hosts'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/alfresco install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/deprecated'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#start/2007-04-02/1'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/mod_proxy'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/moinmoin'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/Preventing Brute Force SSH Attacks'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/setting up mysql replication'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#retep/extra packages for rhel4 and centos5'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/filtered webmin'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/troubleshooting performance issues in Linux'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/mail not going through'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/roundcube'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/java/ant install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/noexec tmp'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/Postfix mbox to Maildir conversion'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/zimbra'/>
                <rdf:li rdf:resource='#ivan'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/xen notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/hosts file'/>
                <rdf:li rdf:resource='#huw'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/mod_rewrite'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/configuring a mongrel cluser'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#David S. Miller&apos;s keynote'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/rmagick'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/changing vps ownership'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting/monthly CC billing not working'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/sugarcrm'/>
                <rdf:li rdf:resource='#snipsnap-help'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/mysql php connection error'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#start/mediawiki password reset'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/drupal notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/Build php 5.1.6 rpm on RHEL4'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#start/beast+forum+install'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/memory troubleshooting'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/mod_jk'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/'/>
                <rdf:li rdf:resource='#snipsnap-notfound'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/mac ssh'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/bugzilla'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/grub'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/Security/preventing-brute-force-ssh-attacks'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#Monday&apos;s summary'/>
                <rdf:li rdf:resource='#paolo'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver/apache/httpd-devel'/>
                <rdf:li rdf:resource='#pablo'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/Security'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/Quicklook'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#Massive virtualisation on IBM Power5'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/clamav'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/dovecot compile'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/monit service monitoring'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/mailman notes'/>
                <rdf:li rdf:resource='#snipsnap-portlet-1'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#Samba 4 status report'/>
                <rdf:li>
                    <s:Snip rdf:about='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/miscapplications/ruby+on+rails'>
                        <s:attachments
                             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
                    </s:Snip>
                </rdf:li>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/mass setting user passwords'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/rimuhosting'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#l2tpns - high volume L2TP tunnel termination'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/qmail notes'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#gnome.conf.au miniconf'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/misc/dns lookups'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/auto-restart'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#john/2007-06-24/1'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/Security/Port Knocking'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#snipsnap-index/Access Control Lists'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/networking'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#KDE4 and the Plasma desktop'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/mail/postfixadmin+on+debian+sarge'/>
                <rdf:li rdf:resource='http://bliki.rimuhosting.com/rdf#knowledgebase/linux/webserver'/>
            </rdf:Bag>
        </s:snipLinks>
    </s:Snip>
</rdf:RDF>
