<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>freebsd.munk.me.uk - Apache</title>
    <link>http://freebsd.munk.me.uk/</link>
    <description>FreeBSD System Administration</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://freebsd.munk.me.uk/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: freebsd.munk.me.uk - Apache - FreeBSD System Administration</title>
        <link>http://freebsd.munk.me.uk/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Modsecurity 2.0 Released</title>
    <link>http://freebsd.munk.me.uk/archives/203-Modsecurity-2.0-Released.html</link>
            <category>Apache</category>
            <category>Security</category>
    
    <comments>http://freebsd.munk.me.uk/archives/203-Modsecurity-2.0-Released.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=203</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=203</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    A new version of mod_security has just been released - 2.0 - complete with a total rewrite that includes a number of new features.  &lt;a href=&quot;http://www.theregister.co.uk/2006/10/19/modsecurity_2_release/&quot;  title=&quot;modsecurity mod_security releases 2.0&quot;&gt;El reg is running an article on the new release which includes an interview with ModSecurity&#039;s author Ivan Ristic&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
mod_security is an apache module for monitoring requests made to a web server and acting on those requests according to rules - useful for blocking malicious bots, stopping web spammers and so on.  I&#039;ve been using it for a few years now and it handles blocking of weblog spammers and trojan worms/bots very well, though it has to be said the configuration isn&#039;t the simplest of all time.&lt;br /&gt;
&lt;br /&gt;
Hopefully this configuration issue might be made easier with the also newly released &lt;a href=&quot;http://www.modsecurity.org/projects/console/index.html&quot;  title=&quot;modsecurity console&quot;&gt;modsecurity console&lt;/a&gt;, although reading through that page it doesn&#039;t seem to mention anything about using it to configure mod_security...  Will have a look at it later and see what&#039;s what.&lt;br /&gt;
&lt;br /&gt;
A list of the new features or improved features in ModSecurity 2.0 - taken from the article above:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Five processing phases (where there were only two in 1.9.x). These are: request headers, request body, response headers, response body, and logging. Those users who wanted to do things at the earliest possible moment can do them now.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Per-rule transformation options (previously normalisation was implicit and hard-coded). Many new transformation functions were added.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Transaction variables. This can be used to store pieces of data, create a transaction anomaly score, and so on.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Data persistence (can be configured any way you want although most people will want to use this feature to track IP addresses, application sessions, and application users).&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Support for anomaly scoring and basic event correlation (counters can be automatically decreased over time; variables can be expired).&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Support for web applications and session IDs.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Regular Expression back-references (allows one to create custom variables using transaction content).&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;There are now many functions that can be applied to the variables (where previously one could only use regular expressions).&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;XML support (parsing, validation, XPath).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
The article is well worth reading if you already use ModSecurity - particularly if you&#039;re interested in moving from just simple blocking and logging of requests as in mod_security 1.0 to a more sophisticated web application firewalling system - mod_security 2.0.  2.0 includes a pseudo web app firewalling programming language making it easy to manipulate and process HTTP in a stateful manner - tracking HTTP sessions per IP in real time for example or perhaps watching for anomalous web activity and then flagging any IP that transgresses behaviour deemed as acceptable and watching for that IP in the future. 
    </content:encoded>

    <pubDate>Fri, 20 Oct 2006 14:24:52 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/203-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Solving permission problems with parsepath.pl</title>
    <link>http://freebsd.munk.me.uk/archives/175-Solving-permission-problems-with-parsepath.pl.html</link>
            <category>Apache</category>
            <category>FreeBSD</category>
            <category>General</category>
            <category>Perl</category>
            <category>PHP</category>
            <category>Security</category>
            <category>Shell</category>
            <category>SSH</category>
    
    <comments>http://freebsd.munk.me.uk/archives/175-Solving-permission-problems-with-parsepath.pl.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=175</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=175</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    &lt;a href=&quot;http://sial.org/howto/debug/unix/parsepath&quot;  title=&quot;parsepath.pl - a script for solving file permission problems&quot;&gt;parsepath.pl&lt;/a&gt; is a brilliant perl script for fixing permissions problems on Unix based platforms by &lt;a href=&quot;http://sial.org/&quot;  title=&quot;Jeremy Mates&quot;&gt;Jeremy Mates&lt;/a&gt;.   Probably the most common type of permission problem from a sysadmin/webmaster&#039;s viewpoint is uploading a file to a directory in a website&#039;s document root folder and then trying to access the file or script in a web browser only to get the dreaded 403 error message:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Forbidden&lt;br /&gt;
