<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Axel Segebrecht &#187; How to</title>
	<atom:link href="http://www.axelsegebrecht.com/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.axelsegebrecht.com</link>
	<description>Cameraman and website designer from Milton Keynes (Buckinghamshire)</description>
	<lastBuildDate>Wed, 11 Jan 2012 00:22:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Get the URL of the current page or post with PHP in WordPress</title>
		<link>http://www.axelsegebrecht.com/how-to/get-url-current-page-post-with-php-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=get-url-current-page-post-with-php-wordpress</link>
		<comments>http://www.axelsegebrecht.com/how-to/get-url-current-page-post-with-php-wordpress/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 16:53:07 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[the_permalink]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=13024</guid>
		<description><![CDATA[This ia a very quick note on the right way to get the URL of the current page or post with PHP in your WordPress template: This will work for both posts and pages and outside the loop. I am using this for things like social media sharing buttons for example. Use it anywhere in ...]]></description>
			<content:encoded><![CDATA[<p>This ia a very quick note on the right way to get the URL of the current page or post with PHP in your WordPress template:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php echo &quot;http://&quot; . $_SERVER['HTTP_HOST']  . $_SERVER['REQUEST_URI']; ?&gt;</pre>
<p>This will work for both posts and pages and outside the loop. I am using this for things like social media sharing buttons for example. Use it anywhere in your WordPress template to get the URL. Use the_permalink() only for posts and within the loop!</p>
<p>Hope this helps someone else wondering why the_permalink() is displaying abnormally when used outside the loop and for pages <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/get-url-current-page-post-with-php-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Money from Offering VPS Hosting</title>
		<link>http://www.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=make-money-offering-vps-hosting</link>
		<comments>http://www.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 10:31:07 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Hosting. Money]]></category>
		<category><![CDATA[Little Series]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://blog.axelsegebrecht.com/?p=12809</guid>
		<description><![CDATA[Yet another post in my little series about getting the most bang for your buck, this time about making money (or not) from offering VPS (virtual private servers) hosting. Just a short introduction to the big bad world of web hosting and how to stand a chance making money with it. Special Offer Get a ...]]></description>
			<content:encoded><![CDATA[<p>Yet another post in <a href="http://blog.axelsegebrecht.com/tag/little-series">my little series</a> about getting the most bang for your buck, this time about making money (or not) from offering VPS (virtual private servers) hosting. Just a short introduction  to the big bad world of web hosting and how to stand a chance making money with it.</p>
<p><span id="more-12809"></span></p>
<div class="specialoffer">
<strong>Special Offer</strong> Get a VPS with 512MB RAM and 3GB disk space for just £9.99 inclusive of VAT!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4MPY34W6VZ6LQ">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><small>Subscription via PayPal; no minimum term; VPS created within 12 hours of payment made; service provided by <a href="http://www.brightercomputing.com" target="_blank">Brighter Computing Ltd</a>; <a href="http://brightercomputing.com/terms-and-conditions-of-service/">terms and conditions</a> / <a href="http://brightercomputing.com/acceptable-use-policy/" title="Acceptable Use Policy" target="_blank">AUP</a> apply; VAT receipts provided automatically</small>
</div>
<p></p><div class='toc tableofcontent'>
   <h2>Table Of Content</h2>
   <p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#An_introduction">An introduction</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#A_word_of_advice">A word of advice</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#So_where_do_you_fit?">So where do you fit?</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#An_Example">An Example</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#A_final_thought">A final thought</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Other_articles_in_this_series">Other articles in this series</a></p>

</div><div class='tableofcontent-end'> </div><p></p>
<h2 id="An_introduction">An introduction</h2>
<p>I have have been hosting websites amongst other things since the good old days of acoustic modems and bbs (bulletin board systems), where you had to dial a regular phone number to connect to a remote computer!</p>
<p>This is a long time ago now and I have always tried to make small resources go further, just because its fun tinkering with hardware and software that way. A while ago I offered hosting on my own hardware at befriended data centres and at some point even from my office through a leased line.</p>
<p>Times have changed and with an awful lot of competition offering hosting at nearly zero cost to a customer, my hosting service has changed somewhat.</p>
<p>Today virtual machines and the &#8216;cloud&#8217; are en-vogue and thankfully offer the enterprising hoster a way to generate an income. Various control panels and scripts make the job of a sys-admin that much easier but also introduce a lot of pitfalls. In fact, a lot of those &#8216;rock bottom&#8217; virtual machine service providers are run by people that have no idea what they are doing and usually on dubious hardware and in suspect data centres. (this is based on a few months trying out various providers to see what it is like&#8230; quite shocking)</p>
<p>Coming from knitting stuff by hand, I tend to stay away from control panels as the free ones usually make more work then they save me and the good ones cost license fees that erode the already slim profits. </p>
<h2 id="A_word_of_advice">A word of advice</h2>
<p>Should you compete with the low-end providers, you need bags of cash, a lot of hardware and solid software. Most of us won&#8217;t fit in that category.</p>
<p>Should you wish to compete with Rackspace&trade; and the like, you need bags of cash, a lot of good hardware and excellent software as well as a battalion of friendly, dedicated and very hard working staff. I hence you won&#8217;t fit in that category either.</p>
<h3 id="So_where_do_you_fit?">So where do you fit?</h3>
<p>This is for you to decide and I can only give you an example of the route I took: offering a solid, managed service at a price point my customers (small businesses and professionals) can afford.</p>
<p>In other words, somewhere between Rackspace&trade; and your 99p hoster (that&#8217;s a gap as wide as the Pacific -ed).</p>
<p>Try to find yourself a respectable provider (like OVH) and don&#8217;t make the mistake of buying the cheapest dedicated box you can find (*cough* Kimsufi *cough*)! Get something that comes with a decent specification but fits in your budget. </p>
<p>Price yourself on service and professionalism rather than features and price point. Fighting somebody on price and features is hard, making a stand on reputation and service much easier.</p>
<h2 id="An_Example">An Example</h2>
<p>One of my servers is rented from OVH and provides me with 16GB RAM and 120GB disk space (on two SSDrives in s/RAID1). Discounting 2GB RAM and 20GB disk space for O/S use, we are left with 14GB RAM and 90GB disk space for our virtual machines.</p>
<p>The maximum users I will host on this server is therefore: 28 (512MB RAM, 0MB swap, 3GB disk space). I&#8217;m selling that at a minimum of £9.99 (incl VAT or £8.32 net) per VPS but normally £19.99<sup><a href="#1"><strong>1</strong></a></sup> (net) as a managed service.</p>
<p>At the minimum of £8.32 I stand to generate £232.96 in revenue. Subtract £64.99 for the server (SP 2011 SSD) + £15 for professional usage + £34.99 for 32IPs (RIPE block) over 12 month £2.91 per month, you end up with a total figure of £82.90 net in costs vs £232.96 in income, leaving you with £150.06 net profit.</p>
<p>That sounds good until you add support costs, Paypal charges and other business overheads to that and you pretty much break even depending what customers you have and how much support you are likely to have to give. Plus I spend a fair bit of time improving the software configuration and staying well clear of overselling anything.</p>
<p>£150.06 divided by 28 customers is just £5.36 profit per customer per month. If you set £15<sup><a href="#2"><strong>2</strong></a></sup> per hour as your base rate, and you just spend a smidgen over 21 minutes dealing with requests every month you start loosing money. Now 21 minutes per customer is quite a lot but if they are having a problem you haven&#8217;t seen before you end up spending hours tracking stuff down.</p>
<p>It&#8217;s important to remember this folks, otherwise you look at your bank balance and think &#8216;sweet!&#8217; but work your butt off every day for treading water instead of growing your business. Good support takes time and costs money. It makes customers happy so they stay with you but it is not growing your business (much).</p>
<p>£150.06 net is not to be sniffed at though because at least you are breaking even and can start growing your business. Once you have enough experience, scripts and customers you can start renting more servers and reduce the costs base at some point.</p>
<p>Sadly more servers and more customers mean more support and more overheads, so you will be relegated to watching your margins very carefully and spending more time in spreadsheets than hacking code or getting creative with designing websites!</p>
<blockquote><p><a id="1">1</a> | A managed service means I look after the core software running in the virtual machine. Operating system and software updates, making sure the firewall is doing its job, checking for abuse and malware. Generally an hours work per machine per month.</p>
<p>If all customers were using this service, I&#8217;d stand to generate £559.44 in revenue with around £82.90 a month in costs, that&#8217;s a nice little profit of £476.54 for 28 hours of work a month. Or just over £17 an hour profit (before tax and other business costs).</p></blockquote>
<blockquote><p><a id="2">2</a> | You should calculate your hourly rate based on all the costs factors in your business, not what you think you should charge, to calculate this figure properly! I simply wanted to illustrate a point here. Take into account you might need to hire somebody else to look after support, you start loosing money very quickly unless you up your monthly charges or do what a lot of other hosts do and charge per incident (eg. £10 per support ticket outside basic support, some call this &#8216;remote hands&#8217;).</p></blockquote>
<h2 id="A_final_thought">A final thought</h2>
<p>I&#8217;m firmly looking to stay small and offer vps / web hosting as a &#8216;valued added service&#8217; in addition to my core service of <a href="http://www.axelsegebrecht.com/">designing successful websites for freelancers and small businesses</a>. I could raise prices for hosting to recoup some money for managing the hosting side but as long as my costs are covered and I can asure a dependable, speedy service than I shall be happy <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2 id="Other_articles_in_this_series">Other articles in this series</h2>
<p>Related posts in this <a href="http://blog.axelsegebrecht.com/tag/little-series">(little) series</a>:</p>
<ul>
<li><a href="http://blog.axelsegebrecht.com/tutorials-and-tips/testing-nginx-with-apc-varnish-wordpress-and-w3-cache-on-a-128mb-vps/">How to: Testing Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/">How to: Install Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/">How to: Benchmark Nginx and Varnish for a WordPress Site</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/"><strong>How to: Make Money from Offering VPS Hosting</strong></a></li>
</ul>
<p>What are you doing for a living? How are you using this little tutorial? Let me know and leave me your comments below or drop me a tweet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Benchmark Nginx and Varnish for a WordPress Site</title>
		<link>http://www.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=benchmark-nginx-varnish-wordpress-site</link>
		<comments>http://www.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 12:11:28 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Benchmarking]]></category>
		<category><![CDATA[Little Series]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Varnish]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[W3 Cache]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.axelsegebrecht.com/?p=12807</guid>
		<description><![CDATA[This is a post about benchmarking nginx and varnish in my little series of getting the most performance for your buck, running nginx with varnish, apc and memcache for a WordPress website on a small VPS with 128MB RAM. Special Offer Get a VPS with 512MB RAM and 3GB disk space for just £9.99 inclusive ...]]></description>
			<content:encoded><![CDATA[<p>This is a post about benchmarking nginx and varnish in <a href="http://www.axelsegebrecht.com/tag/little-series">my little series</a> of getting the most performance for your buck, running nginx with varnish, apc and memcache for a WordPress website on a small VPS with 128MB RAM.</p>
<p><span id="more-12807"></span></p>
<div class="specialoffer">
<strong>Special Offer</strong> Get a VPS with 512MB RAM and 3GB disk space for just £9.99 inclusive of VAT!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4MPY34W6VZ6LQ">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><small>Subscription via PayPal; no minimum term; VPS created within 12 hours of payment made; service provided by <a href="http://www.brightercomputing.com" target="_blank">Brighter Computing Ltd</a>; <a href="http://brightercomputing.com/terms-and-conditions-of-service/">terms and conditions</a> / <a href="http://brightercomputing.com/acceptable-use-policy/" title="Acceptable Use Policy" target="_blank">AUP</a> apply; VAT receipts provided automatically</small>
</div>
<p>If you don&#8217;t have it installed already, then get apache2-utils to run the benchmark tool:</p>
<pre class="brush: bash; title: ; notranslate">apt-get install apache2-utils</pre>
<p>To test nginx+fpm only, we need to send requests to port 8080:</p>
<pre class="brush: bash; title: ; notranslate">ab -kc 10 -n 1000 http://localhost:8080/</pre>
<p>To test varnish we need port 80:</p>
<pre class="brush: bash; title: ; notranslate">ab -kc 10 -n 1000 http://localhost:80/</pre>
<p>Comparison of the two give us (in my case anyway) the following results. Please note this is all run locally and I have SSD drives.</p>
<table>
<thead>
<tr>
<th>Description</th>
<th>Nginx</th>
<th>Varnish</th>
</tr>
</thead>
<tbody>
<tr>
<td>Server Port</td>
<td>8080</td>
<td>80</td>
</tr>
<tr>
<td>Time taken</td>
<td>5.753 seconds</td>
<td>0.054 seconds</td>
</tr>
<tr>
<td>Total transferred</td>
<td>255000 bytes</td>
<td>6351000 bytes</td>
</tr>
<tr>
<td>Requests per second</td>
<td>173.83</td>
<td>18589.09</td>
</tr>
<tr>
<td>Transfer rate</td>
<td>43.29 Kbytes/sec</td>
<td>115292.28 Kbytes/sec</td>
</tr>
<tr>
<td>50% of requests served in</td>
<td>57ms</td>
<td>0ms</td>
</tr>
<tr>
<td>100% of requests served in</td>
<td>121ms (longest request)</td>
<td>3ms</td>
</tr>
</tbody>
</table>
<p>Yes, we are cheating here. Varnish is delivering static content back and it&#8217;s all requested locally not from another machine outside the network. Anyway, the whole point of this set-up is to make our dynamic website be as static as possible whilst remaining dynamic (er- you what?).</p>
<p>APC, memcached and the use of W3 Cache all help to reduce the amount of hard work our system has to do to deliver the same bit of content to the visitor. We are not talking about web-apps but a run of the mill WordPress powered site here. Varnish helps to reduce the work load even further and the above table is proof that a reverse proxying cache is the single piece of software that makes or breaks your performance.</p>
<p>Put Cloudflare in front of that and see how little bandwidth your website suddenly requires and how blazingly fast it is all of a sudden! Notice how little resources you can do without. Save your pennies for running a VPS host server instead.</p>
<p>Look out for another post with more benchmark information and more exhaustive tests. For example, I will test Cloudflare vs direct (varnish &amp; nginx) from remote.</p>
<h2 id="Other_articles_in_this_series">Other articles in this series</h2>
<p>Related posts in this <a href="http://blog.axelsegebrecht.com/tag/little-series/">(little) series</a>:</p>
<ul>
<li><a href="http://blog.axelsegebrecht.com/tutorials-and-tips/testing-nginx-with-apc-varnish-wordpress-and-w3-cache-on-a-128mb-vps/">How to: Testing Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/">How to: Install Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/"><strong>How to: Benchmark Nginx and Varnish for a WordPress Site</strong></a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/">How to: Make Money from Offering VPS Hosting</a></li>
</ul>
<p>What are you doing for a living? How are you using this little tutorial? Let me know and leave me your comments below or drop me a tweet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</title>
		<link>http://www.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps</link>
		<comments>http://www.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 14:18:24 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[Little Series]]></category>
		<category><![CDATA[Ningx]]></category>
		<category><![CDATA[Varnish]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[W3 Cache]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.axelsegebrecht.com/?p=12791</guid>
		<description><![CDATA[Following on from me trying to fit a WordPress install on a 128MB VPS while not sacrificing performance; I give you my rather comprehensive tutorial on how to install nginx with apc (php opt-code cache), varnish (caching proxy), wordpress and w3 cache. Special Offer Get a VPS with 512MB RAM and 3GB disk space for ...]]></description>
			<content:encoded><![CDATA[<p>Following on from me <a href="http://blog.axelsegebrecht.com/tutorials-and-tips/testing-nginx-with-apc-varnish-wordpress-and-w3-cache-on-a-128mb-vps/">trying to fit a WordPress install on a 128MB VPS</a> while not sacrificing performance; I give you my rather comprehensive tutorial on how to install nginx with apc (php opt-code cache), varnish (caching proxy), wordpress and w3 cache.</p>
<p><span id="more-12791"></span></p>
<div class="specialoffer">
<strong>Special Offer</strong> Get a VPS with 512MB RAM and 3GB disk space for just £9.99 inclusive of VAT!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4MPY34W6VZ6LQ">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><small>Subscription via PayPal; no minimum term; VPS created within 12 hours of payment made; service provided by <a href="http://www.brightercomputing.com" target="_blank">Brighter Computing Ltd</a>; <a href="http://brightercomputing.com/terms-and-conditions-of-service/">terms and conditions</a> / <a href="http://brightercomputing.com/acceptable-use-policy/" title="Acceptable Use Policy" target="_blank">AUP</a> apply; VAT receipts provided automatically</small>
</div>
<p></p><div class='toc tableofcontent'>
   <h2>Table Of Content</h2>
   <p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Introduction">Introduction</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Disclaimer">Disclaimer</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Setting_up_the_VPS">Setting up the VPS</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Removing_stuff">Removing stuff</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Apt_Sources">Apt Sources</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Adding_dot-deb_repo">Adding dot-deb repo</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Adding_main_debian_repos">Adding main debian repos</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Updating">Updating</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Adding_base">Adding base</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Adding_Varnish_repo">Adding Varnish repo</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Adding_a_system_user">Adding a system user</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Add_user_to_sudo">Add user to sudo</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Change_SSH_conf">Change SSH conf</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Installing_Software">Installing Software</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Configuring_services">Configuring services</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Configuring_MySql">Configuring MySql</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Configuring_nginx">Configuring nginx</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Fix_CGI_Path_Info">Fix CGI Path Info</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Configuring_PHP5-FPM">Configuring PHP5-FPM</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Configuring_Varnish">Configuring Varnish</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Configuring_vsftpd_(optional)">Configuring vsftpd (optional)</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Enabling_SSL">Enabling SSL</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Installing_Wordpress">Installing Wordpress</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Creating_a_database_for_Wordpress">Creating a database for Wordpress</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Securing_your_VPS">Securing your VPS</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Starting_and_stopping_our_services">Starting and stopping our services</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#The_Stop_Script">The Stop Script</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#The_Start_Script">The Start Script</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Problems">Problems</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Closing_Notes">Closing Notes</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Exim_Installation_and_Configuration_on_Debian">Exim Installation and Configuration on Debian</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Free_Memory">Free Memory</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Script_to_show_memory_usage">Script to show memory usage</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#The_APT_problem">The APT problem</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Conclusions">Conclusions</a></p>
<p style='font-size:13px; line-height:13px; padding-left:20px;'><a style='color:#151515 ;' href="#Shameless_self_promotion">Shameless self promotion</a></p>
<p style='font-size:12px; line-height:12px; padding-left:40px;'><a style='color:#2a2a2a ;' href="#Small_Print">Small Print</a></p>
<p style='font-size:14px; line-height:14px; padding-left:0px;'><a style='color:#000000 ;' href="#Other_articles_in_this_series">Other articles in this series</a></p>

</div><div class='tableofcontent-end'> </div><p></p>
<h2 id="Introduction">Introduction</h2>
<p>The purpose of this tutorial is to configure a single VPS with 128MB RAM to provide hosting for a single WordPress website by using Nginx as a webserver, MySQL as a database server, PHP-FPM as a fastCGI server, APC as an optcode cache, Varnish as a caching proxy and vsFTPd as a secure FTP server (optional step). I also use openSSH/SCP as the primary means to access the VPS with.</p>
<p>When I write [HOSTNAME] please subsitute everything (incl the brackets) with your hostname (eg. www.example.org).</p>
<p>When I write [USER] please subsitute it (incl the brackets) with your username (eg. example).</p>
<p>In fact, anything [something] please replace with your own values! (eg. [YourPassword]).</p>
<p>I&#8217;m running this on my new dedicated server running Proxmox (1.8) with kernel 2.6.32-4-pve and an openVZ debian 6 (32bit) guest, at 128MB RAM and 0MB swap*. This server is running on SSD&#8217;s (solid state disks). Running on SSD&#8217;s is really nice especially for high iops required to run a VM host.</p>
<p>*) Swap in an openVZ virtual machine is just memory, so 128 RAM + 128 swap would simply mean 256M overall memory. There is no difference. Hence why I just set RAM and not swap for openVZ vms.</p>
<h3 id="Disclaimer">Disclaimer</h3>
<p>In case you don&#8217;t have this set-up, please be aware that you may not get this to work. Caveat emptor &#8211; your milage may vary. I suggest you run this on a test bed rather than anything you are using for production already! No warranties are given and no responsibility for time lost, and tears shed assumed. Now make a brew and let&#8217;s get on with the show.</p>
<h2 id="Setting_up_the_VPS">Setting up the VPS</h2>
<h3 id="Removing_stuff">Removing stuff</h3>
<p>Ref: <a href="http://www.lowendbox.com/blog/bootstraping-low-end-vps-with-pre-built-scripts/" target="_blank">http://www.lowendbox.com/blog/bootstraping-low-end-vps-with-pre-built-scripts/</a></p>
<p>We don&#8217;t really need rsyslog or portmap, so let&#8217;s remove them:</p>
<pre class="brush: bash; title: ; notranslate">apt-get remove rsyslog portmap</pre>
<h3 id="Apt_Sources">Apt Sources</h3>
<h4 id="Adding_dot-deb_repo">Adding dot-deb repo</h4>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">echo deb http://packages.dotdeb.org stable all &gt;&gt; /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all &gt;&gt; /etc/apt/sources.list
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -</pre>
<h4 id="Adding_main_debian_repos">Adding main debian repos</h4>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">echo deb http://mirror.positive-internet.com/debian/ squeeze main non-free contrib &gt;&gt; /etc/apt/sources.list
echo deb-src http://mirror.positive-internet.com/debian/ squeeze main non-free contrib &gt;&gt; /etc/apt/sources.list
echo deb http://security.debian.org/ squeeze/updates main &gt;&gt; /etc/apt/sources.list
echo deb-src http://security.debian.org/ squeeze/updates main &gt;&gt;/etc/apt/sources.list
echo deb http://mirror.positive-internet.com/debian/ squeeze-updates main &gt;&gt; /etc/apt/sources.list
echo deb-src http://mirror.positive-internet.com/debian/ squeeze-updates main &gt;&gt; /etc/apt/sources.list</pre>
<h3 id="Updating">Updating</h3>
<pre class="brush: bash; title: ; notranslate">apt-get update &amp;&amp; apt-get upgrade</pre>
<h3 id="Adding_base">Adding base</h3>
<pre class="brush: bash; title: ; notranslate">apt-get install mc sudo iptables curl lsb-release</pre>
<h3 id="Adding_Varnish_repo">Adding Varnish repo</h3>
<p>Ref: <a href="https://www.varnish-cache.org/installation/debian" target="_blank">https://www.varnish-cache.org/installation/debian</a></p>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo &quot;deb http://repo.varnish-cache.org/debian/ $(lsb_release -s -c) varnish-3.0&quot; &gt;&gt; /etc/apt/sources.list.d/varnish.list
apt-get update
apt-get install varnish</pre>
<h3 id="Adding_a_system_user">Adding a system user</h3>
<pre class="brush: bash; title: ; notranslate">adduser [USER]</pre>
<p>Don&#8217;t forget to give your user a password, a strong one preferably.</p>
<h4 id="Add_user_to_sudo">Add user to sudo</h4>
<pre class="brush: bash; title: ; notranslate">visudo</pre>
<p>&#8211; find:</p>
<pre class="brush: bash; title: ; notranslate">root (ALL)</pre>
<p>&#8211; add below:</p>
<pre class="brush: bash; title: ; notranslate">[User] (ALL) ALL</pre>
<h3 id="Change_SSH_conf">Change SSH conf</h3>
<pre class="brush: bash; title: ; notranslate">mcedit /etc/ssh/sshd_config</pre>
<p>&#8211;find:</p>
<pre class="brush: bash; title: ; notranslate">PermitRootLogin yes</pre>
<p>&#8211;change to:</p>
<pre class="brush: bash; title: ; notranslate">PermitRootLogin no</pre>
<p>&#8211;find:</p>
<pre class="brush: bash; title: ; notranslate">X11Forwarding yes</pre>
<p>&#8211;change to:</p>
<pre class="brush: bash; title: ; notranslate">X11Forwarding no</pre>
<p>&#8211;find:</p>
<pre class="brush: bash; title: ; notranslate">Port 22</pre>
<p>&#8211;change to:</p>
<pre class="brush: bash; title: ; notranslate">7742</pre>
<p>&#8211;add to end:</p>
<pre class="brush: bash; title: ; notranslate">UseDNS no</pre>
<p>&nbsp;</p>
<pre class="brush: bash; title: ; notranslate">service ssh restart</pre>
<p>Now open a new terminal and connect to your VPS using the username you have chosen and make sure you are connecting to port 7742 and not the default 22! Once logged on, we can continue our journey with installing some software.</p>
<h2 id="Installing_Software">Installing Software</h2>
<pre class="brush: bash; title: ; notranslate">apt-get install nginx mysql-server mysql-client memcached php5 php-apc php-auth php-net-smtp php-net-socket php-pear php5-curl php5-gd php5-mcrypt php5-mysql php5-fpm php5-memcached php5-tidy vsftpd</pre>
<p>Yes, it was as easy as that! Provided you answered &#8216;yes&#8217; to the question whether you wanted to install the above and their dependencies, you are now almost done.</p>
<h2 id="Configuring_services">Configuring services</h2>
<p>OK, I was lying. You are nowhere near done but it&#8217;s as good a time as any to make a fresh brew before we dive into configuring our services.</p>
<p>In this section we are setting up the following software:</p>
<ul>
<li>MySQL</li>
<li>Nginx</li>
<li>PHP5</li>
<li>APC</li>
<li>FPM</li>
<li>memcache</li>
<li>Varnish</li>
<li>vsFTPd</li>
</ul>
<h3 id="Configuring_MySql">Configuring MySql</h3>
<p>References:<br />
- Reducing MySQL Memory Usage for Low End Boxes<br />
<a href="http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/" target="_blank">http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/</a></p>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/mysql/my.cnf /etc/mysql/my.cnf.org
mcedit /etc/mysql/my.cnf</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
thread_stack = 192K
myisam-recover = BACKUP
expire_logs_days = 10
max_binlog_size = 100M
bulk_insert_buffer_size = 8M
connect_timeout=10
interactive_timeout=50
join_buffer=1M
key_buffer=16K
max_allowed_packet=1M
table_cache = 4
max_connect_errors=10
max_connections=100
max_heap_table_size = 8M
myisam_sort_buffer_size=8M
query_cache_limit = 4M
query_cache_size = 250M
query_cache_type = 1
query_prealloc_size = 65K
query_alloc_block_size = 128K
read_buffer_size=1M
read_rnd_buffer_size=768K
record_buffer=1M
safe-show-database
skip-innodb
skip-locking
skip-networking
sort_buffer=64K
thread_cache_size=1024
thread_concurrency=8
tmp_table_size = 32M
wait_timeout=500
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = -5
open_files_limit = 8192
[isamchk]
key_buffer = 8M
sort_buffer = 8M
read_buffer = 4M
write_buffer = 4M
!includedir /etc/mysql/conf.d/</pre>
<h3 id="Configuring_nginx">Configuring nginx</h3>
<p>References:<br />
- nginx wordpress config<br />
<a href="http://wiki.nginx.org/Wordpress" target="_blank">http://wiki.nginx.org/Wordpress</a><br />
- Nginx + PHP-FPM + MySql + APC + WordPress<br />
<a href="http://shortbutuseful.com/88/install-nginx-phpfpm-mysql-apc-wordpress-debian-6/" target="_blank">http://shortbutuseful.com/88/install-nginx-phpfpm-mysql-apc-wordpress-debian-6/</a><br />
- Optimizing WordPress with Nginx, Varnish, APC, W3 Total Cache, and Amazon S3<br />
<a href="http://danielmiessler.com/blog/optimizing-wordpress-with-nginx-varnish-w3-total-cache-amazon-s3-and-memcached" target="_blank">http://danielmiessler.com/blog/optimizing-wordpress-with-nginx-varnish-w3-total-cache-amazon-s3-and-memcached</a></p>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.org
mcedit /etc/nginx/nginx.conf</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">user www-data;
worker_processes 1;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 512;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 3;
server_tokens off;
access_log off;
client_max_body_size 32m;
client_body_timeout 60;
client_header_timeout 60;
send_timeout 60;
reset_timedout_connection on;

# If using Cloudflare, uncomment the following to get proper originating IPs
#set_real_ip_from   204.93.240.0/24;
#set_real_ip_from   204.93.177.0/24;
#set_real_ip_from   199.27.128.0/21;
#set_real_ip_from 173.245.48.0/20;
#set_real_ip_from 103.22.200.0/22;
#set_real_ip_from 141.101.64.0/18;
#real_ip_header   CF-Connecting-IP;
# end Cloudflare

gzip on;
gzip_disable &quot;MSIE [1-6].(?!.*SV1)&quot;;
gzip_vary on;
gzip_static on;
gzip_proxied any;
gzip_comp_level 9;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}</pre>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.org
mcedit /etc/nginx/sites-available/default</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">upstream php { server 127.0.0.1:9000; }
server {
listen 8080; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /home/[USER]/www;
index index.php index.html index.htm;
server_name [HOSTNAME];
location / {
root /home/[USER]/www/;
index index index.php;
try_files $uri/ $uri /index.php?q=$uri&amp;amp&amp;$args;
port_in_redirect off;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
log_not_found off;
expires max;
root /home/[USER]/www/;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have &quot;cgi.fix_pathinfo = 0;&quot; in php.ini
fastcgi_pass php;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/[USER]/www/$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 360;
fastcgi_read_timeout 360;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
location ~ /.htaccess { deny all; log_not_found off; access_log off; }
location ~ /.htpasswd { deny all; log_not_found off; access_log off; }
location = /favicon.ico { allow all; log_not_found off; access_log off; }
location = /robots.txt { allow all; log_not_found off; access_log off; }
}</pre>
<h4 id="Fix_CGI_Path_Info">Fix CGI Path Info</h4>
<pre class="brush: bash; title: ; notranslate">mcedit /etc/php5/fpm/php.ini</pre>
<p>&#8211;find:</p>
<pre class="brush: bash; title: ; notranslate">cgi.fix_pathinfo</pre>
<p>Uncomment the command by removing the ; in front and replace the defauly 1 with a 0!</p>
<h3 id="Configuring_PHP5-FPM">Configuring PHP5-FPM</h3>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm.conf.org
mcedit /etc/php5/fpm/php-fpm.conf</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
log_level = notice
emergency_restart_threshold = 5
emergency_restart_interval = 2
process_control_timeout = 2
daemonize = yes
include=/etc/php5/fpm/pool.d/*.conf</pre>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/www.conf.org
mcedit /etc/php5/fpm/pool.d/www.conf</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">[www]
;prefix = /path/to/pools/$pool
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = [USER]
listen.group = [USER]
listen.mode = 0666
user = [USER]
group = [USER]
pm = dynamic
pm.max_children = 15
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 0
pm.status_path = /fpmstatus
ping.path = /ping
ping.response = pong
request_terminate_timeout = 10
request_slowlog_timeout = 10
slowlog = /var/log/$pool.log.slow
;rlimit_files = 1024
;rlimit_core = 0
;chroot =
;chdir = /
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
php_admin_value[date.timezone] = Europe/London
php_value[upload_max_filesize] = 10M
php_value[max_execution_time] = 120</pre>
<h3 id="Configuring_Varnish">Configuring Varnish</h3>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/default/varnish /etc/varnish/default_old
mcedit /etc/default/varnish</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">START=yes
NFILES=131072
MEMLOCK=82000
DAEMON_OPTS=&quot;-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,1G&quot;</pre>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/varnish/default.vcl /etc/varnish/default.vcl.org
mcedit /etc/varnish/default.vcl</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">backend default { .host = &quot;localhost&quot;; .port = &quot;8080&quot;; }
acl purge { &quot;localhost&quot;; }
sub vcl_recv { if (req.request == &quot;PURGE&quot;) { if (!client.ip ~ purge) { error 405 &quot;Not allowed.&quot;; } return(lookup); }
if (req.url ~ &quot;^/$&quot;) { unset req.http.cookie; } }
sub vcl_hit { if (req.request == &quot;PURGE&quot;) { set obj.ttl = 0s; error 200 &quot;Purged.&quot;; } }
sub vcl_miss { if (req.request == &quot;PURGE&quot;) { error 404 &quot;Not in cache.&quot;; }
if (!(req.url ~ &quot;wp-(login|admin)&quot;)) { unset req.http.cookie; }
if (req.url ~ &quot;^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.|)$&quot;) {
unset req.http.cookie;
set req.url = regsub(req.url, &quot;\?.$&quot;, &quot;&quot;);
}
if (req.url ~ &quot;^/$&quot;) { unset req.http.cookie; } }
sub vcl_fetch { if (req.url ~ &quot;^/$&quot;) { unset beresp.http.set-cookie; }
if (!(req.url ~ &quot;wp-(login|admin)&quot;)) { unset beresp.http.set-cookie; }}</pre>
<h3 id="Configuring_vsftpd_(optional)">Configuring vsftpd (optional)</h3>
<p>I&#8217;m using vsftpd to provide a secure means of accessing the server which is bound to the system user, locked to their home directory and can only be accessed using TLS encryption. Access is also provided via SCP (SSH) of course but most people use sFTP still and there are a good few apps for iOS (etc) devices that only support (s)FTP rather than SSH/SCP. Feel free to omit this step if you don&#8217;t need FTP!</p>
<p>Ref: <a href="http://ubuntuforums.org/showthread.php?t=518293" target="_blank">http://ubuntuforums.org/showthread.php?t=518293</a></p>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mv /etc/vsftpd.conf /etc/vsftpd.conf.org
mcedit /etc/vsftpd.conf</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftp
#ascii_upload_enable=YES
#ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
force_dot_files=YES
max_per_ip=2
max_clients=20
pasv_min_port=12000
pasv_max_port=12100
require_ssl_reuse=NO</pre>
<p>&nbsp;</p>
<pre class="brush: bash; title: ; notranslate">echo [USER] &gt;&gt; /etc/vsftpd.allowed_users</pre>
<h4 id="Enabling_SSL">Enabling SSL</h4>
<p>Ref: <a href="http://www.cyberciti.biz/tips/configure-vsfptd-secure-connections-via-ssl-tls.html" target="_blank">http://www.cyberciti.biz/tips/configure-vsfptd-secure-connections-via-ssl-tls.html</a></p>
<pre class="brush: bash; title: ; notranslate">/usr/bin/openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem</pre>
<p>Configure your SSL as you please. Eg. Country code &#8216;GB&#8217;, location &#8216;London&#8217;, name [yourhostname]</p>
<h3 id="Installing_Wordpress">Installing WordPress</h3>
<p>Each line represents a separate command to be executed in sequence!</p>
<p>Become the user, go into the web root in its home directory we created earlier. Then download, unpack and move wordpress files into place. Lastly we remove the wordpress directory.</p>
<pre class="brush: bash; title: ; notranslate">su [USER]
cd /home/[USER]/www
wget http://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
mv wordpress/* /home/[USER]/www/
rmdir wordpress</pre>
<h4 id="Creating_a_database_for_Wordpress">Creating a database for WordPress</h4>
<p>Each line represents a separate command to be executed in sequence!</p>
<pre class="brush: bash; title: ; notranslate">mysql -uroot -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO admin@localhost IDENTIFIED BY '[YOUR_PASSWORD]' WITH GRANT OPTION;
quit</pre>
<h2 id="Securing_your_VPS">Securing your VPS</h2>
<p>I&#8217;m using Iptables as my firewall here. Note that blocking port 9000 (our PHP FPM) you will get Bad Gateway errors! There&#8217;s probably room for improvement here but for now adding the port to the allowed rules fixes this.</p>
<p>// Show what is loaded in our firewall</p>
<pre class="brush: bash; title: ; notranslate">iptables -L</pre>
<p>// Flush everything we have in our firewall</p>
<pre class="brush: bash; title: ; notranslate">iptables -F</pre>
<p>// Allow established sessions</p>
<pre class="brush: bash; title: ; notranslate">iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</pre>
<p>or</p>
<pre class="brush: bash; title: ; notranslate">iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</pre>
<p>// Allow services</p>
<pre class="brush: bash; title: ; notranslate">iptables -A INPUT -p tcp --dport 7742 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 12000:12100 -j ACCEPT</pre>
<p>// End iptables by blocking everything that we didn&#8217;t explicitly allowed earlier</p>
<pre class="brush: bash; title: ; notranslate">iptables -A INPUT -j DROP</pre>
<p>// backup iptables to a file</p>
<pre class="brush: bash; title: ; notranslate">iptables-save &gt; /home/[USER]/iptables.rules</pre>
<p>// to restore our rules</p>
<pre class="brush: bash; title: ; notranslate">iptables-restore &gt; /home/[USER]/iptables.rules</pre>
<p>Making sure iptables rules are reloaded on reboot<br />
Ref: <a href="http://www.debian-administration.org/articles/445" target="_blank">http://www.debian-administration.org/articles/445</a></p>
<pre class="brush: bash; title: ; notranslate">mcedit /etc/network/if-up.d/iptables</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/sh
iptables-restore &lt; /home/[USER]/iptables.rules</pre>
<p>&nbsp;</p>
<pre class="brush: bash; title: ; notranslate">chmod +x /etc/network/if-up.d/iptables</pre>
<p>Reboot to make sure it is working (iptables -L)</p>
<h3 id="Starting_and_stopping_our_services">Starting and stopping our services</h3>
<p>Since I&#8217;m a lazy sysadmin I like to use scripts to help me do as little as possible. Here are two very simple scripts, not even very good ones, but one starts all services and the other stops them.</p>
<h4 id="The_Stop_Script">The Stop Script</h4>
<pre class="brush: bash; title: ; notranslate">mcedit stopscript.sh</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
service mysql stop
service memcached stop
service varnish stop
service nginx stop
service cron stop
service postfix stop
service vsftpd stop
/etc/init.d/php5-fpm stop</pre>
<h4 id="The_Start_Script">The Start Script</h4>
<pre class="brush: bash; title: ; notranslate">mcedit startscript.sh</pre>
<p>&#8211;insert:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash
service mysql start
service memcached start
service varnish start
service nginx start
service cron start
service postfix start
service vsftpd start
/etc/init.d/php5-fpm start</pre>
<p>Note that Varnish prefers to be started before nginx for some reason, although the ports are different.</p>
<p>Chmodding +x the scripts will make them executable, which is handy for scripts ;o</p>
<pre class="brush: bash; title: ; notranslate">chmod +x startscript.sh stopscript.sh</pre>
<p>Run the scripts and have a look</p>
<pre class="brush: bash; title: ; notranslate">sudo ./stopscript.sh</pre>
<p>Sudo is important as we need superuser powers to mess with services! If all goes well you should see output from the commands in the terminal. Check to see stuff really is not running by issuing the following:</p>
<pre class="brush: bash; title: ; notranslate">ps aux</pre>
<p>Once satisfied all is off you may like to find out how little (or much) memory you are using:</p>
<pre class="brush: bash; title: ; notranslate">free -m</pre>
<p>Great, let&#8217;s start everything and do this again:</p>
<pre class="brush: bash; title: ; notranslate">sudo ./startscript.sh
ps aux
free -m</pre>
<p>Again you should have seen services starting, ps aux will show you what&#8217;s running and free -m will let you know how much memory is being used.</p>
<h3 id="Problems">Problems</h3>
<p>To see what&#8217;s running on which port:</p>
<pre class="brush: bash; title: ; notranslate">netstat -tulpn</pre>
<p>For some weird reason I have to stop nginx, then start varnish and then start nginx again as varnish will otherwise refuse to bind to port 80 despite nginx running on 8080! This is taken into account in my start/stop scripts above.</p>
<h2 id="Closing_Notes">Closing Notes</h2>
<h3 id="Exim_Installation_and_Configuration_on_Debian">Exim Installation and Configuration on Debian</h3>
<p>May I point you in the general direction of an excellent how-to guide written by Phil Paradis over Linode?</p>
<p>Link: <a href="http://library.linode.com/email/exim/send-only-mta-debian-5-lenny">http://library.linode.com/email/exim/send-only-mta-debian-5-lenny</a><br />
<a href="http://library.linode.com/email/exim/send-only-mta-debian-6-squeeze" target="_blank">http://library.linode.com/email/exim/send-only-mta-debian-6-squeeze</a></p>
<p>You <em>may</em> have to do this:</p>
<pre class="brush: bash; title: ; notranslate">apt-get install exim4-base exim4-config</pre>
<p>then</p>
<pre class="brush: bash; title: ; notranslate">apt-get install exim4-daemon-light</pre>
<p>and lastly</p>
<pre class="brush: bash; title: ; notranslate">dpkg-reconfigure exim4-config</pre>
<p>Thanks to Dleonard0 (<a href="http://ubuntuforums.org/showpost.php?p=10411454&amp;postcount=4" target="_blank">http://ubuntuforums.org/showpost.php?p=10411454&amp;postcount=4</a>)</p>
<p>To test your set-up you probably need something like the mail command or in fact mailx:</p>
<pre class="brush: bash; title: ; notranslate">apt-get install bsd-mailx</pre>
<p>This will enable you to do this:</p>
<pre class="brush: bash; title: ; notranslate">echo &quot;This is a test.&quot; | mail -s Testing [your email address]</pre>
<p>Check what&#8217;s happening with:</p>
<pre class="brush: bash; title: ; notranslate">mailq</pre>
<h3 id="Free_Memory">Free Memory</h3>
<p>Without nginx, php-fpm, mysql, memcached, varnish, vsftpd, cron, and postfix running the vps consumes ~14MB. Running are bash, ssh, iptables, and atd. Please note this is with a single active user session.</p>
<p>Using a different virtualisation technique these results may differ.</p>
<p>Also, using a more lightweight ssh server (like dropbear) will also save you some RAM.</p>
<p>I have 128MB in total, of which 14MB are used with just the bear neccesities running. This is our baseline.</p>
<p>With all services, but vsftpd running and one user accessing the wordpress powered website, the memory usage figures are somewhat higher.</p>
<p>Throwing vsftpd into the mix we end up roughly the same figure, give or take an MB or two.</p>
<h4 id="Script_to_show_memory_usage">Script to show memory usage</h4>
<p>I just recently came across a very handy script written by Draig Brady at <a href="http://www.pixelbeat.org" target="_blank">pixelbeat.org</a>, that shows memory usage per program in Linux. You can find it on <a href="http://www.pixelbeat.org/scripts/ps_mem.py" target="_blank">his website</a>. Note that this script shows usage per program, not per process.</p>
<pre class="brush: bash; title: ; notranslate">wget http://www.pixelbeat.org/scripts/ps_mem.py
chmod +x ps_mem.py
sudo ./ps_mem.py</pre>
<h4 id="The_APT_problem">The APT problem</h4>
<p>This looks OK but sadly APT and Aptitude are consuming a lot of memory doing their stuff when updating and installing software. Especially Aptitude is eating a lot. (ref: <a href="http://blog.aplikacja.info/2009/12/aptitude-vs-apt-get-memory-usage-on-debian/" target="_blank">http://blog.aplikacja.info/2009/12/aptitude-vs-apt-get-memory-usage-on-debian/</a>)</p>
<p>There appears to be no way to tweak this other than installing packages manually. However, I rather bump up my VPS memory to 256 or 512MB than having to maintain things by hand the old fashioned (and more efficient way). Call me lazy but time is money ;D</p>
<h2 id="Conclusions">Conclusions</h2>
<p>In closing, yes you can run this all quite nicely on a small low end box but expect to work on it a lot harder, whether it&#8217;s tweaking settings or maintaining software, it&#8217;s great fun. If you really must have the smallest VPS and ignore APT then install from source and sort out dependencies manually.</p>
<p>However, if you are running a business like me, then spending a wee bit more a month on a slightly larger VPS and perhaps selecting a host that doesn&#8217;t have &#8216;rock bottom&#8217; pricing but offers a little more help, makes a a more sensible choice.</p>
<h3 id="Shameless_self_promotion">Shameless self promotion</h3>
<p>If you like, <a href="http://brightercomputing.com/services/vps-virtual-private-servers/" target="_blank">I have this VPS ready made for you</a> to move in to and even configure it to suit your details (username, hostname, passwords). The latter which I suggest you change upon first login of course. A 128MB openVZ container as described here with 3GB space (extendible within reason free of charge!) can be yours for a token amount of just £9.99 including VAT (£8.32 exclusive).</p>
<p>Drop me an email stating &#8216;WordPress VPS&#8217; in the subject line and the link to this post to get one today!</p>
<h4 id="Small_Print">Small Print</h4>
<p>Payment is via Paypal (monthly subscription) and you will get a proper VAT invoice from my UK LTD company. Support is via email, Skype, IM (various) or the old fashioned way by phone during business hours and via email at all other times. I promise to respond to your enquiries within the hour during business hours.</p>
<p>The price includes the (extortionate) charges PayPal levvies but it&#8217;s the simplest way to get things done.</p>
<p>There are no bandwidth restrictions as such and I encourage you to make use of Cloudflare&#8217;s excellent and free (as in beer) service to help reduce wastage. Your VPS shares a metred 100Mbit connection. The server is based in France and is hosted by OVH. It has 16GB of RAM and 120GB of SSD space in total which is shared amongst everyone. Most VPSs are my web design customers and I like to keep an eye out to make sure everybody receives the best service possible.</p>
<p>For other restrictions please see OVH&#8217;s terms as they will block the whole server if one customer is found in violation of them. Hence why I make sure this doesn&#8217;t happen by reserving the right to refuse service to anyone who I find might not play by the rules.</p>
<h2 id="Other_articles_in_this_series">Other articles in this series</h2>
<p>Related posts in this <a href="http://blog.axelsegebrecht.com/tag/little-series/">(little) series</a>:</p>
<ul>
<li><a href="http://blog.axelsegebrecht.com/tutorials-and-tips/testing-nginx-with-apc-varnish-wordpress-and-w3-cache-on-a-128mb-vps/">How to: Testing Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/"><strong>How to: Install Nginx with APC, Varnish, WordPress and W3 Cache on a 128MB VPS</strong></a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/benchmark-nginx-varnish-wordpress-site/">How to: Benchmark Nginx and Varnish for a WordPress Site</a></li>
<li><a href="http://blog.axelsegebrecht.com/how-to/make-money-offering-vps-hosting/">How to: Make Money from Offering VPS Hosting</a></li>
</ul>
<p>What are you doing for a living? How are you using this little tutorial? Let me know and leave me your comments below or drop me a tweet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/install-nginx-apc-varnish-wordpress-and-w3-cache-128mb-vps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Install a GoDaddy signed SSL Certificate on iRedMail (Debian)</title>
		<link>http://www.axelsegebrecht.com/how-to/install-godaddy-signed-ssl-certificate-for-iredmail/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-godaddy-signed-ssl-certificate-for-iredmail</link>
		<comments>http://www.axelsegebrecht.com/how-to/install-godaddy-signed-ssl-certificate-for-iredmail/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 16:12:12 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Certifiates]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Dovecot]]></category>
		<category><![CDATA[iRedMail]]></category>
		<category><![CDATA[Mail Server]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://blog.axelsegebrecht.com/?p=12785</guid>
		<description><![CDATA[This tutorial assumes you are running iRedMail with version 0.7.3 or thereabouts on a Debian(esque) server (say Squeeze). Also, I&#8217;m using Godaddy for SSL as they are the cheapest way to get a &#8216;properly&#8217; signed SSL cert for little money (if you find yourself a suitable promo-code!). Google or DuckDuckGo are your friends. Special Offer ...]]></description>
			<content:encoded><![CDATA[<p>This tutorial assumes you are running <a href="http://www.iredmail.org/" target="_blank">iRedMail</a> with version 0.7.3 or thereabouts on a <a href="http://debian.org/" target="_blank">Debian</a>(esque) server (say Squeeze). Also, I&#8217;m using <a href="http://www.godaddy.com/ssl/ssl-certificates.aspx" target="_blank">Godaddy for SSL</a> as they are the cheapest way to get a &#8216;properly&#8217; signed SSL cert for little money (if you find yourself a suitable promo-code!). <a href="http://www.google.co.uk/search?q=godaddy+ssl+coupon" target="_blank">Google</a> or <a href="http://duckduckgo.com/?q=godaddy+ssl+coupon" target="_blank">DuckDuckGo</a> are your friends.</p>
<p><span id="more-12785"></span></p>
<div class="specialoffer">
<strong>Special Offer</strong> Get a VPS with 512MB RAM and 3GB disk space for just £9.99 inclusive of VAT!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="4MPY34W6VZ6LQ">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p><small>Subscription via PayPal; no minimum term; VPS created within 12 hours of payment made; service provided by <a href="http://www.brightercomputing.com" target="_blank">Brighter Computing Ltd</a>; <a href="http://brightercomputing.com/terms-and-conditions-of-service/">terms and conditions</a> / <a href="http://brightercomputing.com/acceptable-use-policy/" title="Acceptable Use Policy" target="_blank">AUP</a> apply; VAT receipts provided automatically</small>
</div>
<p><a href="http://www.godaddy.com/ssl/ssl-open-source.aspx?ci=37130" target="_blank">Running an OpenSource project? Get a FREE SSL certificate from GoDaddy</a>!</p>
<h2 id="Step_1:_Generate_a_ssl_certificate_(key)_and_certificate_request_(csr)">Step 1: Generate a ssl certificate (key) and certificate request (csr)</h2>
<p>Ref: <a href="http://community.godaddy.com/help/5269" target="_blank">GoDaddy Help &#8211; Generating a Certificate Signing Request (CSR) &#8211; Apache 2.x</a></p>
<pre>openssl req -new -newkey rsa:2048 -nodes -keyout [yourname].key -out [yourname].csr</pre>
<h2 id="Step_2:_Filling_out_your_new_SSL_certificate_key_details">Step 2: Filling out your new SSL certificate key details</h2>
<p>Ref: <a href="http://community.godaddy.com/help/5269" target="_blank">GoDaddy Help &#8211; Generating a Certificate Signing Request (CSR) &#8211; Apache 2.x</a></p>
<dl>
<dt>Common Name</dt>
<dd>the domain name you want your SSL certificate to validate for.</dd>
<dd>WARNING: www.example.com != example.com. Select this carefully! For example, my mail server has the following hostname: mail.brightercomputing.net, so the Common Name (CN) is mail.brightercomputing.net. This means the SSL certificate will only ever work with this and not www.brightercomputing.net.</dd>
<dt>Organisation</dt>
<dd>what ever you want; I use my business name Brighter Computing Ltd</dd>
<dt>Organisation Unit</dt>
<dd>doesn&#8217;t really matter; I use simply IT</dd>
<dt>Email</dt>
<dd>I use my support email address help@brightercomputing.com to capture any enquiries</dd>
<dt>City / Locality</dt>
<dd>pick a place; I use London</dd>
<dtState / Province</dt>
<dd>pick what is closest or where your server is; I use London again</dd>
<dt>Country</dt>
<dd>make sure to pick the right country code! I use GB since I&#8217;m in the UK. UK is not a valid code!</dd>
<dt>Passphrase</dt>
<dd>WARNING: make sure to leave the passphrase field empty, as you will otherwise have to log-on to your server and hack in your passphrase three times over when restarting services or your server!</dd>
</dl>
<h2 id="Step_3:_Submit_csr_and_await_signed_key">Step 3: Submit csr and await signed key</h2>
<p>When using GoDaddy you should log-on to your account and head over to the SSL Certificate section and its <a href="https://mya.godaddy.com/mya/products/accountlist.aspx?ci=13021&#038;product=ssl" target="_blank">manager page</a>.</p>
<p>The way GoDaddy work is that you first purchase your SSL certificate and get issued with a credit. You need to log-on and use that credit to get an SSL certificate. Before you can submit your CSR you need to wait a short while for GoDaddy&#8217;s scripts to sort themselves out.</p>
<p>Once you have redeemed your credit it will simply say &#8216;New Certificate&#8217; in the list. Click on the entry next to it that reads &#8216;Manage Certificate&#8217; once it is ready (it may say &#8220;Status: Initialize SSL Certificate&#8221; for a good while, so grab a snickers(tm) and make yourself a brew).</p>
<p>WARNING: you need to make sure you receive emails for what ever email you registered yourdomain.com under! Check the WHOIS entry for it before you submit to GoDaddy as they will send you an email to confirm you are the owner of the domain. You will need to click on the confirmation link they send you before proceeding.</p>
<h2 id="Step_4:_Copy_the_received_files_to_your_server">Step 4: Copy the received files to your server</h2>
<pre>gd_bundle.crt
[yourname].crt (the actual certificate)</pre>
<h2 id="Step_5:_Moving_files_into_place">Step 5: Moving files into place</h2>
<p>Copy both gd_bundle.crt and [yourname].crt to</p>
<pre>/etc/ssl/certs/</pre>
<p>Copy the [yourname].key you created earlier to</p>
<pre>/etc/ssl/private/</pre>
<h2 id="Step_6:_Edit_the_following_files">Step 6: Edit the following files</h2>
<p>Find and replace:</p>
<h3 id="a)_Apache_(Webserver)">a) Apache (Webserver)</h3>
<pre>/etc/apache2/sites-available/default-ssl</pre>
<pre>SSLCertificateFile /etc/ssl/certs/[yourname].crt
SSLCertificateKeyFile /etc/ssl/private/[yourname].key
SSLCACertificateFile /etc/ssl/certs/gd_bundle.crt</pre>
<h3 id="b)_Dovecot_(IMAP/POP_Server)">b) Dovecot (IMAP/POP Server)</h3>
<pre>/etc/dovecot/dovecot.conf</pre>
<pre>ssl_key_file = /etc/ssl/private/[yourname].key
ssl_cert_file = /etc/ssl/certs/[yourname].crt
ssl_ca_file = /etc/ssl/certs/gd_bundle.crt</pre>
<h3 id="c)_Postfix_(SMTP_Server)">c) Postfix (SMTP Server)</h3>
<pre>/etc/postfix/main.cf</pre>
<pre>smtpd_tls_key_file = /etc/ssl/private/[yourname].key
smtpd_tls_cert_file = /etc/ssl/certs/[yourname].crt
smtpd_tls_CAfile = /etc/ssl/certs/gd_bundle.crt</pre>
<h2 id="Step_7:_Restart_all_three_services">Step 7: Restart all three services</h2>
<pre>service apache2 restart
service dovecot restart
service postfix restart</pre>
<h2 id="Step_8:_Testing_things_work">Step 8: Testing things work</h2>
<p>Load your webmail client via https (after you have cleared your cache and history) and notice that there are no errors anymore!</p>
<p>Access your email via IMAP/POP client (eg. Thunderbird) and send a test mail to somewhere. Make sure you select something like STARTTLS for encryption to actually see whether it&#8217;s working.</p>
<p>When sending and receiving you should now no longer receive any more warnings.</p>
<p>Unless of course you made a mistake somewhere <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><em>Have a nice day.</em></p>
<h2 id="Epilogue">Epilogue</h2>
<p>I&#8217;m running my iRedMail server on my Promox VM host in an OpenVZ container (virtual machine) with 30GB space and 2GB RAM. It&#8217;s plenty for my purposes. Make sure to have enough disk space available when running lot&#8217;s of mailboxes and use quotas. </p>
<p>Also, be prepared to increase the memory (RAM) especially as Apache2 can be a memory hog. Processing large volumes of mail also requires a fair bit of memory and speedy disks. Last but not least do yourself a favour and use a backup MX (mail server) in case your box goes down!</p>
<p>Oh and don&#8217;t forget to set a reverse DNS entry for your hostname too.</p>
<h3 id="Offer:_Get_a_ready-made_iRedMail_Server,_with_1_year_GoDaddy_certificate_for_just_£59.99_(net)_a_month!">Offer: Get a ready-made iRedMail Server, with 1 year GoDaddy certificate for just £59.99 (net) a month!</h3>
<p>Dedicated server (Intel Core2Duo, 2.33GHZ per core) with 4GB RAM, 750GB (s/RAID 1), 10TB traffic per month (100Mbps port), and 4 IPv4 addresses. </p>
<p>No minimum contract terms. Friendly and dedicated support (email, Skype, IM, IRC). Prices exclude VAT at 20% UK rate.</p>
<p>Call <a href="http://brightercomputing.com/" target="_blank">Brighter Computing</a> on <strong>+44 1908 90 49 90</strong> or <a href="mailto:axel@brightercomputing.com?subject=iRedMail%20Server%20Offer">email axel@brightercomputing.com</a>, quoting this article as reference.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/install-godaddy-signed-ssl-certificate-for-iredmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use your Facebook presence effectively</title>
		<link>http://www.axelsegebrecht.com/how-to/use-your-facebook-presence-effectively/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=use-your-facebook-presence-effectively</link>
		<comments>http://www.axelsegebrecht.com/how-to/use-your-facebook-presence-effectively/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 18:46:07 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Love Amongst Ruin]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[Pages]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=12724</guid>
		<description><![CDATA[Chances are that you only created a standard Facebook account to promote your band or business, which is bad! Now read on and find out why&#8230; First of all Facebook accounts are for normal human beings and not intended to be used by brands, bands or companies and may be closed down at any time. ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2000px-Facebook.svg_.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/2000px-Facebook.svg_-e1295549103771-150x55.png" alt="" title="Facebook" width="150" height="55" class="alignleft size-thumbnail wp-image-12744" /></a> <strong>Chances are that you only created a <em>standard</em> Facebook account to promote your band or business, which is <em>bad</em>! Now read on and find out why&#8230;</strong></p>
<p><span id="more-12724"></span></p>
<p>First of all Facebook accounts are for normal human beings and not intended to be used by brands, bands or companies and may be closed down at any time.</p>
<p>Secondly if you want to utilise Facebook to its fullest potential to promote yourself (or your clients), you are loosing out on a lot of features by not using the system correctly.</p>
<p>Thirdly&#8230;</p>
<h3 id="Great_features_only_available_for_Facebook_Pages">Great features only available for <a class="extlink" href="http://www.facebook.com/FacebookPages">Facebook Pages</a></h3>
<dl>
<dt><a class="extlink" href="http://www.facebook.com/insights/">Facebook Pages Insights</a></dt>
<dd>Facebook Insights are like Google Analytics, a tool to help you find out more about who accesses your page and a lot more details on other vital stats. Use this tool to find out what content is hot, how your page is doing overall and much more.</dd>
<dt><a class="extlink" href="http://www.facebook.com/developers/createapp.php">Add apps to your page</a></dt>
<dd>Like for normal users, you can add interactivity and engage more with your page visitors using apps. Either build your own or use one of the <a class="extlink" href="http://www.facebook.com/apps/directory.php">many readily available</a> (eg. <a class="extlink" href="http://www.facebook.com/apps/application.php?id=2231777543">Twitter</a>). Some apps work in slightly confusing ways &#8211; more about this later.</dd>
<dt>Add your own custom stuff as tabs</dt>
<dd>For example I regularly add subscription forms for artists mailing lists as a tab to my clients pages (eg. <a class="extlink" href="http://www.facebook.com/loveamongstruin?v=app_4949752878">Love Amongst Ruin</a>). You can pretty much add whatever you like as long as it is HTML, CSS and Javascript and doesn&#8217;t violate Facebook&#8217;s terms. Unlike MySpace, this give you great flexibility!</dd>
</dl>
<h2 id="About_Facebook_Apps">About Facebook Apps</h2>
<p>Some apps, like Twitters, can be a bit daunting as they ask for permissions to authenticate with your personal accounts. Fret not! Any app needs to authenticate against a personal Facebook user account. If the app is written well, or specifically says it can be used on Pages, then you add the app to the pages once authorised.</p>
<p>To do cool things like publishing content from WordPress blogs for example, you first need to create an app on Facebook that handles the process via their API. Don&#8217;t worry about what that means, most plug-ins for publishing tools such as WordPress will walk you through this process very quickly. It&#8217;s not hard.</p>
<p><em>Shameless plug:</em> If you rather had this taken care of by someone who knows his way around, <a href="http://www.axelsegebrecht.com/contact/">give me a ring or drop me an email</a>! <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2 id="How_to_use_Facebook_Pages">How to use Facebook Pages</h2>
<p>Ok, to be fair that title is probably slightly not what you think as I&#8217;m not providing a manual here. You can find that over on <a class="extlink" href="http://www.facebook.com/FacebookPages">Facebook Pages Help</a> instead. However I will focus on the simple steps you should take to maximise your visibility.</p>
<p>Since Facebook specially designed their &#8216;Pages&#8217; feature to be used by businesses or artists such as musicians, it is important to know how to get it right.</p>
<p>If you don&#8217;t already have a personal account on Facebook, <a class="extlink" href="http://www.facebook.com/">go create one</a> (in your own name)</li>
<p>Once you have done that, you can <a class="extlink" href="http://www.facebook.com/pages/create.php?campaign_id=372931622610&#038;placement=pghm&#038;extra_1=0">create Pages</a></p>
<p>Notice the different options you have and pick one that suits you best. <em>Read the options and choices carefully!</em></p>
<p>For example there&#8217;s a massive difference between pages for communities (eg. like a charitable cause) or an official page for a product, service, company, brand name, band or artist (etc)! If you pick the wrong one, your page may be removed or not be found because it&#8217;s wrongly categorised. It&#8217;s hard to change that later (delete page, create new page = a lot of extra work).</p>
<h2 id="References_and_Resoures">References and Resoures</h2>
<p>You can find out more here:</p>
<dl>
<dt>Official Facebook Pages page</dt>
<dd><a class="extlink" href="http://www.facebook.com/FacebookPages">http://www.facebook.com/FacebookPages</a></dd>
<dt>Create a page on Facebook</dt>
<dd><a class="extlink" href="http://www.facebook.com/pages/create.php">http://www.facebook.com/pages/create.php</a></dd>
<dt>Help page for Facebook Pages</dt>
<dd><a class="extlink" href="http://www.facebook.com/help/?page=175">http://www.facebook.com/help/?page=175</a></dd>
<dt>Facebook Page Administration (page)</dt>
<dd><a class="extlink" href="http://www.facebook.com/pages/manage">http://www.facebook.com/pages/manage</a></dd>
<dt>List with all the pages available</dt>
<dd><a class="extlink" href="http://www.facebook.com/pages/">http://www.facebook.com/pages/</a></dd>
<dt>Facebook Insights</dt>
<dd><a class="extlink" href="http://www.facebook.com/insights/">http://www.facebook.com/insights/</a></dd>
<dt>Facebook Applications</dt>
<dd><a class="extlink" href="http://www.facebook.com/developers/apps.php">http://www.facebook.com/developers/apps.php</a></dd>
<dt>Create Facebook Apps</dt>
<dd><a class="extlink" href="http://www.facebook.com/developers/createapp.php">http://www.facebook.com/developers/createapp.php</a></dd>
<dt>Your Facebook Apps (the ones you created!)</dt>
<dd><a class="extlink" href="http://www.facebook.com/developers/apps.php">http://www.facebook.com/developers/apps.php</a></dd>
<dt>List of apps especially for Facebook Pages</dt>
<dd><a class="extlink" href="http://www.facebook.com/apps/directory.php?app_type=5&#038;category=0">http://www.facebook.com/apps/directory.php?app_type=5&#038;category=0</a></dt>
</dl>
<h2 id="Epilogue">Epilogue</h2>
<p>I hope you found this &#8216;little&#8217; guide and the links helpful and enjoyed reading. If so, please check out the links to FREE stuff on the right side (eg. FREE online backup space) or leave me a comment below. If you are too exhausted, you would make me happy by just hitting the &#8216;like&#8217; button <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If most of this still sounds like techno babble but you really want to make the most of your Facebook presence, why not <a href="http://www.axelsegebrecht.com/contact/">get in touch</a> and let me do it for you! I&#8217;m looking forward to helping you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/use-your-facebook-presence-effectively/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup multiple directories with Rsync</title>
		<link>http://www.axelsegebrecht.com/how-to/backup-multiple-directories-with-rsync/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=backup-multiple-directories-with-rsync</link>
		<comments>http://www.axelsegebrecht.com/how-to/backup-multiple-directories-with-rsync/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 11:57:11 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rsync]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=11235</guid>
		<description><![CDATA[Just a quick gem I thought I share with you on how I use rsync to keep my servers backuped. Since the more recent versions of rsync you can list multiple directories (or folders) in the same (single) command. For this to work you need the -R option though. Here&#8217;s an example of my daily ...]]></description>
			<content:encoded><![CDATA[<p>Just a quick gem I thought I share with you on how I use rsync to keep my servers backuped. Since the more recent versions of rsync you can list multiple directories (or folders) in the same (single) command. For this to work you need the -R option though. Here&#8217;s an example of my daily rsync command, backing up all important files:</p>
<p><span id="more-11235"></span></p>
<h2 id="Folders_to_backup">Folders to backup</h2>
<p>Below is a list of folders I find important to backup. Yours may vary:</p>
<dl>
<dt>/var/backups</dt>
<dd>Some misc backups</dd>
<dt>/var/www</dt>
<dd>The web root for all sites</dd>
<dt>/etc</dt>
<dd>Since this contains all relevant config files, I want to back this up!</dd>
<dt>/home</dt>
<dd>All users home folders</dd>
</dl>
<h2 id="The_command">The command</h2>
<p>Here&#8217;s the rsync line I&#8217;m using to transfer multiple directories to the remote server in a single command:</p>
<pre class="brush: plain; title: ; wrap-lines: true; notranslate">rsync -avzR --log-file=/var/log/rsync.cron.log -e ssh /var/www /home /var/backups /etc 	[user]@[somedestination]:[remote_path]</pre>
<p>Note the -R option here to allow us to list multiple directories in a single command. The -log-file option is for my own sanity and to track down any errors by logging rsync messages in a new log file.</p>
<h2 id="Rsync_options_and_explanations">Rsync options and explanations</h2>
<p>Here&#8217;s an explanation of the various options I use (these are case-sensitive):</p>
<dl>
<dt>-a</dt>
<dd>archive mode</dd>
<dt>-v</dt>
<dd>verbose output (tell rsync to let me know what&#8217;s going on)</dd>
<dt>-z</dt>
<dd>compress file data during the transfer</dd>
<dt>-R</dt>
<dd>use relative paths</dd>
<dt>-e</dt>
<dd>specify the remote shell to use (in my case ssh)</dd>
</dl>
<p>More details and further options can be found on the <a rel="nofollow" target="_blank" href="http://samba.anu.edu.au/ftp/rsync/rsync.html">rsync man page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/backup-multiple-directories-with-rsync/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Shooting HDR with Canon 7D</title>
		<link>http://www.axelsegebrecht.com/how-to/shooting-hdr-with-canon-7d/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shooting-hdr-with-canon-7d</link>
		<comments>http://www.axelsegebrecht.com/how-to/shooting-hdr-with-canon-7d/#comments</comments>
		<pubDate>Sat, 01 May 2010 11:42:19 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[AEB]]></category>
		<category><![CDATA[Canon 7D]]></category>
		<category><![CDATA[HDR]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Settings]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=1187</guid>
		<description><![CDATA[HDR or High Dynamic Range photographs look positively cool and if you have a Canon 7D DSLR you probably want to know how to do it. After googling I found an excellent little topic over on DPReview where GM1974 posts how to do it. However, since the information is a bit all over the net ...]]></description>
			<content:encoded><![CDATA[<p><strong>HDR or High Dynamic Range photographs look positively cool and if you have a Canon 7D DSLR you probably want to know how to do it.</strong> After googling I found an excellent little <a class="extlink" href="http://forums.dpreview.com/forums/read.asp?forum=1019&#038;message=34295990">topic over on DPReview</a> where GM1974 posts how to do it. However, since the information is a bit all over the net I thought I&#8217;d create a straight forward &#8220;how-to&#8221; post about shooting HDR images with your 7D. So read on to find out how to do it.</p>
<p><span id="more-1187"></span></p>
<p>[ad#ad-2]</p>
<p>Things you need:</p>
<p>- <a href="http://www.canon.co.uk/For_Home/Product_Finder/Cameras/Digital_SLR/EOS_7D/">Canon 7D DSLR</a><br />
- <a href="http://www.hdrsoft.com/">Photomatix Pro</a> (Mac, PC, incl. plug-in for Aperture and Lightroom)<br />
- A computer (Win/Mac)<br />
- A suitable subject or scene to photograph</p>
<p>Photomatix Pro is a nice little gem that makes creating HDR images a breeze. There&#8217;s free trial available and you can get 15% off the purchase price thanks to Barleme Design. Please visit their <a href="http://www.bartelme.at/journal/archive/hdr_tutorial/" class="extlink">post about HDR</a> to get the coupon code!</p>
<h2 id="With_the_elementary_notes_out_of_the_way,_let_s_get_shooting_HDR_with_your_7D:">With the elementary notes out of the way, let&#8217;s get shooting HDR with your 7D:</h2>
<p>Set 7D to M (<strong>manual shooting mode</strong>) or set this to <strong>AV</strong> for a consistent depth-of-field (thanks to Dave for the tip).</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1105.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1105-425x318.jpg" alt="Photo showing shooting mode selection dial of the 7D" title="Photo showing shooting mode selection dial of the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1194" /></a></p>
<p><strong>Go to the Menu </strong>by pressing the Menu button and navigate to <strong>Custom Functions</strong>.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1111-e1272712586922.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1111-e1272712586922-425x296.jpg" alt="Photo of the Custom Function menu on the 7D" title="Photo of the Custom Function menu on the 7D" width="425" height="296" class="aligncenter size-medium wp-image-1203" /></a></p>
<p>Select the <strong>C.Fn1 Exposure entry</strong> and move the big wheel until you hit <strong>5</strong>. Then press enter and scroll to the <strong>-,0,+</strong> entry. Press enter again and exit the menu.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1112-e1272712557281.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1112-e1272712557281-425x320.jpg" alt="Photo of the C.Fn1 custom function menu on the 7D" title="Photo of the C.Fn1 custom function menu on the 7D" width="425" height="320" class="aligncenter size-medium wp-image-1204" /></a></p>
<p>Set 7D to your preferred <strong>ISO</strong> (or auto)</p>
<p>Press the <strong>Q button</strong> and use the cursor stick to <strong>select exposure/AEB setting</strong>. Use the small wheel on the top right of the camera to spread the little bars out until they read <strong>-2 and +2</strong>. Press enter (big wheel button).</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1106.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1106-425x318.jpg" alt="Photo of the menu on the 7D" title="Photo of the menu on the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1195" /></a></p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1107.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1107-425x318.jpg" alt="Photo of the AEB settings on the 7D" title="Photo of the AEB settings on the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1196" /></a></p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1108.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1108-425x318.jpg" alt="Photo of the selection wheel on the top right of the 7D" title="Photo of the selection wheel on the top right of the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1197" /></a></p>
<p>Press the Q button and select the shooting mode to <strong>High Speed Continuous</strong>.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1109.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1109-425x318.jpg" alt="Photo of the menu showing the highlighted drive mode setting on the 7D" title="Photo of the menu showing the highlighted drive mode setting on the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1198" /></a></p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1110.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_1110-425x318.jpg" alt="Photo of the drive mode menu options on the 7D" title="Photo of the drive mode menu options on the 7D" width="425" height="318" class="aligncenter size-medium wp-image-1199" /></a></p>
<p>Take aim of the scene you want to photograph and press down the shutter button and <strong>keep it pressed for a second</strong>! If all goes well you will hear your 7D <strong>take three images in rapid succession</strong>.</p>
<p>That concludes the 7D settings for shooting HDR images. <strong>You should now have three photos of the same scene with three separate exposure settings on your CF card!</strong></p>
<p>Take those files and <strong>load them into Photomatix</strong>, which will then stitch them together into a single image for you. Play around with the settings to your hearts content and don&#8217;t forget to read the excellent <a class="extlink" href="http://www.bartelme.at/journal/archive/hdr_tutorial/"><strong>tutorial on HDR</strong> over on Bartleme.at</a>.</p>
<p>Here are two I prepared earlier:</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_0582_1_0_tonemapped.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_0582_1_0_tonemapped-425x281.jpg" alt="HDR Demo Photo 2" title="HDR Demo Photo 2" width="425" height="281" class="aligncenter size-medium wp-image-1212" /></a></p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_0579_8_7_tonemapped.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/IMG_0579_8_7_tonemapped-425x283.jpg" alt="HDR Demo Photo" title="HDR Demo Photo" width="425" height="283" class="aligncenter size-medium wp-image-1211" /></a></p>
<p>I hope you found this little tutorial helpful. Have fun and don&#8217;t forget to share your images on the <a href="http://www.flickr.com/groups/vivahdr/">HDR Flickr Group</a>.</p>
<p><a href="http://www.flickr.com/groups/vivahdr/"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/vivahdr-425x297.png" alt="" title="Viva HDR" width="425" height="297" class="aligncenter size-medium wp-image-1192" /></a><br />
<small>Banner copyright &copy; by Bartleme.at</small></p>
<p>Apologies for the rather dodgy looking photos of the 7D. I only have one DSLR and that was having pictures taken of itself, so the iPhone 3GS had to stand-in.</p>
<p><small>Photos of 7D and nature by Axel Segebrecht.</small> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/shooting-hdr-with-canon-7d/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Set Call Divert on UK iPhone</title>
		<link>http://www.axelsegebrecht.com/how-to/set-call-divert-on-uk-iphone/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=set-call-divert-on-uk-iphone</link>
		<comments>http://www.axelsegebrecht.com/how-to/set-call-divert-on-uk-iphone/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 13:45:49 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=1017</guid>
		<description><![CDATA[Although the iPhone doesn&#8217;t seem to have any settings to cater for call forwarding, it turns out to be quite easy to set-up. Thanks to sjdigital over on macrumors.com for pointing me to the right page on the o2 website. I&#8217;ve listed the settings for your convenience below. [ad#ad-3] Not Reachable Divert * To activate ...]]></description>
			<content:encoded><![CDATA[<p>Although the iPhone doesn&#8217;t seem to have any settings to cater for call forwarding, it turns out to be quite easy to set-up. Thanks to <a href="http://forums.macrumors.com/showpost.php?p=6468522&#038;postcount=5">sjdigital over on macrumors.com</a> for pointing me to the right page on the o2 website. I&#8217;ve listed the settings for your convenience below.</p>
<p><span id="more-1017"></span></p>
<p>[ad#ad-3]</p>
<p><strong>Not Reachable Divert</strong></p>
<p>    * To activate **62* phone number # SEND<br />
    * To cancel ##62# SEND<br />
    * To check status *#62# SEND </p>
<p><strong>Divert calls when busy</strong></p>
<p>    * To activate **62* phone number # SEND<br />
    * To cancel ##62# SEND<br />
    * To check status *#62# SEND </p>
<p><strong>Divert calls when there is no reply</strong></p>
<p>    * To activate **61* phone number *11* no seconds# SEND<br />
    * To cancel ##61# SEND<br />
    * o check status *#61# SEND </p>
<p><strong>Divert all calls</strong></p>
<p>    * To activate **21* phone number # SEND<br />
    * To cancel ##21# SEND<br />
    * To check status *#21# SEND </p>
<p><strong>To cancel all call diverts</strong></p>
<p>    * To cancel ##002# SEND </p>
<p>Source: <a href="http://service.o2.co.uk/IQ/srvs/cgi-bin/webcgi.exe?New,KB=Companion,question=ref%28user%29:str%28Mobile%29,CASE=13448">o2 (UK) Support Site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/set-call-divert-on-uk-iphone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Clone VMWare Fusion Virtual Machines</title>
		<link>http://www.axelsegebrecht.com/how-to/clone-vmware-fusion-virtual-machines/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clone-vmware-fusion-virtual-machines</link>
		<comments>http://www.axelsegebrecht.com/how-to/clone-vmware-fusion-virtual-machines/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 13:57:17 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Clone]]></category>
		<category><![CDATA[Copy]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[VMWare Fusion]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=944</guid>
		<description><![CDATA[This is a quick and dirty how-to on cloning VMWare Fusion virtual machines on Mac OS X. [ad#ad-2] 1. Open Terminal App (Applications -> Utilities) 2. Go to where you stored your Virtual Machines by either typing the path or simply dragging and dropping your folder from the finder on to the terminal window. This ...]]></description>
			<content:encoded><![CDATA[<p>This is a quick and dirty how-to on cloning <strong><a href="http://www.vmware.com/products/fusion/" class="extlink">VMWare Fusion virtual machines</a></strong> on <strong><a href="http://www.apple.com/maxosx" class="extlink">Mac OS X</a></strong>.</p>
<p><span id="more-944"></span></p>
<p>[ad#ad-2]</p>
<p>1. Open <strong>Terminal App</strong> (Applications -> Utilities)</p>
<p>2. <strong>Go to where you stored your Virtual Machines</strong> by either typing the path or simply dragging and dropping your folder from the finder on to the terminal window. This will insert the path to the folder into your terminal.</p>
<pre>cd /path/to/virtual-machines [ENTER]</pre>
<p>3. Now simply <strong>copy the VMWare Fusion virtual machine using this command</strong> (no need to be root for this!)</p>
<pre>cp -rvp Virtual-Machine.vmwarevm Cloned-VM.vmwarevm [ENTER]</pre>
<p>Option <strong>-r</strong> will tell the cp (copy) app to copy folders (recursive)<br />
Option <strong>-v</strong> tells cp to output information while it&#8217;s at work (verbose)<br />
Option <strong>-p</strong> will keep existing file/folder permissions (preserve)</p>
<p>Remember that although the VMWare Fusion virtual machine <em>appears to be a single file in the finder, it is in fact a folder</em> containing everything VMWare Fusion needs to run the machine! Depending on how large your image is, it may take some time (hence we use the verbose option to let us know what it&#8217;s doing).</p>
<p>4. <strong>Drag the new virtual machine image from the finder window into the VMWare Fusion machine list</strong> and choose &#8220;Settings&#8221;. Note that VMWare Fusion will revert the name back to the original name of your cloned image!</p>
<p>5. In &#8220;<strong>Settings</strong>&#8221; simply <strong>click onto the name of the clone and change it</strong> to something of your choice.</p>
<p>6. <strong>Start the clone and VMWare Fusion will ask you whether it was moved or copied</strong>, select the latter (copied) and continue as normal. This question will only occur once.</p>
<p>7. Relax, enjoy and remember to share this info <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/clone-vmware-fusion-virtual-machines/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Run Multiple Instances of Skype</title>
		<link>http://www.axelsegebrecht.com/how-to/run-multiple-instances-of-skype/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=run-multiple-instances-of-skype</link>
		<comments>http://www.axelsegebrecht.com/how-to/run-multiple-instances-of-skype/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 11:10:15 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=903</guid>
		<description><![CDATA[If you have more than one Skype account &#8211; say one for business and another for personal use &#8211; you can run two Skype applications at the same time! Provided you have Skype version 4 or better. The following &#8220;tip&#8221; applies only to Windows, as I haven&#8217;t had a chance to play with solutions on ...]]></description>
			<content:encoded><![CDATA[<p>If you have more than one <a href="http://www.skype.com">Skype</a> account &#8211; say one for business and another for personal use &#8211; <strong>you can run two Skype applications at the same time!</strong> Provided you have Skype version 4 or better. The following &#8220;tip&#8221; applies only to Windows, as I haven&#8217;t had a chance to play with solutions on the Mac.</p>
<p><span id="more-903"></span></p>
<p><strong><a href="#windows7">Updated for Windows 7 (64bit)</a></strong></p>
<p>Thanks to <a href="http://forum.skype.com/index.php?showtopic=2945&#038;view=findpost&#038;p=1362221">koreanheman</a> and <a href="http://forum.skype.com/index.php?showtopic=10171&#038;view=findpost&#038;p=463990">zegway</a> over at the Skype forums for providing the solution.</p>
<p><strong>Step 1:</strong> Go to the location to where you installed Skype. For example: </p>
<pre>C:Program FilesSkypePhone</pre>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/skype-1.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/skype-1-425x229.jpg" alt="skype-1" title="skype-1" width="425" height="229" class="alignnone size-medium wp-image-909" /></a></p>
<p><strong>Step 2:</strong> Right-click on the Skype.exe icon and select &#8220;Send to&#8221; -> &#8220;Desktop (as shortcut)&#8221; to create a new shortcut to it on your Desktop.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/skype-2.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/skype-2-425x336.jpg" alt="skype-2" title="skype-2" width="425" height="336" class="alignnone size-medium wp-image-910" /></a></p>
<p><strong>Step 3:</strong> Now go to your Desktop and right-click on the newly created shortcut. Select &#8220;Properties&#8221;.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/skype-3.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/skype-3.jpg" alt="skype-3" title="skype-3" width="263" height="342" class="alignnone size-full wp-image-911" /></a></p>
<p><strong>Step 4:</strong> Append the following to the &#8220;Target:&#8221; text field without changing the existing text:</p>
<pre>/secondary</pre>
<p><strong>Step 5:</strong> Select the &#8220;General&#8221; tab and give your shortcut a meaningful name like &#8220;Skype 2&#8243;.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/skype-5.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/skype-5-259x355.jpg" alt="skype-5" title="skype-5" width="259" height="355" class="alignnone size-medium wp-image-913" /></a></p>
<p><strong>Step 6:</strong> Press &#8220;OK&#8221; and then double-click both your regular Skype shortcut and the new one to start two instances of Skype.</p>
<p><a href="http://blog.axelsegebrecht.com/wp-content/uploads/skype-7.jpg"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/skype-7-374x355.jpg" alt="skype-7" title="skype-7" width="374" height="355" class="alignnone size-medium wp-image-915" /></a></p>
<p>Have fun and don&#8217;t forget to request <em>&#8220;add me to your contacts&#8221;</em> before making a call. </p>
<h2 id="windows7">Update for Windows 7</h2>
<p>For Windows 7 simply right-click onto your desktop and create a new shortcut.</p>
<p>The path to Skype (on Windows 7 64bit) is:</p>
<pre>C:\Program Files (x86)\Skype\Phone\Skype.exe</pre>
<p>Hit next and amend the target field with:</p>
<pre>/secondary</pre>
<p>So that it now reads:</p>
<pre>"C:\Program Files (x86)\Skype\Phone\Skype.exe" /secondary</pre>
<p>The &#8216;Start in&#8217; field should just read:</p>
<pre>C:\Program Files (x86)\Skype\Phone\Skype.exe</pre>
<p><a href="callto://brightercomputing">brighterComputing</a> = Managed hosting solutions and IT services<br />
<a href="callto://asegebrecht">asegebrecht</a> = Web Designer, Camera Man and all purpose Geek</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/run-multiple-instances-of-skype/feed/</wfw:commentRss>
		<slash:comments>106</slash:comments>
		</item>
		<item>
		<title>Manage your own server</title>
		<link>http://www.axelsegebrecht.com/how-to/manage-your-own-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manage-your-own-server</link>
		<comments>http://www.axelsegebrecht.com/how-to/manage-your-own-server/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 08:42:46 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://beta.axelsegebrecht.com/?p=716</guid>
		<description><![CDATA[Managing your own server can be a daunting task, especially when it&#8217;s not your primary occupation. Here&#8217;s my short list of how to manage your own: [ad#ad-2] Educate yourself The help is out there: Find communities such as HowToForge.com and Microsoft&#8217;s Developer Network to find information on how to get things done. Stay up to ...]]></description>
			<content:encoded><![CDATA[<p>Managing your own server can be a daunting task, especially when it&#8217;s not your primary occupation. Here&#8217;s my short list of how to manage your own:</p>
<p><span id="more-716"></span></p>
<p>[ad#ad-2]</p>
<ol>
<li><strong>Educate yourself</strong><br />
The help is out there: Find communities such as <a href="http://www.howtoforge.com/" class="extlink" title="External link to howtoforge.com">HowToForge.com</a> and <a href="http://msdn.microsoft.com/" class="extlink" title="External link to MSDN">Microsoft&#8217;s Developer Network</a> to find information on how to get things done.</li>
<li><strong>Stay up to date</strong><br />
Software is regularly updated to provide vital security fixes and new features. Subscribe to all relevant newsfeeds and newsgroups. Don&#8217;t wait to discover bugs.</li>
<li><strong>Keep your eye on the ball</strong><br />
Your systems that is. Use monitoring software like <a href="http://www.nagios.org/" class="extlink" title="External link to Nagios.org">nagios</a> to get notified of any problems.</li>
<li><strong>Choose the right tools</strong><br />
Not comfortable using a command line interface? Then pick a suitable control panel instead. I recommend <a href="http://www.webmin.com/" class="extlink" title="External link to webmin.com">Webmin</a> or <a href="http://www.plesk.com/" class="extlink" title="External link to Parallels Plesk">Plesk</a>. But be aware that they can&#8217;t do everything you may need to do.</li>
<li><strong>Most advice is free, but give something back if you can</strong><br />
Most people on the web are happy to help you out. Just ask politely and remember to give something back by either helping others or donating to shareware/freeware projects. This is especially recommended when using open source software, as it helps to continue development and bug fixing.</li>
<li><strong>Pay for a helping hand when you need it</strong><br />
If you run a commercial project you may need to get things done quickly, so be prepared to pay for hands-on help. Your first port of call should be the community you are involved in and your service provider. Most are happy to &#8220;get down and dirty&#8221; for a little financial reward. It could save your skin and usually a lot of time.</li>
<li><strong>Use best practice</strong><br />
Most softwares and systems have established &#8220;best practice&#8221; guidelines on how to do things properly. Google them or ask the community, you&#8217;ll be surprised by how much time you can save by reading  instead of wasting it on blindly diving into something <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li><strong>Use stable branches of software</strong><br />
Don&#8217;t live on the cutting edge and opt for something mature and reliable, even if it&#8217;s two years old and there&#8217;s a development version available. Beta versions should never be used in production environments as they can fail you when you need them to work most.</li>
<li><strong>Keep your passwords secure and your ports closed</strong><br />
Most people just choose easy to remember passwords and don&#8217;t bother with a firewall. Don&#8217;t be lazy and regularly update your master passwords, keep them at least 8 characters in length with variations of upper- and lower-cases as well as numbers. Make sure you spend time firewalling your server properly. Switch to non-standard port numbers where possible or filter them with a proxy.</li>
<li><strong>Choose a reliable provider over a cheap one</strong><br />
If you use your server to make money it will pay to pay more. A good provider is there to help you and keeps their network secure, as well as use good quality hardware. A cheap host is just that: cheap.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/manage-your-own-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improve your blog</title>
		<link>http://www.axelsegebrecht.com/how-to/improve-your-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=improve-your-blog</link>
		<comments>http://www.axelsegebrecht.com/how-to/improve-your-blog/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 12:00:29 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Publishing]]></category>

		<guid isPermaLink="false">http://beta.axelsegebrecht.com/?p=698</guid>
		<description><![CDATA[Here&#8217;s a quick fire list of my top 10 things to help you improve your blog. Some of can also be applied to general websites: [ad#ad-2] Post regularly at a certain day and time Helps people follow you more. Choose a writing style and stick to it First person, informal works best for personal blogs. ...]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick fire list of my top 10 things to help you improve your blog. Some of can also be applied to general websites:</p>
<p><span id="more-698"></span></p>
<p>[ad#ad-2]</p>
<ol>
<li><strong>Post regularly at a certain day and time</strong><br />
Helps people follow you more.</li>
<li><strong>Choose a writing style and stick to it</strong><br />
First person, informal works best for personal blogs.</li>
<li><strong>Get organised: tag and categorise your content properly</strong><br />
Enables your readers to browse information they are interested in more easily.</li>
<li><strong>Let social networking sites know of new posts</strong><br />
Easily ping services like Twitter.com and Technorati, or even Facebook to gain readers.</li>
<li><strong>Stay on topic</strong><br />
Write a post about one thing, not many. Otherwise it may lead to confusion and disillusion.</li>
<li><strong>Don&#8217;t rant or flame</strong><br />
Personal opinions are great, but better kept in a small circle of people that know and appreciate them.</li>
<li><strong>Be readable</strong><br />
Keep your blog clean and easily read. Make those &#8220;sidebar widgets&#8221; and links relevant to the content.</li>
<li><strong>Encourage people to comment but don&#8217;t force them</strong><br />
Ask open questions and write <a href="http://www.google.com/search?q=how+to+write+engaging+content" class="extlink" title="Search Google on how to write great content">well</a>.</li>
<li><strong>Write good, concise posts</strong><br />
Rather than writing a lot but not well, concentrate on writing a really good post instead. Also, don&#8217;t make posts too long. A lot of people don&#8217;t read but skim content.</li>
<li><strong>Make your blog available to everyone</strong><br />
Mobile devices (i.e. PDAs, iPhone,etc) are used a lot these days, gain more followers by enabling them to read on the move. Also, <a href="http://w3.org/wai/" class="extlink" title="Link to W3C Web Accessibility Initiative>be accessible</a> &#8211; don&#8217;t alienate visitors because of their browser choice.
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/improve-your-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get Organised: Tags and Categories</title>
		<link>http://www.axelsegebrecht.com/how-to/get-organised-tags-and-categories/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=get-organised-tags-and-categories</link>
		<comments>http://www.axelsegebrecht.com/how-to/get-organised-tags-and-categories/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 12:13:12 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[categories]]></category>
		<category><![CDATA[organise]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://beta.axelsegebrecht.com/?p=689</guid>
		<description><![CDATA[As you can see from the long list of categories, tags and archive pages, there&#8217;s a lot of information on my site that has accumulated over the years. It&#8217;s time to get better organised and make things a little easier for you to find. So what&#8217;s the difference between tags and categories, and why is ...]]></description>
			<content:encoded><![CDATA[<p>As you can see from the <a href="http://www.axelsegebrecht.com/categories/">long list of categories</a>, <a href="http://www.axelsegebrecht.com/tags/">tags</a> and <a href="http://www.axelsegebrecht.com/archives/">archive pages</a>, there&#8217;s a lot of information on my site that has accumulated over the years. It&#8217;s time to get better organised and make things a little easier for you to find. So what&#8217;s the difference between tags and categories, and why is it important?</p>
<p><span id="more-689"></span></p>
<p>[ad#ad-2]</p>
<p><strong>Tags</strong> are single keywords or &#8220;micro categories&#8221;, helping you identify related information easier and should consist of &#8220;real&#8221; words (eg. web-design).</p>
<p><strong>Categories</strong> are much broader, catch-all topics encompassing multiple keywords and are usually made up words or sentences (eg. My Long Trip to Amsterdam).</p>
<p>Here is an example of part of my new structure:</p>
<p><a href="http://www.axelsegebrecht.com/categories/"><strong>Categories</strong></a><br />
Portfolio /category/portfolio/<br />
Clients /category/clients/<br />
Projects /category/projects/<br />
Competitions /category/competitions/<br />
Reviews /category/reviews/<br />
How-to&#8217;s /category/how-to/<br />
(&#8230;)</p>
<p><a href="http://www.axelsegebrecht.com/tags/"><strong>Tags</strong></a><br />
/tag/web-design/<br />
/tag/video/<br />
/tag/client/<br />
/tag/web-hosting/<br />
(&#8230;)</p>
<p>Tags are singular, categories are plural. Keywords should be specific to something, categories are broader. If you are looking for how-to&#8217;s I&#8217;ve written just browse the &#8220;how-to&#8221; category (ok, it&#8217;s singular but only because it makes it read better when written as a URL: http://axelsegebrecht.com/how-to/remove-applications&#8230;).</p>
<p>If you were looking for all posts relating to &#8220;web-design&#8221; you would simply follow that link and it will show you everything that is related to it, including entries from my &#8220;portfolio&#8221; and &#8220;how-to&#8221; categories.</p>
<p>As a &#8220;last resort&#8221; there&#8217;s always the search, where you can (for example) combine keywords: eg. &#8220;web design portfolio&#8221;, which would show you everything matching those words or phase in order of relevance.</p>
<p>By the way (btw) search is only shown where it makes sense, eg. the categories, tags and archive pages where people are looking for stuff and a search form might help them as an additional tool. The reason for not plastering it over every page and post is because the site structure is designed to guide visitors through topics. Search should only be used as a fail-safe tool, not as a primary navigation feature. Also, adding links to categories and tags specific to a page or post make it easier for readers to find relevant content. That&#8217;s instead of a general &#8220;blog&#8221; or &#8220;categories&#8221; link.</p>
<p>Hopefully this re-organisation is going to make things a lot easier. Let me know what you think about it and how you organise your blog (if you have one).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/get-organised-tags-and-categories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Applications from Facebook</title>
		<link>http://www.axelsegebrecht.com/how-to/remove-applications-from-facebook/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=remove-applications-from-facebook</link>
		<comments>http://www.axelsegebrecht.com/how-to/remove-applications-from-facebook/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 10:13:28 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.axelsegebrecht.com/?p=312</guid>
		<description><![CDATA[With the new Facebook come fresh concerns for its users privacy, as the commercial aspect becomes more prominent than simply being a cool social networking platform for the concerning internet user. [ad#ad-2] Once the unique and beloved feature of Facebook, applications are becoming a major nuisance for many friends, even more so due to the ...]]></description>
			<content:encoded><![CDATA[<p>With the new Facebook come fresh concerns for its users privacy, as the commercial aspect becomes more prominent than simply being a cool social networking platform for the concerning internet user.</p>
<p><span id="more-433"></span></p>
<p>[ad#ad-2]</p>
<p>Once the unique and beloved feature of Facebook, applications are becoming a major nuisance for many friends, even more so due to the absence of any quality controls whatsoever. Hence why one major bone of contention is that removing unwanted applications has become even harder.</p>
<p>Back in the good ol&#8217; days of Facebook 1.0 you simply went into your applications centre and hit &#8220;remove&#8221;. That was basically it.</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-1-apps-list1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-1-apps-list1-480x416.png" alt="" title="fb-1-apps-list1" width="480" height="416" class="aligncenter size-medium wp-image-337" /></a></p>
<p>With the new Facebook you are presented with a &#8220;remove&#8221; option that in fact only removes the link or bookmark. Why the Facebook developers thought this might be useful is unclear as it only confuses users because they expect the app to be removed, not just the link to it from their menu.</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-2-apps-remove2.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-2-apps-remove2-480x416.png" alt="" title="fb-2-apps-remove2" width="480" height="416" class="aligncenter size-medium wp-image-338" /></a></p>
<p>I think this is a major issue, since removing the link from the applications menu could lead users to think they removed the application when in fact it is still very much active!</p>
<p>Is Facebook duping its users into seemingly removing unwanted applications? What other than complaints could they possibly be getting out of it? Let&#8217;s look at a typical Facebook application and see why they might want you to keep applications even if you don&#8217;t:</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-7-apppage11.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-7-apppage11-480x416.png" alt="" title="fb-7-apppage11" width="480" height="416" class="aligncenter size-medium wp-image-339" /></a></p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-8-apppage22.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-8-apppage22-480x416.png" alt="" title="fb-8-apppage22" width="480" height="416" class="aligncenter size-medium wp-image-341" /></a></p>
<p>According to Facebook&#8217;s help entry on removing applications you should see a &#8220;remove application&#8221; link. But you don&#8217;t because the entry in fact reads that you can find it in the &#8220;about&#8221; page:</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-9-help1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-9-help1-480x416.png" alt="" title="fb-9-help1" width="480" height="416" class="aligncenter size-medium wp-image-342" /></a></p>
<p>Looking at the options under &#8220;edit&#8221; in the applications list we find a few sub-menus, lots of options but no &#8220;remove this&#8221; link:</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-4-apps-wall1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-4-apps-wall1-480x416.png" alt="" title="fb-4-apps-wall1" width="480" height="416" class="aligncenter size-medium wp-image-343" /></a></p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-5-apps-profile1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-5-apps-profile1-480x416.png" alt="" title="fb-5-apps-profile1" width="480" height="416" class="aligncenter size-medium wp-image-344" /></a></p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-6-apps-perms1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-6-apps-perms1-480x416.png" alt="" title="fb-6-apps-perms1" width="480" height="416" class="aligncenter size-medium wp-image-345" /></a></p>
<p>So back to the applications list we go and click on &#8220;about&#8221; to finally arrive at controls we want to use.</p>
<p class="centerimage"><a href="http://blog.axelsegebrecht.com/wp-content/uploads/2008/09/fb-10-about1.png"><img src="http://blog.axelsegebrecht.com/wp-content/uploads/fb-10-about1-480x416.png" alt="" title="fb-10-about1" width="480" height="416" class="aligncenter size-medium wp-image-346" /></a></p>
<p>Notice the &#8220;remove&#8221; and &#8220;block&#8221; links on the page. <em>Just removing an application doesn&#8217;t mean it&#8217;s removed!</em> It can still see and use your details, you will also need to block it in order to get rid of it entirely.</p>
<p><strong>To summarise:</strong> Remove link on applications list only removes bookmark. No removal link on the actual application page. Remove link on the &#8220;about page&#8221; of the application leaves the application able to continue to collect users data.</p>
<p>Maybe I&#8217;m just paranoid but I think the reason why Facebook is so keen to keep the new design is because it does exactly what it was designed to do: confuse its users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/remove-applications-from-facebook/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Put Your Site In Maintenance Mode Using .htaccess</title>
		<link>http://www.axelsegebrecht.com/how-to/put-your-site-in-maintenance-mode-using-htaccess/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=put-your-site-in-maintenance-mode-using-htaccess</link>
		<comments>http://www.axelsegebrecht.com/how-to/put-your-site-in-maintenance-mode-using-htaccess/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 20:49:41 +0000</pubDate>
		<dc:creator>Axel</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[maintenance mode]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.segebrecht.com/axel/design/websites/how-to-put-your-site-in-maintenance-mode-using-htaccess/</guid>
		<description><![CDATA[I need to put my websites into maintenance mode sometimes and found a handy little script .htaccess definition on Webmastersworld.com. It lets everyone know via a customised error document message that the site is currently unavailable. The neat thing is that is blocks access to everyone but me and gives people and bots alike a ...]]></description>
			<content:encoded><![CDATA[<p>I need to put my websites into maintenance mode sometimes and found a handy little <strike>script</strike> .htaccess definition on <a href="http://www.webmasterworld.com/forum92/2458.htm">Webmastersworld.com</a>. It lets everyone know via a customised <strike>error document</strike> message that the site is currently unavailable.</p>
<p>The neat thing is that is blocks access to everyone but me and gives people and bots alike a status message that won&#8217;t put them off (unless you choose to of course).</p>
<pre><code>Order Deny,Allow
<filesmatch (.*)>
Deny from all
Allow from my.ip.address
</filesmatch>

<filesmatch (403.txt)>
Allow from all
</filesmatch>

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([^.]*).html?$ /$1.php [T=application/x-httpd-php,L]

ErrorDocument 403 /403.txt</code></pre>
<p>The first part disallows access to everything for everyone but me. Make sure you replace <em>my.ip.address</em> with your current WAN IP. To find this out you can either go to <a href="http://www.whatsmyip.org">www.whatsmyip.org</a> or use [url=https://addons.mozilla.org/extensions/moreinfo.php?id=1254&#038;application=firefox]the handy plug-in for Firefox[/url] which will tell you your current external IP.</p>
<p>The second part will only allow our custom error page to show up to everyone (but me). If you prefer an HTML instead of my quick-n-dirty text-only, make sure to change the extension to .html or .htm. PHP or any other webserver readable extension will work of course.</p>
<p>The third part will call our custom error message in form of a text file. Make sure you point it to the path where your error document resides! If you want to make a subdirectory of your domain unavailable (i.e. <a href="http://www.segebrecht.com/lydia/">www.segebrecht.com/lydia</a>) and the doc is in that directory, use /lydia/403.txt !</p>
<p>All you need to do is to knock up a simple file (text or html, or whatever) and put your message in <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Then change your htaccess to the above code, upload your error document and voila &#8211; a custom &#8220;maintenance&#8221; message.</p>
<p>To check it&#8217;s actually working, just comment out (using #) the <em>Allow from my.ip.address</em> part and hit reload in your browser. If you can see your custom message you are set.</p>
<p>Have fun and remember that I do not take any responsibility in case anything goes wrong <img src='http://www.axelsegebrecht.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Thanks to Google for helping me find the gem and &#8220;<a href="http://www.webmasterworld.com/profile.cgi?action=view&#038;member=lorax">lorax</a>&#8221; of webmastersworld.com for coming up with the item in the first place.</p>
<p>Ref: http://www.webmasterworld.com/forum92/2458.htm</p>
<p class="credits">Technorati Tags: <a href="http://technorati.com/tag/htaccess" rel="tag">htaccess</a> | <a href="http://technorati.com/tag/websites" rel="tag">websites</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.axelsegebrecht.com/how-to/put-your-site-in-maintenance-mode-using-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 1/65 queries in 0.019 seconds using memcached
Object Caching 4209/4385 objects using apc

Served from: www.axelsegebrecht.com @ 2012-02-04 08:18:02 -->
