<?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>Ian Dunn &#187; Linux / Unix</title>
	<atom:link href="http://iandunn.name/category/linux-unix/feed/" rel="self" type="application/rss+xml" />
	<link>http://iandunn.name</link>
	<description>Seattle-based web developer blogging about tips and solutions</description>
	<lastBuildDate>Fri, 18 May 2012 18:11:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Connecting to a PPTP VPN from an OpenVZ CentOS VPS</title>
		<link>http://iandunn.name/connecting-to-a-pptp-vpn-from-an-openvz-centos-vps/</link>
		<comments>http://iandunn.name/connecting-to-a-pptp-vpn-from-an-openvz-centos-vps/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:25:08 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[OpenVZ / Virtuozzo / Plesk]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Kernel Modules]]></category>
		<category><![CDATA[MPPE]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[PPTP]]></category>
		<category><![CDATA[Routing]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://iandunn.name/?p=1281</guid>
		<description><![CDATA[When setting up the PPTP and PPP packages on an OpenVZ VPS in order to connect to a VPN, there are <a title="How to install pptpd on vpn openvz linux vps" href="http://www.linuxhelp.in/2011/05/how-to-install-pptpd-on-vpn-openvz.html">a few extra steps</a> you need to take that you don&#8217;t have to do with a non-virtualized box. First, you have to load the following kernel modules on the hardware node and/or <a title="CentOS Persistent Module Loading" href="http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-kernel-modules-persistant.html">set them to automatically start during the boot up process</a> : After doing that you should... [<a href="http://iandunn.name/connecting-to-a-pptp-vpn-from-an-openvz-centos-vps/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>When setting up the PPTP and PPP packages on an OpenVZ VPS in order to connect to a VPN, there are <a title="How to install pptpd on vpn openvz linux vps" href="http://www.linuxhelp.in/2011/05/how-to-install-pptpd-on-vpn-openvz.html">a few extra steps</a> you need to take that you don&#8217;t have to do with a non-virtualized box.</p>
<p><strong>First</strong>, you have to load the following kernel modules on the hardware node and/or <a title="CentOS Persistent Module Loading" href="http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-kernel-modules-persistant.html">set them to automatically start during the boot up process</a>:</p>
<pre class="brush: bash; title: ; notranslate">

modprobe ppp_mppe
modprobe ppp_deflate
modprobe zlib_deflate
modprobe ppp_async
modprobe ppp_generic
modprobe slhc
modprobe crc_ccitt
</pre>
<p>After doing that you should see something similiar to this when running <em>lsmod</em></p>
<pre class="brush: bash; title: ; notranslate">

[root@me ~]# lsmod | grep ppp
ppp_mppe 39816 0
ppp_deflate 39168 0
zlib_deflate 52760 1 ppp_deflate
ppp_async 45056 0
ppp_generic 63632 4 ppp_mppe,ppp_deflate,ppp_async
slhc 39680 1 ppp_generic
crc_ccitt 35200 1 ppp_async
</pre>
<p><strong>Second</strong>, you have to tweak the VPS&#8217;s conf file:</p>
<pre class="brush: bash; title: ; notranslate">

vzctl stop [VEnumber]
vzctl set [VEnumber] --features ppp:on --save
vzctl start [VEnumber]
vzctl set [VEnumber] --devices c:108:0:rw --save
vzctl exec [VEnumber] mknod /dev/ppp c 108 0
vzctl exec [VEnumber] chmod 600 /dev/ppp
</pre>
<p>Once that&#8217;s done, you can <a title="Connect to PPTP VPN from Linux only by one command" href="http://www.adminsehow.com/2010/04/connect-to-pptp-vpn-from-linux-only-by-one-command/">follow the normal instructions</a>.</p>
<p>After that, you might need to uncomment the <em>require-mppe-128</em> or <em>mppe required,stateless</em> line in <em>/etc/ppp/options.pptp</em> (depending on the VPN server). You may also need to manually create a static route to the network, with <em>route add -net 10.1.1.0 netmask 255.255.255.0 ppp0</em>.</p>
<p>You can check <em>/var/log/messages</em> for details about negotiation errors.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/connecting-to-a-pptp-vpn-from-an-openvz-centos-vps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cronie Depends on Sendmail in CentOS 6</title>
		<link>http://iandunn.name/centos-6-cronie-depends-on-sendmail/</link>
		<comments>http://iandunn.name/centos-6-cronie-depends-on-sendmail/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 23:46:38 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[Atomic Rocket Turtle]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Cronie]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Mail Transfer Agents]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Qmail]]></category>
		<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[Yum]]></category>

		<guid isPermaLink="false">http://iandunn.name/?p=1222</guid>
		<description><![CDATA[I ran into a problem the other day when building a new CentOS 6 VPS template. After doing some of the initial work I ran yum update, and it worked fine. Later on, after installing the <a title="AtomiCorp Yum Repository" href="http://www.atomicorp.com/downloads.html">AtomiCorp repo</a> , I tried to run it again and it failed with errors about Qmail obsoleting Sendmail, not being able... [<a href="http://iandunn.name/centos-6-cronie-depends-on-sendmail/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>I ran into a problem the other day when building a new CentOS 6 VPS template. After doing some of the initial work I ran <em>yum update</em>, and it worked fine. Later on, after installing the <a title="AtomiCorp Yum Repository" href="http://www.atomicorp.com/downloads.html">AtomiCorp repo</a>, I tried to run it again and it failed with errors about Qmail obsoleting Sendmail, not being able to remove Sendmail, and to try using the <em>&#8211;skip-broken</em> parameter to work around the problem.</p>
<p>I tried simply removing Sendmail, but it turns out that Cronie has a hardcoded dependency for it. At first it seemed pretty ridiculous to make such a core program dependent on something optional and obsolete, but after a bit of digging I found that the <a title="[CentOS 6.2] cronie dependency on sendmail" href="http://centos.org/modules/newbb/viewtopic.php?topic_id=35603&amp;forum=55">newer MTAs provide a sendmail interface</a>, so all you really need to do is install Postfix or Exim and run <em>alternatives &#8211;config mta</em>. After that you can remove Sendmail and yum won&#8217;t complain.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/centos-6-cronie-depends-on-sendmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FastCGI errors after PHP upgrade</title>
		<link>http://iandunn.name/fastcgi-errors-after-php-upgrade/</link>
		<comments>http://iandunn.name/fastcgi-errors-after-php-upgrade/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 02:00:16 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Atomic Rocket Turtle]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[FastCGI]]></category>
		<category><![CDATA[MediaTemple]]></category>
		<category><![CDATA[suexec]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://iandunn.name/?p=1173</guid>
		<description><![CDATA[I ran into a small problem upgrading PHP from 5.3.5 to 5.3.10 on a MediaTemple CentOS VPS today. The upgrade completed without any errors, but when I reloaded the site I got a &#8220;500 Internal Server Error&#8221; message. It was the stock installation, so I&#8217;m not sure which module it was using or what repository... [<a href="http://iandunn.name/fastcgi-errors-after-php-upgrade/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>I ran into a small problem upgrading PHP from 5.3.5 to 5.3.10 on a MediaTemple CentOS VPS today. The upgrade completed without any errors, but when I reloaded the site I got a &#8220;500 Internal Server Error&#8221; message. It was the stock installation, so I&#8217;m not sure which module it was using or what repository it came from, but I was upgrading it from the <a href="http://www.atomicorp.com/downloads.html">Atomic</a> repository, which loads the FastCGI module by default. The odd thing is that it worked fine on the dev VPS, but not on production.</p>
<p>It turned out to be an easy fix once I figured out the problem, though; I just had to change the ownership of /var/www/cgi-bin and it&#8217;s contents so that the apache user could execute cgi_wrapper.</p>
<p>Here&#8217;s what was turning up in the error logs:</p>
<p>Apache vhost error_log</p>
<p style="padding-left: 30px;">[warn] [client xx.xx.xx.xx] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server<br />
[error] [client xx.xx.xx.xx] Premature end of script headers: index.php</p>
<p>/var/log/httpd/error_log</p>
<p style="padding-left: 30px;">suexec policy violation: see suexec log for more details</p>
<p>/var/log/httpd/suexec_log</p>
<p style="padding-left: 30px;">uid: (10001/username) gid: (505/505) cmd: cgi_wrapper</p>
<p>/var/log/httpd/suexec.log</p>
<p style="padding-left: 30px;">target uid/gid (10001/505) mismatch with directory (0/0) or program (0/0)<br />
uid: (10001/username) gid: (505/505) cmd: cgi_wrapper</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/fastcgi-errors-after-php-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating Packages in an OpenVZ VPS</title>
		<link>http://iandunn.name/updating-packages-in-a-openvz-vps/</link>
		<comments>http://iandunn.name/updating-packages-in-a-openvz-vps/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 01:10:37 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[OpenVZ / Virtuozzo / Plesk]]></category>
		<category><![CDATA[Yum]]></category>

		<guid isPermaLink="false">http://iandunn.name/?p=883</guid>
		<description><![CDATA[Sam Mingolelli has posted some <a title="Keeping CentOS 5 OpenVZ images up to Date with Yum" href="http://www.lamolabs.org/blog/1114/keeping-centos-5-openvz-images-up-to-date-with-yum/">useful solutions</a> to common problems when running yum update inside an OpenVZ VE.]]></description>
			<content:encoded><![CDATA[<p>Sam Mingolelli has posted some <a title="Keeping CentOS 5 OpenVZ images up to Date with Yum" href="http://www.lamolabs.org/blog/1114/keeping-centos-5-openvz-images-up-to-date-with-yum/">useful solutions</a> to common problems when running <em>yum update</em> inside an OpenVZ VE.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/updating-packages-in-a-openvz-vps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Directory Permissions for WordPress under Plesk/Linux</title>
		<link>http://iandunn.name/directory-permissions-for-wordpress-under-plesk-linux/</link>
		<comments>http://iandunn.name/directory-permissions-for-wordpress-under-plesk-linux/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 19:36:41 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[OpenVZ / Virtuozzo / Plesk]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Directory]]></category>
		<category><![CDATA[Safe Mode]]></category>

		<guid isPermaLink="false">http://iandunn.name/?p=669</guid>
		<description><![CDATA[Jason Diehl describes the right way to <a href="http://www.wordpress-master.com/upload-permissions-wordpress-plesk.html">setup directory permissions on a Linux box running Plesk so that WordPress can automatically create the directories</a> it uses to store uploads. Basically, you need to make sure that PHP&#8217;s safe mode is turned off and that wp-content is owned by apache, in the apache group, and chmod&#8217;d to 777.]]></description>
			<content:encoded><![CDATA[<p>Jason Diehl describes the right way to <a href="http://www.wordpress-master.com/upload-permissions-wordpress-plesk.html">setup directory permissions on a Linux box running Plesk so that WordPress can automatically create the directories</a> it uses to store uploads. Basically, you need to make sure that PHP&#8217;s safe mode is turned off and that wp-content is owned by apache, in the apache group, and chmod&#8217;d to 777.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/directory-permissions-for-wordpress-under-plesk-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Additional Software on Endian Firewall</title>
		<link>http://iandunn.name/installing-additional-software-on-endian-firewall/</link>
		<comments>http://iandunn.name/installing-additional-software-on-endian-firewall/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 03:28:41 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[Endian Firewall]]></category>

		<guid isPermaLink="false">http://iandunn.name/workblog/?p=402</guid>
		<description><![CDATA[Endian doesn&#8217;t ship with gcc, apt or yum, so it can be kind of confusing at first if you&#8217;re trying to figure out how to install some extra packages. It comes with <a href="http://labix.org/smart/">Smart Package Manager</a> , which you can use to install CentOS binary RPMs from  <a href="http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/">http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/</a> (CentOS 4) or  <a href="http://mirror.centos.org/centos/5/os/i386/CentOS">http://mirror.centos.org/centos/5/os/i386/CentOS</a> / (CentOS 5). Try the version 4 first. You... [<a href="http://iandunn.name/installing-additional-software-on-endian-firewall/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>Endian doesn&#8217;t ship with gcc, apt or yum, so it can be kind of confusing at first if you&#8217;re trying to figure out how to install some extra packages. It comes with <a href="http://labix.org/smart/">Smart Package Manager</a>, which you can use to install CentOS binary RPMs from <a href="http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/">http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/</a> (CentOS 4) or <a href="http://mirror.centos.org/centos/5/os/i386/CentOS">http://mirror.centos.org/centos/5/os/i386/CentOS</a>/ (CentOS 5). Try the version 4 first. You may get lots of errors if you try to install RPMs build for other distributions.</p>
<p>If anything you try to install says that it&#8217;ll remove packages (like glibc-common), <strong>don&#8217;t do it.</strong> You could remove a lot of core packages and end up having to reinstall Endian from scratch. Not that I would know anything about that&#8230;</p>
<p>First run <em>smart config &#8211;set rpm-check-signatures=False</em> to avoid errors about invalid keys. Then you can do<br />
<em>smart install http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/nano-1.2.4-1.i386.rpm</em><br />
<em>smart install http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/slocate-2.7-13.el4.8.i386.rpm</em><br />
<em>etc</em></p>
<p>You can still get stuck in <a href="http://en.wikipedia.org/wiki/Dependency_hell">dependency hell</a>, though. Smart might be able to auto download dependencies if you add a channel, but I don&#8217;t have the time/motivation to look into that right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/installing-additional-software-on-endian-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backing Up Files and MySQL Databases on Linux Servers</title>
		<link>http://iandunn.name/backing-up-files-and-mysql-databases-on-linux-servers/</link>
		<comments>http://iandunn.name/backing-up-files-and-mysql-databases-on-linux-servers/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 03:56:33 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Backup]]></category>

		<guid isPermaLink="false">http://iandunn.name/workblog/?p=396</guid>
		<description><![CDATA[You&#8217;d think I&#8217;d have this memorized by now, but I always mess up the syntax and have to spend a few minutes digging through man pages or wading through search results to find it. tar -czf [output-file.tar.gz] [input-directory]/ mysqldump -u [username] -p [database name] &#62; [filename]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;d think I&#8217;d have this memorized by now, but I always mess up the syntax and have to spend a few minutes digging through man pages or wading through search results to find it.</p>
<p>tar -czf [output-file.tar.gz] [input-directory]/<br />
mysqldump -u [username] -p [database name] &gt; [filename]</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/backing-up-files-and-mysql-databases-on-linux-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating OpenDNS With a Dynamic IP From an Endian Firewall</title>
		<link>http://iandunn.name/updating-a-dynamic-ip-from-an-endian-firewall-to-opendns/</link>
		<comments>http://iandunn.name/updating-a-dynamic-ip-from-an-endian-firewall-to-opendns/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 15:58:45 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[ddclient]]></category>
		<category><![CDATA[Endian Firewall]]></category>
		<category><![CDATA[OpenDNS]]></category>

		<guid isPermaLink="false">http://iandunn.name/workblog/?p=312</guid>
		<description><![CDATA[The Endian router/firewall appliance comes with a Dynamic DNS client that supports the major DDNS providers, but it doesn&#8217;t support updating OpenDNS, which is necessary for any custom settings on your OpenDNS account to be applied to the traffic you pass through their servers. It&#8217;s possible to configure this yourself, though. There&#8217;s a helpful post... [<a href="http://iandunn.name/updating-a-dynamic-ip-from-an-endian-firewall-to-opendns/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>The Endian router/firewall appliance comes with a Dynamic DNS client that supports the major DDNS providers, but it doesn&#8217;t support updating OpenDNS, which is necessary for any custom settings on your OpenDNS account to be applied to the traffic you pass through their servers.</p>
<p>It&#8217;s possible to configure this yourself, though. There&#8217;s a helpful post at the OpenDNS forums that describes <a href=" http://forums.opendns.com/comments.php?DiscussionID=1911&amp;page=1#Item_0">how to configure ddclient on an Endian</a> to automatically update an OpenDNS account whenever your dynamic IP address changes.</p>
<p>Here are a few additional notes that may help:</p>
<ul>
<li>You don&#8217;t need to query an external website for your IP address, since the Endian box already knows it. Set ddclient.conf with &#8220;use=if, if=eth0&#8243; (or whichever NIC is your red zone).</li>
<li>It won&#8217;t work if you set &#8220;ssl=no&#8221;, so you have to leave it set to yes and install the two Perl SSL modules listed in the post.</li>
<li>Endian doesn&#8217;t have an SMTP server installed, so ddclient can&#8217;t send you status e-mails. Comment out the &#8220;mail&#8221; and &#8220;mail-failure&#8221; lines to avoid errors.</li>
<li>Make sure you don&#8217;t have any spaces in the OpenDNS network label or ddclient conf file.</li>
</ul>
<p>To test if it&#8217;s working, you&#8217;ll need to get a new dynamic IP.</p>
<ul>
<li>Turn off your cable or dsl modem.</li>
<li>Spoof the MAC address on the Endian.
<ul>
<li>On your PC, open a command prompt and type &#8220;ipconfig /all&#8221;. Copy the value of the Physical Address line. It will look something like 00-4D-B7-D3-5F-03.</li>
<li>Go to the Network Configuration wizard on the Endian.</li>
<li>In step 4, enter your PC&#8217;s MAC into the &#8220;Spoof MAC address with&#8221; field. Change the dashes to colons so that it looks like 00:4D:B7:D3:5F:03.</li>
</ul>
</li>
<li>Shut down the Endian.</li>
<li>Turn the modem back on. Wait 15 seconds.</li>
<li>Turn the Endian back on.</li>
</ul>
<p>Once you&#8217;ve verified it&#8217;s working, you can remove the spoof setting by repeating the steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/updating-a-dynamic-ip-from-an-endian-firewall-to-opendns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Error Logs with Virtuozzo</title>
		<link>http://iandunn.name/php-error-logs-with-virtuozzo/</link>
		<comments>http://iandunn.name/php-error-logs-with-virtuozzo/#comments</comments>
		<pubDate>Mon, 10 May 2010 19:26:03 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[OpenVZ / Virtuozzo / Plesk]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Logging]]></category>

		<guid isPermaLink="false">http://iandunn.name/workblog/?p=278</guid>
		<description><![CDATA[Virtuozzo sets domains up to have PHP&#8217;s display_errors flag turned off by default, so that you&#8217;ll only see a blank page when there are critical errors. This is a good thing in production environments because it avoids potential security issues, but it can also be annoying when you&#8217;re trying to debug something. Instead of displaying... [<a href="http://iandunn.name/php-error-logs-with-virtuozzo/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>Virtuozzo sets domains up to have PHP&#8217;s display_errors flag turned off by default, so that you&#8217;ll only see a blank page when there are critical errors. This is a good thing in production environments because it avoids potential security issues, but it can also be annoying when you&#8217;re trying to debug something.</p>
<p>Instead of displaying the errors, you can configure PHP to log them and then use the logs for debugging. For a Linux environment, you&#8217;ll need to create a file named vhost.conf inside the domain&#8217;s conf directory, <em>/var/www/vhosts/domain.name/conf</em>.</p>
<pre class="brush: plain; title: ; notranslate">
&lt;Directory /var/www/vhosts/domain.name&gt;
  php_value error_log /var/www/vhosts/domain.name/statistics/logs/php-errors.log
  php_flag display_errors off
  php_value error_reporting 6143
  php_flag log_errors on
&lt;/Directory&gt;
</pre>
<p>Then create the file and assign it the right permissions</p>
<pre class="brush: bash; title: ; notranslate">
  cd /var/www/vhosts/domain.name/statistics/logs/
  touch php-errors.log
  chown apache php-errors.log
</pre>
<p>And the last thing is to tell Apache to reread the updated conf file</p>
<pre class="brush: bash; title: ; notranslate">
  /usr/local/psa/admin/sbin/websrvmng -a
</pre>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/php-error-logs-with-virtuozzo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firewalling an OpenVZ node and containers</title>
		<link>http://iandunn.name/firewalling-an-openvz-node-and-containers/</link>
		<comments>http://iandunn.name/firewalling-an-openvz-node-and-containers/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 17:13:31 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[OpenVZ / Virtuozzo / Plesk]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://iandunn.name/workblog/?p=266</guid>
		<description><![CDATA[The OpenVZ wiki has a nice script for <a href="http://wiki.openvz.org/Setting_up_an_iptables_firewall">firewalling an OpenVZ node and it&#8217;s containers</a> . It creates a service and configures iptables to block all traffic to the node (except the ports you specify), but allow all traffic through to the containers, so that they can manage their own firewall. It also allows the container&#8217;s firewalls to be managed on the... [<a href="http://iandunn.name/firewalling-an-openvz-node-and-containers/">more</a>]]]></description>
			<content:encoded><![CDATA[<p>The OpenVZ wiki has a nice script for <a href="http://wiki.openvz.org/Setting_up_an_iptables_firewall">firewalling an OpenVZ node and it&#8217;s containers</a>. It creates a service and configures iptables to block all traffic to the node (except the ports you specify), but allow all traffic through to the containers, so that they can manage their own firewall. It also allows the container&#8217;s firewalls to be managed on the node through a simple config file.</p>
]]></content:encoded>
			<wfw:commentRss>http://iandunn.name/firewalling-an-openvz-node-and-containers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