You don&#039;t have permission to access /foo/bar/test.php on this server.&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Most time the solution is very simple, just change the permissions on &#039;test.php&#039; to make sure the user the webserver runs as can read the file correctly - the simplest and most common method being to change the mode of the file to &#039;755&#039;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;chmod&amp;#160;755&amp;#160;test.php&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately sometimes it&#039;s not that easy and many times you see users asking &#039;I&#039;m getting &#039;access denied&#039; errors even though I&#039;ve changed the perms to 755&#039;.  The problem is that one of the subdirectories that the &#039;test.php&#039; file lives in has permissions set so that the webserver can&#039;t read the file properly.  Now that&#039;s where the headache comes in :)&lt;br /&gt;
&lt;br /&gt;
However, &lt;a href=&quot;http://sial.org/howto/debug/unix/parsepath&quot;  title=&quot;parsepath.pl - a script for solving file permission problems&quot;&gt;parsepath.pl&lt;/a&gt; can take the headache out of fixing permissions problems.&lt;br /&gt;
&lt;br /&gt;
Say you have a website document root directory tree /usr/local/www/web/www.munk.me.uk/foo/bar and you upload a web script &#039;test.php&#039; into that directory.  You try and access the file in a webbrowser but get the 403 permission denied error above.  First off you check the permissions on the file itself:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#91;23&amp;#58;58&amp;#58;17&amp;#93;&amp;#160;root@users&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;;&amp;#160;ls&amp;#160;-l&lt;br /&gt;
total&amp;#160;0&lt;br /&gt;
-rwxr-xr-x&amp;#160;&amp;#160;1&amp;#160;www&amp;#160;www&amp;#160;&amp;#160;0&amp;#160;Sep&amp;#160;&amp;#160;4&amp;#160;23&amp;#58;39&amp;#160;test.php&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
That looks ok, with permissions 755 and the owner/group set to &#039;www&#039; the webserver user &#039;www&#039; should be able to read the file ok.  So in this case the problem must be with the permissions on one of the parent subdirectories.  The old method of working out the perms would be either to trawl one by one through each directory checking the perms on each subdirectory or to change the permissions recursively on the document root folder so all subfolders have the read bit set for the webserver user/group.&lt;br /&gt;
&lt;br /&gt;
With parsepath.pl things are a lot simpler though - just run the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#91;0&amp;#58;03&amp;#58;21&amp;#93;&amp;#160;root@users&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar#&amp;#160;parsepath.pl&amp;#160;user=www&amp;#160;+r&amp;#160;test.php&lt;br /&gt;
!&amp;#160;group=www&amp;#160;+rx&amp;#160;fails&amp;#58;&amp;#160;d&amp;#160;0700&amp;#160;root&amp;#58;www&amp;#160;/usr/local/www/web/www.munk.me.uk/foo&lt;br /&gt;
!&amp;#160;unix-other&amp;#160;+rx&amp;#160;fails&amp;#58;&amp;#160;d&amp;#160;0750&amp;#160;root&amp;#58;wheel&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With this command parsepath.pl  recurses through each subdirectory below the file/path you feed it on the commandline and tells you the permissions problems - if any - for the user &#039;www&#039; (the user=www argument) to read (the +r argument) the file &#039;test.php&#039;.&lt;br /&gt;
&lt;br /&gt;
In the output, we&#039;re told that permissions to read the test.php by the user www fails on two counts:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;#&amp;#160;the&amp;#160;group&amp;#160;bit&amp;#160;on&amp;#160;the&amp;#160;folder&amp;#160;&#039;foo&#039;&amp;#160;doesn&#039;t&amp;#160;have&amp;#160;the&amp;#160;+rx&amp;#160;flag&amp;#160;set&amp;#58;&lt;br /&gt;
!&amp;#160;group=www&amp;#160;+rx&amp;#160;fails&amp;#58;&amp;#160;d&amp;#160;0700&amp;#160;root&amp;#58;www&amp;#160;/usr/local/www/web/www.munk.me.uk/foo&lt;br /&gt;
&lt;br /&gt;
#&amp;#160;the&amp;#160;other&amp;#160;bit&amp;#160;on&amp;#160;the&amp;#160;folder&amp;#160;&#039;bar&#039;&amp;#160;doesn&#039;t&amp;#160;have&amp;#160;the&amp;#160;+rx&amp;#160;flag&amp;#160;set&amp;#58;&lt;br /&gt;
!&amp;#160;unix-other&amp;#160;+rx&amp;#160;fails&amp;#58;&amp;#160;d&amp;#160;0750&amp;#160;root&amp;#58;wheel&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With this information it&#039;s easy enough to go in and make the changes necessary to fix the problem using &#039;chmod g+rx foo foo/bar&#039;.&lt;br /&gt;
&lt;br /&gt;
There are other ways of invoking parsepath.pl though.  Running it just with a file/path as an argument it&#039;ll tell you the permissions on each subdirectory under it:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#91;0&amp;#58;10&amp;#58;33&amp;#93;&amp;#160;root@users&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar#&amp;#160;&lt;br /&gt;
&amp;#62;&amp;#160;parsepath.pl&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar/test.php&lt;br /&gt;
%&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar/test.php&lt;br /&gt;
d&amp;#160;0755&amp;#160;root&amp;#58;wheel&amp;#160;/&lt;br /&gt;
d&amp;#160;0755&amp;#160;root&amp;#58;wheel&amp;#160;/usr&lt;br /&gt;
d&amp;#160;0755&amp;#160;root&amp;#58;wheel&amp;#160;/usr/local&lt;br /&gt;
d&amp;#160;0755&amp;#160;root&amp;#58;wheel&amp;#160;/usr/local/www&lt;br /&gt;
d&amp;#160;0770&amp;#160;www&amp;#58;wheel&amp;#160;/usr/local/www/web&lt;br /&gt;
d&amp;#160;0750&amp;#160;www&amp;#58;www&amp;#160;/usr/local/www/web/www.munk.me.uk&lt;br /&gt;
d&amp;#160;0700&amp;#160;root&amp;#58;www&amp;#160;/usr/local/www/web/www.munk.me.uk/foo&lt;br /&gt;
d&amp;#160;0750&amp;#160;root&amp;#58;wheel&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar&lt;br /&gt;
f&amp;#160;0755&amp;#160;root&amp;#58;www&amp;#160;/usr/local/www/web/www.munk.me.uk/foo/bar/test.php&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
which can is better to see a whole tree in one go.  &lt;br /&gt;
&lt;br /&gt;
No permissions were harmed in the making of this article!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll include the parsepath.pl script in the extended article just in case the original ever gets lost - big credit of course goes to the author of the script, &lt;a href=&quot;http://sial.org/&quot;  title=&quot;Jeremy Mates&quot;&gt;Jeremy Mates&lt;/a&gt;.  His site is actually very interesting from a sysadmin&#039;s point of view containing lots of interesting admin scripts and thoughts on system administration in general - spent quite a while grazing through his stuff there - cheers Jeremy.&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/175-Solving-permission-problems-with-parsepath.pl.html#extended&quot;&gt;Continue reading &quot;Solving permission problems with parsepath.pl&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 04 Sep 2006 22:41:00 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/175-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Apache Configuration Strategy For Moving A Website</title>
    <link>http://freebsd.munk.me.uk/archives/166-Apache-Configuration-Strategy-For-Moving-A-Website.html</link>
            <category>Apache</category>
            <category>Search Engines</category>
    
    <comments>http://freebsd.munk.me.uk/archives/166-Apache-Configuration-Strategy-For-Moving-A-Website.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=166</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=166</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    Well, today is the first day after my old domain munk.me.uk expired - I&#039;m now using the domain &lt;a href=&quot;http://munk.me.uk/&quot;  title=&quot;munk.me.uk&quot;&gt;munk.me.uk&lt;/a&gt;, rest in peace munk.me.uk!&lt;br /&gt;
