<?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>Open Sourcery</title>
	<atom:link href="http://www.opensourcery.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.opensourcery.co.uk</link>
	<description>Open Source Support and Consultancy</description>
	<pubDate>Wed, 27 Aug 2008 12:45:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Preserve formatting when pasting in vi/vim</title>
		<link>http://www.opensourcery.co.uk/2008/07/preserve-formatting-when-pasting-in-vivim/</link>
		<comments>http://www.opensourcery.co.uk/2008/07/preserve-formatting-when-pasting-in-vivim/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 16:34:53 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=63</guid>
		<description><![CDATA[When copy and pasting into vi or vim, you can often end up with badly formatted text. This is often referred to as &#8220;the staircase effect&#8221;. It&#8217;s easily prevented by entering :set paste before you paste, when you have finished turn it off again with :set nopaste.
a
Preserve formatting when pasting in vi/vim
]]></description>
			<content:encoded><![CDATA[<p>When copy and pasting into vi or vim, you can often end up with badly formatted text. This is often referred to as &#8220;the staircase effect&#8221;. It&#8217;s easily prevented by entering <code>:set paste</code> before you paste, when you have finished turn it off again with <code>:set nopaste</code>.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/07/preserve-formatting-when-pasting-in-vivim/">Preserve formatting when pasting in vi/vim</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/07/preserve-formatting-when-pasting-in-vivim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Handling temporary files in BASH shell scripts</title>
		<link>http://www.opensourcery.co.uk/2008/06/handling-temporary-files-in-bash-shell-scripts/</link>
		<comments>http://www.opensourcery.co.uk/2008/06/handling-temporary-files-in-bash-shell-scripts/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 13:41:59 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[BASH scripting]]></category>

		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=35</guid>
		<description><![CDATA[Temporary files left over from shell scripts clutter up your /tmp directory and may result in information leakage. Below are a pair of functions we use to gracefully handle the creation and removal of temporary files in shell scripts.
The first function is used to create a temporary file:
function os_mktemp {
&#160;[[ ! $1 ]] &#038;&#038; echo [...]]]></description>
			<content:encoded><![CDATA[<p>Temporary files left over from shell scripts clutter up your /tmp directory and may result in information leakage. Below are a pair of functions we use to gracefully handle the creation and removal of temporary files in shell scripts.</p>
<p>The first function is used to create a temporary file:</p>
<blockquote><p><code>function os_mktemp {<br />
&nbsp;[[ ! $1 ]] &#038;&#038; echo &#8220;os_mktemp: required a handle name&#8221; &#038;&#038; exit 99<br />
&nbsp;let OS_TEMPFILEHANDLE++;<br />
&nbsp;OS_TEMPFILE[$OS_TEMPFILEHANDLE]=`mktemp /tmp/ostmp.XXXXXXXX`<br />
&nbsp;eval F_$1=${OS_TEMPFILE[$OS_TEMPFILEHANDLE]}<br />
}<br />
</code></p></blockquote>
<p>It requires a single parameter, which is used to create a variable name containing the path to the temporary file. For example. <code>os_mktemp FTPOUTPUT</code> will return a variable <code>$F_FTPOUTPUT</code>. </p>
<p>The array OS_TEMPFILE is an array holding the names of all the temporary file names, this is used by the cleanup function to remove the temporary files.</p>
<p> <code>os_mktemp OUTPUT</code>; this results in a temporary file with a random name being created and the name being stored in the variable $F_OUTPUT.</p>
<p>The second function is used to remove all temporary files.</p>
<blockquote><p><code><br />
function os_cleanup {<br />
&nbsp;for FILE in ${OS_TEMPFILE[@]}; do<br />
&nbsp;&nbsp;[[ -e "$FILE" ]] &#038;&#038; rm &#8220;$FILE&#8221; || echo &#8220;os_cleanup: couldn&#8217;t remove temporary file $FILE.&#8221;<br />
&nbsp;done<br />
}<br />
</code></p></blockquote>
<p>To ensure the os_cleanup code is executed whenever the shell script closes, we use the BASH <em>trap</em> command. </p>
<blockquote><p><code><br />
trap os_cleanup INT TERM EXIT<br />
</code></p></blockquote>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/06/handling-temporary-files-in-bash-shell-scripts/">Handling temporary files in BASH shell scripts</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/06/handling-temporary-files-in-bash-shell-scripts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Automatically backing up files before making changes</title>
		<link>http://www.opensourcery.co.uk/2008/06/backing-up-files-before-making-changes/</link>
		<comments>http://www.opensourcery.co.uk/2008/06/backing-up-files-before-making-changes/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 08:40:01 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[BASH scripting]]></category>

		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

		<category><![CDATA[best practice]]></category>

		<category><![CDATA[change control]]></category>

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=43</guid>
		<description><![CDATA[It&#8217;s best practice (and common sense) to make a backup of a file before you edit it. Unfortunately it&#8217;s easy to forget to do this. We use this simple script below to make a time/date stamped copy of a file before launching the editor (in this case vim). We create it as /usr/local/bin/bvi.

#!/bin/bash
[[ -r $1 [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s best practice (and common sense) to make a backup of a file before you edit it. Unfortunately it&#8217;s easy to forget to do this. We use this simple script below to make a time/date stamped copy of a file before launching the editor (in this case <a href="http://www.vim.org/" target="_blank">vim</a>). We create it as <em>/usr/local/bin/bvi</em>.</p>
<blockquote><p><code><br />
#!/bin/bash<br />
[[ -r $1 ]] &#038;&#038; cp $1{,.`date +%Y%m%d-%H%M`} ||  echo &#8220;$1 is a new file&#8221;</code><br />
vim $1
</p></blockquote>
<p>We then add the following two aliases to our ~/.bashrc file to make sure it&#8217;s run automatically when we call vim.</p>
<blockquote><p><code>alias vi=/usr/local/bin/bvi<br />
alias vim=/usr/local/bin/bvi<br />
</code></p></blockquote>
<p>This isn&#8217;t a replacement for good version control of important files, but it&#8217;s a good safety net. It&#8217;s also worth noting that this can leave a lot of old copies of files laying about, so it&#8217;s work cleaning out old copies every now and again.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/06/backing-up-files-before-making-changes/">Automatically backing up files before making changes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/06/backing-up-files-before-making-changes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Check, repair and optimize all MySQL databases</title>
		<link>http://www.opensourcery.co.uk/2008/05/check-repair-and-optimize-all-mysql-databases/</link>
		<comments>http://www.opensourcery.co.uk/2008/05/check-repair-and-optimize-all-mysql-databases/#comments</comments>
		<pubDate>Wed, 21 May 2008 19:49:14 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=60</guid>
		<description><![CDATA[The following command will check, repair and optimize all databases on your MySQL server.
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
It is the equivalent of calling CHECK TABLE, REPAIR TABLE, ANALYZE TABLE and OPTIMZE TABLE for each table in each database on your server.
We tend to run this command directly after our scheduled backups.
a
Check, repair [...]]]></description>
			<content:encoded><![CDATA[<p>The following command will check, repair and optimize all databases on your MySQL server.</p>
<blockquote><p><code>mysqlcheck -u root -p --auto-repair --check --optimize --all-databases</code></p></blockquote>
<p>It is the equivalent of calling CHECK TABLE, REPAIR TABLE, ANALYZE TABLE and OPTIMZE TABLE for each table in each database on your server.</p>
<p>We tend to run this command directly <em>after</em> our scheduled backups.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/05/check-repair-and-optimize-all-mysql-databases/">Check, repair and optimize all MySQL databases</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/05/check-repair-and-optimize-all-mysql-databases/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BASH quick tip: Change to last directory</title>
		<link>http://www.opensourcery.co.uk/2008/05/bash-change-to-last-director/</link>
		<comments>http://www.opensourcery.co.uk/2008/05/bash-change-to-last-director/#comments</comments>
		<pubDate>Fri, 16 May 2008 19:55:21 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=50</guid>
		<description><![CDATA[You can change to the previous working directory in BASH by using the command:
cd - 
a
BASH quick tip: Change to last directory
]]></description>
			<content:encoded><![CDATA[<p>You can change to the previous working directory in BASH by using the command:</p>
<blockquote><p><code>cd - </code></p></blockquote>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/05/bash-change-to-last-director/">BASH quick tip: Change to last directory</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/05/bash-change-to-last-director/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using mod_rewrite to prevent hotlinking</title>
		<link>http://www.opensourcery.co.uk/2008/05/using-mod_rewrite-to-prevent-hotlinking/</link>
		<comments>http://www.opensourcery.co.uk/2008/05/using-mod_rewrite-to-prevent-hotlinking/#comments</comments>
		<pubDate>Mon, 12 May 2008 07:22:05 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=45</guid>
		<description><![CDATA[Hotlinking is the practice of linking to an object (generally an image file) from one site (the donor site) onto another (the linking site). We&#8217;re frequently asked by our hosting clients if there is a way to stop people doing this as it&#8217;s consuming their bandwidth or server resources. This is easily done with the [...]]]></description>
			<content:encoded><![CDATA[<p>Hotlinking is the practice of linking to an object (generally an image file) from one site (the donor site) onto another (the linking site). We&#8217;re frequently asked by our <a href="/services/open-source-hosting/">hosting</a> clients if there is a way to stop people doing this as it&#8217;s consuming their bandwidth or server resources. This is easily done with the mod_rewrite rules below. </p>
<blockquote><p><code><br />
RewriteEngine on<br />
RewriteCond %{HTTP_REFERER} !^$<br />
RewriteCond %{HTTP_REFERER} !^http://(www\.)?opensourcery.co.uk/.*$ [NC]<br />
RewriteRule \.(gif|png|jpe?g|$ - [F]</code></p></blockquote>
<p>This will deny requests for any .gif, .png, .jpg or .jpeg file unless the <a href="http://en.wikipedia.org/wiki/Referer">referrer</a> is either www.opensourcery.co.uk or opensourcery.co.uk. </p>
<p>You can substitute the last line for the one below if you wish to redirect people to an alternative image rather than simply denying the requests.</p>
<blockquote><p><code>#RewriteRule \.(gif|png|jpe?g|$ img/dontsteal.gif [L,NC]</code></p></blockquote>
<p>It&#8217;s worth remembering that the referrer header is optional so although almost every modern browser sends this with each request it&#8217;s possible that some won&#8217;t do meaning these rewrite rules may result in broken images for some users of your site.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/05/using-mod_rewrite-to-prevent-hotlinking/">Using mod_rewrite to prevent hotlinking</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/05/using-mod_rewrite-to-prevent-hotlinking/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing VMware Tools on Debian Etch</title>
		<link>http://www.opensourcery.co.uk/2008/04/vmware-tools-debian-etch/</link>
		<comments>http://www.opensourcery.co.uk/2008/04/vmware-tools-debian-etch/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 11:04:10 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=25</guid>
		<description><![CDATA[VMware don&#8217;t provide a packaged version of VMware tools for Debian, but they do provide the source and a script to build and install it. Installation is started in the usual way, but right clicking the virtual machine in Virtual Centre and choosing &#8220;Install/Upgrade VMware Tools&#8221;. This will mount a CD image containing the required [...]]]></description>
			<content:encoded><![CDATA[<p>VMware don&#8217;t provide a packaged version of VMware tools for Debian, but they do provide the source and a script to build and install it. Installation is started in the usual way, but right clicking the virtual machine in Virtual Centre and choosing &#8220;Install/Upgrade VMware Tools&#8221;. This will mount a CD image containing the required files.</p>
<p>Then, as root, install the kernel headers and tools required to build VMware tools:</p>
<blockquote><p><code>apt-get install autoconf automake binutils cpp gcc linux-headers-$(uname -r) make psmisc</code></p></blockquote>
<p>Next, mount the installation media and copy the file to /tmp. Obviously the build number of the archive may differ on your system.</p>
<blockquote><p><code>mount /dev/cdrom /mnt<br />
cp /mnt/VMwareTools-3.0.2-55869.tar.gz /tmp<br />
umount /mnt</code></p></blockquote>
<p>Untar the archive and start the installer. You can accept all the defaults here.</p>
<blockquote><p><code>cd /tmp<br />
tar zxf VMwareTools-3.0.2-55869.tar.gz<br />
cd vmware-tools-distrib<br />
./vmware-install.pl</code></p></blockquote>
<p>Next, start the configuration program.</p>
<blockquote><p><code>vmware-config-tools.pl</code>
</p></blockquote>
<p>Accept all the defaults except for the question: What is the location of the directory of C header files that match your runing kernel? The files will be in <code>/usr/src/linux-headers-<em>version</em>/include</code> - on our system this was <code>/usr/src/linux-headers-2.6.18-6/include</code>.</p>
<p>Finally, remove the existing NIC driver and replace it with the VMware supplied driver. For obvious reasons, this needs to be done from the console.</p>
<blockquote><p><code>/etc/init.d/networking stop<br />
rmmod pcnet32<br />
rmmod vmxnet<br />
modprobe vmxnet<br />
/etc/init.d/networking start</code>
</p></blockquote>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/04/vmware-tools-debian-etch/">Installing VMware Tools on Debian Etch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/04/vmware-tools-debian-etch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scheduled maintenance with mod_rewrite</title>
		<link>http://www.opensourcery.co.uk/2008/04/scheduled-maintenance-with-mod_rewrite/</link>
		<comments>http://www.opensourcery.co.uk/2008/04/scheduled-maintenance-with-mod_rewrite/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 10:45:38 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=34</guid>
		<description><![CDATA[A public sector customer recently had a requirement to redirect visitors to one of their applications to a holding page overnight while the company who support the application carried out some maintenance work. The work was being carried out between 1am and 7am to minimize disruption to the members of public who use the application.
Keen [...]]]></description>
			<content:encoded><![CDATA[<p>A public sector customer recently had a requirement to redirect visitors to one of their applications to a holding page overnight while the company who support the application carried out some maintenance work. The work was being carried out between 1am and 7am to minimize disruption to the members of public who use the application.</p>
<p>Keen to help, but also to get a good nights sleep we looked to <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html" target="_blank">mod_rewrite</a> to provide a solution (we manage the front end servers, which run Apache). </p>
<p>We added the following lines to our httpd.conf to redirect any traffic to the site to a holding page at /static/offline.php from 00:55 until 07:30 to a holding page:</p>
<blockquote><p><code>RewriteEngine on<br />
RewriteCond %{TIME} >20080407055000<br />
RewriteCond %{TIME} <20080407073000<br />
RewriteRule !^/static/offline.php$ /static/offline.php [PT,NS]</p>
<p>Alias /static "/var/www/www.example.com/static"</code></p></blockquote>
<p>As the application sits on a Tomcat instance behind mod_proxy, we also added the following line to prevent mod_proxy from handling requests for the /static directory.</p>
<blockquote><p><code>ProxyPass /static !</code></p></blockquote>
<p>We created the offline.php file, including with the line below to ensure that search engines didn&#8217;t index the holding page.</p>
<blockquote><p><code>header("HTTP/1.1 503 Service Temporarily Unavailable")</code><br />
</blockquote</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/04/scheduled-maintenance-with-mod_rewrite/">Scheduled maintenance with mod_rewrite</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/04/scheduled-maintenance-with-mod_rewrite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Parsing parameters in a BASH shell script</title>
		<link>http://www.opensourcery.co.uk/2008/04/parsing-parameters-bash-shell-script/</link>
		<comments>http://www.opensourcery.co.uk/2008/04/parsing-parameters-bash-shell-script/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 13:19:57 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[BASH scripting]]></category>

		<category><![CDATA[Tips and tricks]]></category>

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

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

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=40</guid>
		<description><![CDATA[This is a simple alternative to using getopts to parse parameters in a BASH shell script which makes use of the powerful parameter substitution functions in BASH. It should be sufficient for most scripts:

until [[ ! "$*" ]]; do
&#160;&#160;if [[ ${1:0:2} = '--' ]]; then
&#160;&#160;&#160;&#160;PAIR=${1:2}
&#160;&#160;&#160;&#160;PARAMETER=`echo ${PAIR%=*} &#124; tr [:lower:] [:upper:]`
&#160;&#160;&#160;&#160;eval P_$PARAMETER=${PAIR##*=}
&#160;&#160;fi
&#160;&#160;shift
done


The script processes parameters in [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple alternative to using getopts to parse parameters in a BASH shell script which makes use of the powerful parameter substitution functions in BASH. It should be sufficient for most scripts:</p>
<blockquote><p><code><br />
until [[ ! "$*" ]]; do<br />
&nbsp;&nbsp;if [[ ${1:0:2} = '--' ]]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;PAIR=${1:2}<br />
&nbsp;&nbsp;&nbsp;&nbsp;PARAMETER=`echo ${PAIR%=*} | tr [:lower:] [:upper:]`<br />
&nbsp;&nbsp;&nbsp;&nbsp;eval P_$PARAMETER=${PAIR##*=}<br />
&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;shift<br />
done<br />
</code>
</p></blockquote>
<p>The script processes parameters in the format <code>--<em>name</em>=<em>value</em></code> or <code>--<em>flag</em></code>.</p>
<p>So, executing: <code>./example.sh --number=123 --show</code></p>
<p>Will result in the variable $P_NUMBER being set to &#8220;123&#8243; and the variable $P_SHOW evaluating to true as it is set, albeit to a empty value.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/04/parsing-parameters-bash-shell-script/">Parsing parameters in a BASH shell script</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/04/parsing-parameters-bash-shell-script/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New website</title>
		<link>http://www.opensourcery.co.uk/2008/04/new-website/</link>
		<comments>http://www.opensourcery.co.uk/2008/04/new-website/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 21:03:59 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Open Sourcery]]></category>

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

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

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

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

		<category><![CDATA[Open Source]]></category>

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

		<guid isPermaLink="false">http://www.opensourcery.co.uk/?p=33</guid>
		<description><![CDATA[Our new website is now online.
As you would expect, the site is created wholly using Open Source software. It has been created using the excellent WordPress software and is
hosted on our own LAMP (Linux/Apache/MySQL/PHP)  servers.
a
New website
]]></description>
			<content:encoded><![CDATA[<p>Our new website is now online.</p>
<p>As you would expect, the site is created wholly using Open Source software. It has been created using the excellent <a href="http://wordpress.org/" target="_blank">WordPress</a> software and is<br />
<a href="/services/open-source-hosting/">hosted</a> on our own <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)" target="_blank">LAMP</a> (Linux/Apache/MySQL/PHP)  servers.</p>
<p>a</p>
<p><a href="http://www.opensourcery.co.uk/2008/04/new-website/">New website</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcery.co.uk/2008/04/new-website/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
