<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Inside PHP</title>
	
	<link>http://www.insidephp.com</link>
	<description>PHP News, Tutorials and Articles</description>
	<lastBuildDate>Tue, 31 Aug 2010 21:57:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/insidephp" /><feedburner:info uri="insidephp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>insidephp</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>5 Great Tools for Your Web Server</title>
		<link>http://feedproxy.google.com/~r/insidephp/~3/dHYE5y_R0Ik/</link>
		<comments>http://www.insidephp.com/2010/08/31/5-great-tools-for-your-web-server/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:55:43 +0000</pubDate>
		<dc:creator>Knut Urdalen</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[apc]]></category>
		<category><![CDATA[denyhosts]]></category>
		<category><![CDATA[logwatch]]></category>
		<category><![CDATA[munin]]></category>
		<category><![CDATA[rsnapshot]]></category>

		<guid isPermaLink="false">http://www.insidephp.com/?p=155</guid>
		<description><![CDATA[There&#8217;s a few tools I tend to use over and over again when I&#8217;m managing a web server. Here&#8217;s a list of my top 5 favorite tools I always use. 1. Alternative PHP Cache (APC) APC is a PHP accelerator which boosts the performance of your PHP scripts. If you are not using it already [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a few tools I tend to use over and over again when I&#8217;m managing a web server. Here&#8217;s a list of my top 5 favorite tools I always use.</p>
<p><span id="more-155"></span></p>
<h2>1. Alternative PHP Cache (APC)</h2>
<p><a href="http://pecl.php.net/package/APC">APC</a> is a PHP accelerator which boosts the performance of your PHP scripts. If you are not using it already you should really do so. It works very nice out of the box with default settings.</p>
<h3>Installation</h3>
<pre>$ sudo apt-get install php5-apc</pre>
<p>or:</p>
<pre>$ sudo pecl install apc</pre>
<p><strong>Configuration</strong></p>
<p>Add the following section to your <code>php.ini</code>-file.</p>
<pre>[apc]
extension = apc.so
apc.enabled = 1
apc.shm_size = 30
apc.stat = 1</pre>
<p><strong>Note:</strong> You need to restart Apache in order to load this new extension.</p>
<p>How much memory to allocate for APC is defined by <code>apc.shm_size</code> (default is 30M).</p>
<p><code>apc.stat = 1</code> forces APC to check if the PHP-file has been modified upon each request. On a production server where your files rarely change you can achieve a significant performance boost by having this feature turned off. In that case you&#8217;ll either need to restart the web server or clear the cache manually when updating files.</p>
<h3>Learn more</h3>
<ul>
<li><a href="http://php.net/manual/en/book.apc.php">APC Manual</a></li>
<li><a href="http://www.techpresentations.org/APC_at_Facebook_%28at_PHP_Tek_2008%29">APC at Facebook</a></li>
<li><a href="PHP Performance with APC + Memcached">PHP Performance with APC + memcached</a></li>
</ul>
<h2>2. DenyHosts</h2>
<p><a href="http://denyhosts.sourceforge.net/">Denyhosts</a> let you protect your server against SSH brute force attacks. If you have a public web server and have a look at your SSH log file (in example <code>/var/log/auth.log</code> on Ubuntu) you&#8217;ll be amazed how many attackers that want to gain access to your server. Denyhosts address this problem by rejecting access to the server after a certain number of failed login attempts (defaults to 1 for root, 5 for invalid user accounts and 10 for valid user accounts).</p>
<p>Attackers IP-address will be appended to <code>/etc/hosts.deny</code> and will be rejected instantly upon trying to attacking your server again.</p>
<h3>Installation</h3>
<pre>$ sudo apt-get install denyhosts</pre>
<h3>Configuration</h3>
<p>Default settings are mostly fine. You can configure your DenyHosts setup in <code>/etc/denyhosts.conf</code>.</p>
<h2>3. rsnapshot</h2>
<p><a href="http://www.rsnapshot.org/">rsnapshot</a> is a simple backup tools which create rotated backups of local or remote files and directories. rsnapshot is built on top of <a href="http://www.openssh.com/">OpenSSH</a> for secure transfer and <a href="http://www.samba.org/rsync/">rsync</a> for synchronizing directories contents without using excessive bandwidth. The disk space required is just a little more than the space of one full backup, plus incrementals.</p>
<h3>Installation</h3>
<pre>$ sudo apt-get install rsnapshot</pre>
<h3>Configuration</h3>
<p>Once installed you should edit <code>/etc/rsnapshot.conf</code> and configure which files and directories you want to backup.</p>
<p>For local files use:</p>
<pre># localhost
backup /home/          localhost/
backup /etc/           localhost/
backup /usr/local/     localhost/</pre>
<p>For remote files use:</p>
<pre># example.org
backup  root@example.org:/home/		hostname/
backup  root@example.org:/etc/		hostname/
backup  root@example.org:/usr/local/bin/   hostname/</pre>
<p>For remote backups you need to <a href="http://www.debian-administration.org/articles/152">setup a password-less SSH login</a> between the backup server and the remote server.</p>
<p><strong>Note:</strong> You need to use TAB for spaces and trailing &#8220;/&#8221; for directories (skipping trailing slash and rsnapshot will treat it as a file).</p>
<p>For more information about setting up rsnapshot on your server check out <a href="http://www.debian-administration.org/articles/217">this guide</a>.</p>
<h2>4. Munin</h2>
<p><a href="http://munin-monitoring.org/">Munin</a> is a simple resource monitoring tool that help you analyze trends on your resource usage. It comes with many useful graphs out of the box and is easy to install additional graphs or even write your own graphs.</p>
<h3>Installation</h3>
<pre>$ sudo apt-get install munin</pre>
<h3>Configuration</h3>
<p>You don&#8217;t need to configure anything here if you are just running munin locally. If you want to run Munin for multiple servers <a href="http://www.debian-administration.org/articles/597">read this guide</a>.</p>
<h3>Learn more</h3>
<p>You can find <a href="http://exchange.munin-monitoring.org/">additional plugins here</a> and <a href="http://munin-monitoring.org/wiki/HowToWritePlugins">a tutorial on how to write your own plugins</a> here.</p>
<h2>5. Logwatch</h2>
<p><a href="http://sourceforge.net/projects/logwatch/">Logwatch</a> analyse your system log files and create a report on areas where you should pay attention. It&#8217;s easy to use and work well with default settings on most systems.</p>
<h3>Installation</h3>
<pre>$ sudo apt-get install logwatch</pre>
<h3>Configuration</h3>
<p>In order to receive email reports from Logwatch you should edit <code>/etc/logwatch/conf/logwatch.conf</code>. Here&#8217;s an example:</p>
<pre>MailTo = your.email@example.org
MailFrom = logwatch@example.org
Range = Yesterday
Detail = Med
mailer = "/usr/sbin/sendmail -t"
Service = all</pre>
<p>With this setup you&#8217;ll receive a daily email of yesterday&#8217;s activity with a medium severity which is an ok start. For more information on how to configure Logwatch <a href="http://www.debianhelp.co.uk/logwatch1.htm">click here</a>.</p>
<hr />I hope you find these tips interesting. Any tools you miss from this favorite list? Please leave your comments.</p>
<img src="http://feeds.feedburner.com/~r/insidephp/~4/dHYE5y_R0Ik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.insidephp.com/2010/08/31/5-great-tools-for-your-web-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.insidephp.com/2010/08/31/5-great-tools-for-your-web-server/</feedburner:origLink></item>
		<item>
		<title>Slides from the PHP room at FrOSCon 2010</title>
		<link>http://feedproxy.google.com/~r/insidephp/~3/ogd5ikJUk40/</link>
		<comments>http://www.insidephp.com/2010/08/25/slides-from-the-php-room-at-froscon-2010/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 19:58:04 +0000</pubDate>
		<dc:creator>Knut Urdalen</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[froscon]]></category>

		<guid isPermaLink="false">http://www.insidephp.com/?p=113</guid>
		<description><![CDATA[FrOSCon 2010 (the Free and Open Source Software Conference) was held this weekend (Sat Aug 21st and Sun Aug 22nd) at University of Applied Sciences Bonn-Rhein-Sieg. For all of you that did not attend to the conference or had the option to be in the PHP room it&#8217;s time to summarize a little on which [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.froscon.org/">FrOSCon 2010</a> (the Free and Open Source Software Conference) was held this weekend (Sat Aug 21st and Sun Aug 22nd) at <a href="http://www.hochschule-bonn-rhein-sieg.de">University of Applied Sciences Bonn-Rhein-Sieg</a>. For all of you that did not attend to the conference or had the option to be in the PHP room it&#8217;s time to summarize a little on which topics that was covered there.</p>
<p><span id="more-113"></span></p>
<p>Topic&#8217;s covered in the PHP room:</p>
<ul>
<li><a href="#the-cake-is-a-lie">The Cake is a lie</a> (by Sebastian Bergmann)</li>
<li><a href="#advanced-date-time-handling-with-php">Advanced Date/Time handling with PHP</a> (by Derick Rethans)</li>
<li><a href="#the-power-of-mysqlnd-plugins">The power of mysqlnd plugins</a> (by Ulf Wendel)</li>
<li><a href="#working-with-web-services">Working with Web Services</a> (by Lorna Mitchell)</li>
<li><a href="#utilizing-and-building-the-semantic-web-with-php">Utilizing and building the Semantic Web with PHP</a> (by Christian Weiske)</li>
<li><a href="#html-to-odt-to-xml-to-pdf">HTML to ODT to XML to PDF to &#8230;</a> (by Tobias Schlitt)</li>
<li><a href="#understanding-software-metrics">Understanding Software Metrics</a> (by Manuel Pichler)</li>
</ul>
<p><a name="the-cake-is-a-lie"></a></p>
<h2>The Cake is a lie</h2>
<p>by <a href="http://sebastian-bergmann.de/">Sebastian Bergmann</a> (<a href="http://twitter.com/s_bergmann">@s_bergmann</a>)</p>
<p>In this talk Sebastian Bergmann covered some basic knowledge prior to choosing a framework. This session included his skeptical view on frameworks like <a href="http://cakephp.org/">CakePHP</a> and <a href="http://www.symfony-project.org/">Symfony</a> which utilize <a href="http://en.wikipedia.org/wiki/Scaffold_(programming)">scaffolding</a> for easier development and and faster time-to-market. Even though scaffolding is nice in some ways it can lead to maintainability and scalability issues.</p>
<div id="__ss_4475889" style="width: 500px; padding: 10px 20px;"><object id="__sse4475889" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=thecakeisalie-100611100410-phpapp02&amp;stripped_title=the-cake-is-a-lie-4475889" /><param name="name" value="__sse4475889" /><param name="allowfullscreen" value="true" /><embed id="__sse4475889" type="application/x-shockwave-flash" width="500" height="400" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=thecakeisalie-100611100410-phpapp02&amp;stripped_title=the-cake-is-a-lie-4475889" name="__sse4475889" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p><strong>› </strong>View slides: <a href="http://www.slideshare.net/sebastian_bergmann/the-cake-is-a-lie-4475889">The Cake is a lie</a></p>
<p><a name="advanced-date-time-handling-with-php"></a></p>
<h2>Advanced Date/Time handling with PHP</h2>
<p>by <a href="http://derickrethans.nl">Derick Rethans</a> (<a href="http://twitter.com/derickr">@derickr</a>)</p>
<p>Derick Rethans covered a lot of goodies when it comes to <a href="http://www.php.net/manual/en/book.datetime.php">Date/Time handling in PHP 5.2 and PHP 5.3</a>. Derick has also written a book on this topic which we strongly recommend: &#8220;<a href="http://www.amazon.co.uk/architects-Guide-Date-Time-Programming/dp/0981034500/tag=insidephp-21">php|architect&#8217;s Guide to Date and Time Programming</a>&#8220;.</p>
<p><strong>› </strong>View slides: <a href="http://derickrethans.nl/talks/time-froscon10.pdf">Advanced Date/Time handling with PHP</a></p>
<h2>The power of mysqlnd plugins</h2>
<p>by <a href="http://blog.ulf-wendel.de">Ulf Wendel</a> (<a href="http://twitter.com/Ulf_Wendel">@Ulf_Wendel</a>)</p>
<p>MySQL Native Driver (alias mysqlnd) is a C library which implements the MySQL Client Server Protocol and is a drop in replacement for the good old MySQL Client Library (alias libmysqlclient). mysqlnd is part of PHP 5.3 and doesn&#8217;t expose any userland function, but rather work as an internal API for ext/mysql, ext/mysqli and ext/PDO.</p>
<p>In this talk Ulf Wendel covered how you can write your own mysqlnd plugins in PHP, which can be used in many creative ways.</p>
<div id="__ss_5033880" style="width: 500px; padding: 10px 20px;"><object id="__sse5033880" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqlndpluginroundone-100822131327-phpapp02&amp;stripped_title=the-power-of-mysqlnd-plugins" /><param name="name" value="__sse5033880" /><param name="allowfullscreen" value="true" /><embed id="__sse5033880" type="application/x-shockwave-flash" width="500" height="450" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mysqlndpluginroundone-100822131327-phpapp02&amp;stripped_title=the-power-of-mysqlnd-plugins" name="__sse5033880" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>› View slides: <a href="http://www.slideshare.net/nixnutz/the-power-of-mysqlnd-plugins">The power of mysqlnd plugins</a></p>
<h2>Utilizing and building the Semantic Web with PHP</h2>
<p>by Christian Weiske</p>
<p>Discusses various standards, tools and libraries for how to deal with semantics.</p>
<p>› View slides: <a href="http://cweiske.de/talks/froscon-2010/">Utilizing and building the Semantic Web with PHP</a></p>
<h2>Working with Web Services</h2>
<p>by <a href="http://www.lornajane.net">Lorna Mitchell</a> (<a href="http://twitter.com/lornajane">@lornajane</a>)</p>
<p>A good overview of how to work with web services with PHP. Covers both REST (JSON/XML) and SOAP.</p>
<div id="__ss_5031166" style="width: 500px; padding: 10px 20px;"><object id="__sse5031166" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=workingwithwebservices-100822071900-phpapp01&amp;stripped_title=working-with-webservices-5031166" /><param name="name" value="__sse5031166" /><param name="allowfullscreen" value="true" /><embed id="__sse5031166" type="application/x-shockwave-flash" width="500" height="450" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=workingwithwebservices-100822071900-phpapp01&amp;stripped_title=working-with-webservices-5031166" name="__sse5031166" allowscriptaccess="always" allowfullscreen="true"></embed></object>› View slides: <a href="http://www.slideshare.net/lornajane/working-with-webservices-5031166">Working with Web Services</a></div>
<h2>HTML to ODT to XML to PDF to &#8230;</h2>
<p>by <a href="http://schlitt.info">Tobias Schlitt</a></p>
<div id="__ss_5028656" style="width: 500px; padding: 10px 20px;"><object id="__sse5028656" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="450" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100822051453-phpapp01&amp;stripped_title=presentation-5028656" /><param name="name" value="__sse5028656" /><param name="allowfullscreen" value="true" /><embed id="__sse5028656" type="application/x-shockwave-flash" width="500" height="450" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentation-100822051453-phpapp01&amp;stripped_title=presentation-5028656" name="__sse5028656" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>› View slides: <a href="http://www.slideshare.net/tobyS/presentation-5028656">HTML to ODT to XML to PDF to &#8230;</a></p>
<h2>Understanding Software Metrics</h2>
<p>by <a href="http://manuel-pichler.de/">Manuel Pichler</a> (<a href="http://twitter.com/manuelp">@manuelp</a>)</p>
<p><strong>›</strong> View slides: <a href="http://manuel-pichler.de/stuff/slides/2010-08-21-understanding_software_metrics.pdf">Understanding Software Metrics</a> (in German)</p>
<img src="http://feeds.feedburner.com/~r/insidephp/~4/ogd5ikJUk40" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.insidephp.com/2010/08/25/slides-from-the-php-room-at-froscon-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.insidephp.com/2010/08/25/slides-from-the-php-room-at-froscon-2010/</feedburner:origLink></item>
	</channel>
</rss>