&lt;br /&gt;
This article discusses a strategy for migrating a domain name in the case when the new domain will host exactly the same content of the old but you want to ensure that search engines will register the move and users who search for content you host will still find you after the move. &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/166-Apache-Configuration-Strategy-For-Moving-A-Website.html#extended&quot;&gt;Continue reading &quot;Apache Configuration Strategy For Moving A Website&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 29 Aug 2006 09:44:15 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/166-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Apachectl Leaks Sensitive in phpinfo() PHP Calls</title>
    <link>http://freebsd.munk.me.uk/archives/165-Apachectl-Leaks-Sensitive-in-phpinfo-PHP-Calls.html</link>
            <category>Apache</category>
            <category>PHP</category>
            <category>Security</category>
    
    <comments>http://freebsd.munk.me.uk/archives/165-Apachectl-Leaks-Sensitive-in-phpinfo-PHP-Calls.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=165</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=165</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    Quite a while ago I posted a question to the freebsd-isp mailing list about a minor modification that could be added to the apachectl apache startup shell script to stop it from displaying a lot of sensitive information when PHP and other CGI applications display apache&#039;s environment information to users.  A bit mouthful - the gist of it is that when you use apachectl to start/stop apache from a shell, the environment variables of the shell user that invokes the apachectl script become available to CGI applications by default.&lt;br /&gt;
&lt;br /&gt;
For example in my case the following types of sensitive environmental information is available by default when someone runs phpinfo.php on my server:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;_ENV&amp;#91;&quot;USER&quot;&amp;#93;	root&lt;br /&gt;
_ENV&amp;#91;&quot;MAIL&quot;&amp;#93;	/var/mail/root&lt;br /&gt;
_ENV&amp;#91;&quot;qbertconf&quot;&amp;#93;	/home/munk/eggdrop/bots/qbert/qbert.conf&lt;br /&gt;
_ENV&amp;#91;&quot;webcpdevcvs&quot;&amp;#93;	/home/munk/cvs/ver2&lt;br /&gt;
_ENV&amp;#91;&quot;alllog&quot;&amp;#93;	/var/log/all.log&lt;br /&gt;
_ENV&amp;#91;&quot;apacheerrlog&quot;&amp;#93;	/var/log/httpd-error.log&lt;br /&gt;
_ENV&amp;#91;&quot;SHLVL&quot;&amp;#93;	2&lt;br /&gt;
_ENV&amp;#91;&quot;VENDOR&quot;&amp;#93;	intel&lt;br /&gt;
_ENV&amp;#91;&quot;snortruledir&quot;&amp;#93;	/usr/local/share/snort&lt;br /&gt;
_ENV&amp;#91;&quot;PHP4_OPTFILE&quot;&amp;#93;	/root/php4_options&lt;br /&gt;
_ENV&amp;#91;&quot;IRCNICK&quot;&amp;#93;	munk&lt;br /&gt;
_ENV&amp;#91;&quot;HOME&quot;&amp;#93;	/root&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
and so on along with all the other environment variables I have set in my default root shell - not really what I want displayed to all and sundry :P  To see this yourself on your own server, try running phpinfo() from a php script:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#60;?php&amp;#160;phpinfo&amp;#40;&amp;#41;;&amp;#160;?&amp;#62;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Anyway the solution I found is to &#039;sanitize&#039; the environment when the apachectl script starts up the apache httpd process by using the following simple line in apachectl:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;HTTPD=`echo&amp;#160;/usr/bin/env&amp;#160;-i&amp;#160;$HTTPD`&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-isp/2003-November/001246.html&quot;&gt;A problem report I was considering sending to the FreeBSD ports team&lt;/a&gt; is included in the extended article below - I didn&#039;t bother sending it in the end because it&#039;s not really a FreeBSD issue.  Not sure why I didn&#039;t send it to the Apache mailing list though, I thought I did but I can&#039;t find it now. Ho hum.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/165-Apachectl-Leaks-Sensitive-in-phpinfo-PHP-Calls.html#extended&quot;&gt;Continue reading &quot;Apachectl Leaks Sensitive in phpinfo() PHP Calls&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 15 Jan 2005 10:27:36 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/165-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Awstats Updates and Broken Icons</title>
    <link>http://freebsd.munk.me.uk/archives/164-Awstats-Updates-and-Broken-Icons.html</link>
            <category>Apache</category>
            <category>Perl</category>
    
    <comments>http://freebsd.munk.me.uk/archives/164-Awstats-Updates-and-Broken-Icons.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=164</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=164</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    &lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt; was recently updated from version 6.1 to 6.2.  Of itself this was no problem, checking the &lt;a href=&quot;http://cvs.sourceforge.net/viewcvs.py/*checkout*/awstats/awstats/docs/awstats_changelog.txt?rev=1.225&quot;&gt;changelog&lt;/a&gt; there is nothing significant that breaks anything.  However unfortunately the &lt;a href=&quot;http://www.freshports.org/www/awstats/&quot;&gt;AWStats FreeBSD port&lt;/a&gt; was modified by the port maintainer to correct &lt;a href=&quot;http://freebsd.munk.me.uk/exit.php?url=aHR0cDovL3d3dy5mcmVlYnNkLm9yZy9jZ2kvcXVlcnktcHIuY2dpP3ByPXBvcnRzLzc0Nzg4&quot;&gt;a problem that already existed - namely that some of the tools that ship with AWStats don&#039;t work because they can&#039;t find the files that they need - icon files for example&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The port maintainer modified the port so that the icon files for AWStats are now placed in /usr/local/www/awstats/icons/ - the original default location was /usr/local/www/icons/.  This took me a little while to figure out, perhaps it&#039;s the New Years hangover but a more detailed note in the /usr/ports/UPDATING file for current users of awstats would have been good.  Ho hum I suppose it&#039;s at least something that anything was added at all to UPDATING.  I&#039;m all for tidying up directory structures but in this case it seems that a &#039;fix&#039; for something that was trivially broken has actually resulted in breaking something that was working fine - as the saying goes if it ain&#039;t borked don&#039;t fix it.&lt;br /&gt;
&lt;br /&gt;
The short and tall of it is that to fix the problem that this &#039;fix&#039; created, a &#039;DirIcons&#039; directive needs to be added to each awstats config file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;DirIcons=&quot;/awstatsicons&quot;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
and then an alias line needs to be added to the httpd.conf file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;Alias&amp;#160;/awstatsicons&amp;#160;&quot;/usr/local/www/awstats/icons/&quot;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
otherwise the awstats pages look odd because the icon files can&#039;t be found.&lt;br /&gt;
&lt;br /&gt;
For posterity there&#039;s a GNATS message I drafted to be sent in reply to this &lt;a href=&quot;http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/74788&quot;&gt;FreeBSD Problem Report regarding the recent awstats update&lt;/a&gt; in the extended article below.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/164-Awstats-Updates-and-Broken-Icons.html#extended&quot;&gt;Continue reading &quot;Awstats Updates and Broken Icons&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 01 Jan 2005 17:13:40 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/164-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Perl User Agent Grep Script</title>
    <link>http://freebsd.munk.me.uk/archives/155-Perl-User-Agent-Grep-Script.html</link>
            <category>Apache</category>
            <category>Perl</category>
    
    <comments>http://freebsd.munk.me.uk/archives/155-Perl-User-Agent-Grep-Script.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=155</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=155</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    This is here for reminders sake really.  Second time in a week I&#039;ve needed to use a perl sort construct and forgotten how it &#039;works&#039;.  Gist is to search for a certain field (user agent/robot) on each line from STDIN (a httpd access logfile), keep track of how many of each entry (robot) we find and finally print out the count (hits) for each entry (robot).&lt;br /&gt;
&lt;br /&gt;
Makes more sense when you execute the script perhaps.  Or not.  Whatever, it&#039;s just a reminder for the next time I need to use the sort &lt;a href=&quot;http://www.munk.me.uk/index.php?action=man&amp;manpage=perlfunc&amp;section=0&amp;submit=submit&quot;&gt;perlfunc&lt;/a&gt; on a hash. :P&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;#!/usr/bin/perl&lt;br /&gt;
=comment&lt;br /&gt;
Displays&amp;#160;number&amp;#160;of&amp;#160;hits&amp;#160;per&amp;#160;user&amp;#160;agent&amp;#160;to&amp;#160;a&amp;#160;httpd&amp;#160;access&amp;#160;logfile.&lt;br /&gt;
&lt;br /&gt;
Use&amp;#160;it&amp;#160;by&amp;#160;piping&amp;#160;logfile&amp;#160;lines&amp;#160;to&amp;#160;it&amp;#58;&lt;br /&gt;
&lt;br /&gt;
./ua_grep&amp;#160;somelogfile.log&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
grep&amp;#160;text_to_search_for_in_log&amp;#160;somelogfile.log&amp;#160;|&amp;#160;./ua_grep&lt;br /&gt;
=cut&lt;br /&gt;
&lt;br /&gt;
foreach&amp;#40;&amp;#60;&amp;#62;&amp;#41;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;split&amp;#160;/&quot;/;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;$UAs{&amp;#160;@_&amp;#91;5&amp;#93;&amp;#160;}++;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach&amp;#160;$ua&amp;#160;&amp;#40;&amp;#160;sort&amp;#160;{&amp;#160;$UAs{$a}&amp;#160;&amp;#60;=&amp;#62;&amp;#160;$UAs{$b}&amp;#160;}&amp;#160;keys&amp;#160;%UAs&amp;#160;&amp;#41;&amp;#160;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;printf&amp;#160;&quot;%16s&amp;#160;-&amp;#62;&amp;#160;%d\n&quot;,&amp;#160;$ua,&amp;#160;$UAs{$ua};&lt;br /&gt;
}&lt;/div&gt; 
    </content:encoded>

    <pubDate>Tue, 07 Sep 2004 12:13:37 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/155-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Using mod_security to Block Serendipity Weblog / Blog Comment Spam</title>
    <link>http://freebsd.munk.me.uk/archives/154-Using-mod_security-to-Block-Serendipity-Weblog-Blog-Comment-Spam.html</link>
            <category>Apache</category>
            <category>Security</category>
    
    <comments>http://freebsd.munk.me.uk/archives/154-Using-mod_security-to-Block-Serendipity-Weblog-Blog-Comment-Spam.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=154</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=154</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    Have been seeing quite a bit of comment spam recently on this weblog, mainly pimping online pharmacies.  Needless to say this is not wanted.  &lt;br /&gt;
&lt;br /&gt;
After the fourth lot of spam in not that many days I&#039;ve added a few lines to the &lt;a href=&quot;http://www.modsecurity.org/&quot;&gt;mod_security&lt;/a&gt; section in my httpd.conf file to stop apache from allowing access if the POST payload contains certain keywords:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;SecFilterSelective&amp;#160;POST_PAYLOAD&amp;#160;&quot;BLOCKED&amp;#160;KEYWORDS&amp;#160;GO&amp;#160;HERE!!!&quot;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
You get the gist, adding the keywords would freeze me out so won&#039;t bother with that :P&lt;br /&gt;
&lt;br /&gt;
Before I considered mod_security though I was wondering how a &lt;a href=&quot;http://www.spamassassin.org/&quot;&gt;spamassassin&lt;/a&gt; plugin might work with Serendipity - a plugin that would forward comments to a spamd daemon for spam checking before accepting the comment.  Not too sure how spamd handles data that doesn&#039;t contain mail headers, I guess it should still parse it ok and return a score. No doubt this won&#039;t get pursued any further seeing as this mod_security fix should do the trick. 
    </content:encoded>

    <pubDate>Fri, 03 Sep 2004 06:53:17 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/154-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Attempts To Exploit My_ eGallery Vulnerability Target Random Sites</title>
    <link>http://freebsd.munk.me.uk/archives/153-Attempts-To-Exploit-My_-eGallery-Vulnerability-Target-Random-Sites.html</link>
            <category>Apache</category>
            <category>PHP</category>
            <category>Security</category>
            <category>WWW</category>
    
    <comments>http://freebsd.munk.me.uk/archives/153-Attempts-To-Exploit-My_-eGallery-Vulnerability-Target-Random-Sites.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=153</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=153</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    This is &lt;a href=&quot;http://www.securityfocus.com/bid/9113/info/&quot;&gt;by no means a new attempt &lt;/a&gt;to exploit a vulnerability in a PHP web application, but since I started using snort as a full time intrusion detection system I&#039;ve picked up countless attempts to exploit a vulnerability in an online PHP photo gallery called &lt;a href=&quot;http://lottasophie.sourceforge.net/&quot;&gt;My_ eGallery&lt;/a&gt;.  The annoying thing about this is that I&#039;ve never had this gallery system installed on any of the sites I maintain - particularly the one that keeps getting hit - but they continue to try their exploits.  Read on for more... &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/153-Attempts-To-Exploit-My_-eGallery-Vulnerability-Target-Random-Sites.html#extended&quot;&gt;Continue reading &quot;Attempts To Exploit My_ eGallery Vulnerability Target Random Sites&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 26 Aug 2004 06:21:27 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/153-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Script Kiddies Redirected to NSA Kiddies site</title>
    <link>http://freebsd.munk.me.uk/archives/152-Script-Kiddies-Redirected-to-NSA-Kiddies-site.html</link>
            <category>Apache</category>
            <category>Security</category>
    
    <comments>http://freebsd.munk.me.uk/archives/152-Script-Kiddies-Redirected-to-NSA-Kiddies-site.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=152</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=152</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    Ok, I&#039;m really bored now.  Some morons have been trying to exploit a hole in an online PHP gallery system called E_Gallery for weeks now.  The thing is I don&#039;t have and never have had E_Gallery on my system - at least not in the location they&#039;re trying to &#039;exploit&#039;.&lt;br /&gt;
&lt;br /&gt;
This really pisses me off, why can&#039;t people bother to check whether the thing they&#039;re trying to exploit actually &lt;i&gt;exists&lt;/i&gt; on the system they&#039;re trying to exploit before wasting bandwidth trying to exploit it???  Bloody idiot script kiddies.  &lt;br /&gt;
&lt;br /&gt;
Enough&#039;s enough, I&#039;ve just set up this .htaccess file now to redirect them to the NSA kiddies page, let them try and crack something worth cracking:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;RewriteEngine&amp;#160;On&lt;br /&gt;
RewriteRule&amp;#160;^modules/my_&amp;#160;egallery/public/displayCategory.php&amp;#160;\&lt;br /&gt;
http&amp;#58;//www.nsa.gov/kids/intro.htm&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ll write something up about the actual exploit attempts in a separate article.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UPDATE:&lt;/b&gt;&lt;br /&gt;
Ok this was not a good idea, I&#039;m redirecting hits to the URI to somewhere more interesting (like the location of the backdoor servers they&#039;re trying to install in the first place :P). 
    </content:encoded>

    <pubDate>Thu, 26 Aug 2004 06:04:02 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/152-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Configuring Apache httpd.conf to Serve Perl Scripts As Plain Text</title>
    <link>http://freebsd.munk.me.uk/archives/146-Configuring-Apache-httpd.conf-to-Serve-Perl-Scripts-As-Plain-Text.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/146-Configuring-Apache-httpd.conf-to-Serve-Perl-Scripts-As-Plain-Text.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=146</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=146</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    Here&#039;s a small teaser the solution to which is really obvious with the benefit of hindsight.&lt;br /&gt;
&lt;br /&gt;
I needed to make all the files within a certain directory be served as plain text by &lt;a href=&quot;http://httpd.apache.org/&quot;&gt;Apache&lt;/a&gt;, regardless of their extension.  The solution was to use the following in the httpd.conf file:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#60;Directory&amp;#160;&quot;/usr/local/www/web/www.munk.me.uk/programming/perl&quot;&amp;#62;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;SetHandler&amp;#160;default-handler&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#60;/Directory&amp;#62;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Specifically I had &lt;a href=&quot;http://www.munk.me.uk/programming/perl/&quot;&gt;a directory which contained a lot of perl scripts&lt;/a&gt; all ending in the .pl extension and I didn&#039;t want them to be treated as executable files - ie I wanted the contents of the files to be visible in a browser to display the source code to users.  Adding the above config lines did the trick.&lt;br /&gt;
&lt;br /&gt;
The use of handlers in apache is covered here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://httpd.apache.org/docs/handler.html&quot;&gt;http://httpd.apache.org/docs/handler.html&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 10 Aug 2004 22:21:20 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/146-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Apache File Permission Security Model Suitable For Multiple Untrusted Shell Users</title>
    <link>http://freebsd.munk.me.uk/archives/97-Apache-File-Permission-Security-Model-Suitable-For-Multiple-Untrusted-Shell-Users.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/97-Apache-File-Permission-Security-Model-Suitable-For-Multiple-Untrusted-Shell-Users.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=97</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=97</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    This is a post I made to the FreeBSD-Questions list ages ago describing a file permission security model suitable for restricting untrusted shell users without restricting Apache access.  &lt;br /&gt;
&lt;br /&gt;
Original post:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-questions/2003-August/014731.html&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Post is included in extended article below.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/97-Apache-File-Permission-Security-Model-Suitable-For-Multiple-Untrusted-Shell-Users.html#extended&quot;&gt;Continue reading &quot;Apache File Permission Security Model Suitable For Multiple Untrusted Shell Users&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 10 Feb 2004 16:41:43 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/97-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>PHP HTTPD Web Statistics Frontend For mod_accounting</title>
    <link>http://freebsd.munk.me.uk/archives/82-PHP-HTTPD-Web-Statistics-Frontend-For-mod_accounting.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/82-PHP-HTTPD-Web-Statistics-Frontend-For-mod_accounting.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=82</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=82</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    I&#039;m in the process of hacking at the &lt;a href=&quot;http://jez.hancock-family.com/index.php?/archives/13_IPFWstats_SourceForge_Project.html&quot;&gt;IPFWstats&lt;/a&gt; source code so it displays HTTPD statistical reports for all the vhosts on the server - based on the transfer data logged to a mysql database by the &lt;a href=&quot;http://sourceforge.net/projects/mod-acct/&quot;&gt;mod_accounting apache module&lt;/a&gt;.  So far the hacked script displays a rundown of httpd transfer per vhost in descending order of traffic.  &lt;br /&gt;
&lt;br /&gt;
You can see the progress so far here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://httpdstats.munk.me.uk/&quot;&gt;http://httpdstats.munk.me.uk/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Be warned on average the page will take around 8-10 seconds to load!&lt;br /&gt;
&lt;br /&gt;
I&#039;m fairly happy with it so far, although it does take an age to sort the data - around 8 seconds for 5,000 records.  I don&#039;t think this can be helped really, perhaps using subselects in MySQL could help.&lt;br /&gt;
&lt;br /&gt;
If anyone is interested in obtaining this hacked up code then let me know.&lt;br /&gt;
&lt;br /&gt;
EDIT:&lt;br /&gt;
On second thoughts the source code is not available, although I would be open to offers to configure mod_accounting and install the stats package on a server. 
    </content:encoded>

    <pubDate>Mon, 02 Feb 2004 09:30:55 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/82-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>Updated awstats from 5.9 to 6.0</title>
    <link>http://freebsd.munk.me.uk/archives/66-Updated-awstats-from-5.9-to-6.0.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/66-Updated-awstats-from-5.9-to-6.0.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=66</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=66</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    In the weekly portupgrade I just upgraded awstats from 5.9 to 6.0.  Looking at the &lt;a href=&quot;http://sourceforge.net/forum/forum.php?forum_id=338937&quot;&gt;announcement on the awstats site&lt;/a&gt; things should go smoothly, although I&#039;ve added a note for myself in the extended article about customizing the installation of awstats on the server.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/66-Updated-awstats-from-5.9-to-6.0.html#extended&quot;&gt;Continue reading &quot;Updated awstats from 5.9 to 6.0&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 24 Jan 2004 14:15:27 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/66-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>mod_php vs php-cgi</title>
    <link>http://freebsd.munk.me.uk/archives/64-mod_php-vs-php-cgi.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/64-mod_php-vs-php-cgi.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=64</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=64</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    This question came up recently on the apache httpd-users list.  The article is here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://marc.theaimsgroup.com/?l=apache-httpd-users&amp;m=107153065731172&amp;w=2&quot;&gt;http://marc.theaimsgroup.com/?l=apache-httpd-users&amp;m=107153065731172&amp;w=2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The mail can be viewed in the extended entry and discusses when and why you&#039;d want to run php as a cgi rather than as a module in apache.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/64-mod_php-vs-php-cgi.html#extended&quot;&gt;Continue reading &quot;mod_php vs php-cgi&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 22 Jan 2004 23:13:23 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/64-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>
<item>
    <title>AWStats Logging Configuration For Individual Virtual Domains In Apache</title>
    <link>http://freebsd.munk.me.uk/archives/42-AWStats-Logging-Configuration-For-Individual-Virtual-Domains-In-Apache.html</link>
            <category>Apache</category>
    
    <comments>http://freebsd.munk.me.uk/archives/42-AWStats-Logging-Configuration-For-Individual-Virtual-Domains-In-Apache.html#comments</comments>
    <wfw:comment>http://freebsd.munk.me.uk/wfwcomment.php?cid=42</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://freebsd.munk.me.uk/rss.php?version=2.0&amp;type=comments&amp;cid=42</wfw:commentRss>
    

    <author>nospam@example.com (munk)</author>
    <content:encoded>
    &lt;b&gt;Synopsis&lt;/b&gt;&lt;br /&gt;
This article is based on a &#039;note to self&#039; I made for configuring the excellent web server statistics package &lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I only decided to start using &lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt; &lt;i&gt;after&lt;/i&gt; I&#039;d already configured over 50 virtual hosts in apache - therefore I needed a method of easily generating AWStats configuration files and collating AWStats statistics for those virtual hosts that I&#039;d already had running on the server for a while.  &lt;br /&gt;
&lt;br /&gt;
This article details:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;the use of the script - awsitestats.sh - to &#039;pregenerate&#039; AWStats for sites that already exist.&lt;br /&gt;
&lt;li&gt;a cronjob to update site stats daily&lt;br /&gt;
&lt;li&gt;a few PHP scripts to allow admins and visitors to a site easy access to AWStats statistics.&lt;br /&gt;
&lt;li&gt;notes on apache httpd configuration to make viewing of AWStats easier.&lt;/ul&gt;The complete article is fairly long, so I won&#039;t include it all here - please view the extended version for the complete article and source code snippets.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://freebsd.munk.me.uk/archives/42-AWStats-Logging-Configuration-For-Individual-Virtual-Domains-In-Apache.html#extended&quot;&gt;Continue reading &quot;AWStats Logging Configuration For Individual Virtual Domains In Apache&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 10 Jan 2004 12:08:00 +0000</pubDate>
    <guid isPermaLink="false">http://freebsd.munk.me.uk/archives/42-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license>
</item>

</channel>
</rss>