<?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>Tim Bowler &#187; Sys Admin</title>
	<atom:link href="http://timothybowler.com/category/sys_admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://timothybowler.com</link>
	<description>Certified Scrum Master &#124; Certified Scrum Practitioner &#124; Agile Coach &#124; Agile Practitioner</description>
	<lastBuildDate>Sat, 19 Dec 2009 16:14:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Setting up Debian with up to date packages</title>
		<link>http://timothybowler.com/2009/12/03/setting-up-debian-with-up-to-date-packages/</link>
		<comments>http://timothybowler.com/2009/12/03/setting-up-debian-with-up-to-date-packages/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:58:57 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=267</guid>
		<description><![CDATA[I just installed the latest Debian, and realized that the packages are not as up-to-date as I would like. For example I installed PHP and MySQL. PHP was at version 5.2.6 and MySQL was at version 5.0.15a. Considering PHP 5.2.11 and MySQL 5.1 are already released, made me think am I better off compiling from [...]]]></description>
			<content:encoded><![CDATA[<p>I just installed the latest Debian, and realized that the packages are not as up-to-date as I would like. For example I installed PHP and MySQL. PHP was at version 5.2.6 and MySQL was at version 5.0.15a. Considering PHP 5.2.11 and MySQL 5.1 are already released, made me think am I better off compiling from source?</p>
<p>After going down the compiling route, as in my <a title="Compiling Nginx" href="http://timothybowler.com/2009/11/25/compiling-nginx-on-debian-lenny/" target="_blank">previous post </a>due to the same out dated problems I actually found a useful and up-to-date repository. Along with this, my bias towards Debian drastically strengthed. Which after many years of working on a a variety of other distro&#8217;s never quiet happened.<span id="more-267"></span></p>
<h1>Setting up and configuring Debian</h1>
<p>The initial setup comprises of two steps, the first step is to configure the locales, the second is to add new repos to your sources.list file.</p>
<h2>Set the Locale</h2>
<p>On a fresh install, anytime you need to use apt-get for anything Debian always complains about &#8216;setting the locale failed&#8217; like below:</p>
<pre class="brush: bash; light: true;">
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = &quot;en&quot;,
LC_ALL = (unset),
LANG = &quot;en&quot;
are supported and installed on your system.
perl: warning: Falling back to the standard locale (&quot;C&quot;).
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = &quot;en&quot;,
LC_ALL = (unset),
LANG = &quot;en&quot;
are supported and installed on your system.
perl: warning: Falling back to the standard locale (&quot;C&quot;).
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = &quot;en&quot;,
LC_ALL = (unset),
LANG = &quot;en&quot;
are supported and installed on your system.
perl: warning: Falling back to the standard locale (&quot;C&quot;).
</pre>
<p>To set the locale you need to run:</p>
<pre class="brush: bash; light: true;">
sudo locale-gen
sudo dpkg-reconfigure locales
</pre>
<p>After running the second command, you will be asked to first configure which locales you want, and then to select a default one. After that your done.</p>
<h2>Installing PHP and MySQL on Debian</h2>
<p>Using <a href="http://www.dotdeb.org/instructions/" target="_blank">dotbeb&#8217;s</a> repository add the following to your /etc/apt/sources.list</p>
<pre class="brush: bash; light: true;">
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
</pre>
<p>After which you must run</p>
<pre class="brush: bash; light: true;">apt-get update</pre>
<p>Finally, install PHP and MySQL:</p>
<pre class="brush: bash; light: true;">
apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache  php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc mysql-server mysql-client nginx
</pre>
<h3>Resources:</h3>
<ul>
<li><a title="dotdeb debian packages" href="http://www.dotdeb.org/" target="_blank">dodeb</a></li>
</ul>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F12%2F03%2Fsetting-up-debian-with-up-to-date-packages%2F';
  addthis_title  = 'Setting+up+Debian+with+up+to+date+packages';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/12/03/setting-up-debian-with-up-to-date-packages/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>installing APC on debian</title>
		<link>http://timothybowler.com/2009/11/27/installing-apc-on-debian/</link>
		<comments>http://timothybowler.com/2009/11/27/installing-apc-on-debian/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:28:55 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=236</guid>
		<description><![CDATA[To install APC is usually straight forward:
apt-get install php5-dev
pecl install apc
If your using nginx make sure you enter no to install using ASPX (apache dynamic modules).

Then adding the module to your php.ini file
nano /etc/php5/cgi/conf.d/apc.ini
extension=apc.so
Finally you can then restart the php cgi instances
/etc/init.d/php-fcgi restart
APC also comes with an admin script, which by default is located at:
/usr/share/php/apc.php
Simply [...]]]></description>
			<content:encoded><![CDATA[<p>To install APC is usually straight forward:</p>
<pre class="brush: bash; light: true;">apt-get install php5-dev
pecl install apc</pre>
<p>If your using nginx make sure you enter <strong>no</strong> to install using ASPX (apache dynamic modules).</p>
<p><span id="more-236"></span></p>
<p>Then adding the module to your php.ini file</p>
<pre class="brush: bash; light: true;">nano /etc/php5/cgi/conf.d/apc.ini
extension=apc.so</pre>
<p>Finally you can then restart the php cgi instances</p>
<pre class="brush: bash; light: true;">/etc/init.d/php-fcgi restart</pre>
<p>APC also comes with an admin script, which by default is located at:</p>
<pre class="brush: bash; light: true;">/usr/share/php/apc.php</pre>
<p>Simply copy this to your web folder (of course change the username and password) and you will be able to see apc&#8217;s stats.</p>
<p>However, this morning I came across a strange error message when installing apc:</p>
<h3>pear.php.net is using a unsupported protocal &#8211; This should never happen.<br />
install failed.</h3>
<p>After searching on-line and reading several posts it appears that both pear.php.net.reg and pecl.php.net.reg files seem to be partially complete. The solution is quiet simple, open up each file and insert the following completed version:</p>
<p>pear.php.net.reg</p>
<pre class="brush: php;">a:6:{s:7:&quot;attribs&quot;;a:4:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;s:5:&quot;xmlns&quot;;s:31:&quot;http://pear.php.net/channel-1.0&quot;;s:9:&quot;xmlns:xsi&quot;;s:41:&quot;http://www.w3.org/2001/XMLSchema-instance&quot;;s:18:&quot;xsi:schemaLocation&quot;;s:71:&quot;http://pear.php.net/channel-1.0 http://pear.php.net/dtd/channel-1.0.xsd&quot;;}s:4:&quot;name&quot;;s:12:&quot;pear.php.net&quot;;s:14:&quot;suggestedalias&quot;;s:4:&quot;pear&quot;;s:7:&quot;summary&quot;;s:40:&quot;PHP Extension and Application Repository&quot;;s:7:&quot;servers&quot;;a:2:{s:7:&quot;primary&quot;;a:1:{s:4:&quot;rest&quot;;a:1:{s:7:&quot;baseurl&quot;;a:4:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.0&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pear.php.net/rest/&quot;;}i:1;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.1&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pear.php.net/rest/&quot;;}i:2;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.2&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pear.php.net/rest/&quot;;}i:3;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.3&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pear.php.net/rest/&quot;;}}}}s:6:&quot;mirror&quot;;a:2:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;host&quot;;s:15:&quot;us.pear.php.net&quot;;}s:4:&quot;rest&quot;;a:1:{s:7:&quot;baseurl&quot;;a:4:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.0&quot;;}s:8:&quot;_content&quot;;s:28:&quot;http://us.pear.php.net/rest/&quot;;}i:1;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.1&quot;;}s:8:&quot;_content&quot;;s:28:&quot;http://us.pear.php.net/rest/&quot;;}i:2;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.2&quot;;}s:8:&quot;_content&quot;;s:28:&quot;http://us.pear.php.net/rest/&quot;;}i:3;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.3&quot;;}s:8:&quot;_content&quot;;s:28:&quot;http://us.pear.php.net/rest/&quot;;}}}}i:1;a:2:{s:7:&quot;attribs&quot;;a:3:{s:4:&quot;host&quot;;s:15:&quot;de.pear.php.net&quot;;s:3:&quot;ssl&quot;;s:3:&quot;yes&quot;;s:4:&quot;port&quot;;s:4:&quot;3452&quot;;}s:4:&quot;rest&quot;;a:1:{s:7:&quot;baseurl&quot;;a:4:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.0&quot;;}s:8:&quot;_content&quot;;s:34:&quot;https://de.pear.php.net:3452/rest/&quot;;}i:1;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.1&quot;;}s:8:&quot;_content&quot;;s:34:&quot;https://de.pear.php.net:3452/rest/&quot;;}i:2;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.2&quot;;}s:8:&quot;_content&quot;;s:34:&quot;https://de.pear.php.net:3452/rest/&quot;;}i:3;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.3&quot;;}s:8:&quot;_content&quot;;s:34:&quot;https://de.pear.php.net:3452/rest/&quot;;}}}}}}s:13:&quot;_lastmodified&quot;;a:2:{s:4:&quot;ETag&quot;;s:20:&quot;&quot;2fe96-59a-31a3fc80&quot;&quot;;s:13:&quot;Last-Modified&quot;;s:29:&quot;Tue, 02 Jun 2009 05:55:46 GMT&quot;;}}</pre>
<p>pecl.php.net.reg:</p>
<pre class="brush: php;">a:6:{s:4:&quot;name&quot;;s:12:&quot;pecl.php.net&quot;;s:14:&quot;suggestedalias&quot;;s:4:&quot;pecl&quot;;s:7:&quot;summary&quot;;s:31:&quot;PHP Extension Community Library&quot;;s:7:&quot;servers&quot;;a:1:{s:7:&quot;primary&quot;;a:2:{s:6:&quot;xmlrpc&quot;;a:1:{s:8:&quot;function&quot;;a:10:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:9:&quot;logintest&quot;;}i:1;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:26:&quot;package.listLatestReleases&quot;;}i:2;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:15:&quot;package.listAll&quot;;}i:3;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:12:&quot;package.info&quot;;}i:4;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:22:&quot;package.getDownloadURL&quot;;}i:5;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.1&quot;;}s:8:&quot;_content&quot;;s:22:&quot;package.getDownloadURL&quot;;}i:6;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:25:&quot;package.getDepDownloadURL&quot;;}i:7;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.1&quot;;}s:8:&quot;_content&quot;;s:25:&quot;package.getDepDownloadURL&quot;;}i:8;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:14:&quot;package.search&quot;;}i:9;a:2:{s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}s:8:&quot;_content&quot;;s:15:&quot;channel.listAll&quot;;}}}s:4:&quot;rest&quot;;a:1:{s:7:&quot;baseurl&quot;;a:2:{i:0;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.0&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pecl.php.net/rest/&quot;;}i:1;a:2:{s:7:&quot;attribs&quot;;a:1:{s:4:&quot;type&quot;;s:7:&quot;REST1.1&quot;;}s:8:&quot;_content&quot;;s:25:&quot;http://pecl.php.net/rest/&quot;;}}}}}s:15:&quot;validatepackage&quot;;a:2:{s:8:&quot;_content&quot;;s:19:&quot;PEAR_Validator_PECL&quot;;s:7:&quot;attribs&quot;;a:1:{s:7:&quot;version&quot;;s:3:&quot;1.0&quot;;}}s:13:&quot;_lastmodified&quot;;s:31:&quot;Thu, 03 Jan 2008 11:48:06 -0700&quot;;}
</pre>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F11%2F27%2Finstalling-apc-on-debian%2F';
  addthis_title  = 'installing+APC+on+debian';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/11/27/installing-apc-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling nginx on debian lenny</title>
		<link>http://timothybowler.com/2009/11/25/compiling-nginx-on-debian-lenny/</link>
		<comments>http://timothybowler.com/2009/11/25/compiling-nginx-on-debian-lenny/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 12:30:34 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=201</guid>
		<description><![CDATA[When I first looked at how old the nginx package in the debian repo was I thought that I should compile nginx. However, I eventually managed to find a more recent repo which I will post later.
Download nginx and install dependencies

We have to download the nginx source and perhaps a few modules. But before we [...]]]></description>
			<content:encoded><![CDATA[<p>When I first looked at how old the nginx package in the debian repo was I thought that I should compile nginx. However, I eventually managed to find a more recent repo which I will post later.</p>
<h1 style="margin-top: 20px">Download nginx and install dependencies</h1>
<p><span id="more-201"></span></p>
<p>We have to download the nginx source and perhaps a few modules. But before we can install this the system will need a few dependencies installed.</p>
<p>Download nginx from the website (http://wiki.nginx.org/Main)</p>
<pre class="brush: bash; light: true; toolbar: true;">wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
tar -C /tmp nginx-0.7.64.tar.gz</pre>
<p>Download addition modules (http://wiki.nginx.org/Nginx3rdPartyModules)<br />
i.e. Headers more module:</p>
<pre class="brush: bash; light: true; toolbar: true;">
wget http://github.com/agentzh/headers-more-nginx-module/tarball/v0.01
tar -C /tmp agentzh-headers-more-nginx-mdule-c131b08.tar.gz</pre>
<p>We need to check for any dependencies and install them if needed. Therefore run:</p>
<pre class="brush: bash; light: true; toolbar: true;">aptitude show nginx</pre>
<p>This will show you the list of dependencies. Next is to install them:</p>
<pre class="brush: bash; light: true; toolbar: true;">apt-get install libc6 libpcre3 libpcre3-dev libpcrecpp0 libssl0.9.8 libssl-dev zlib1g zlib1g-dev lsb-base</pre>
<h1 style="margin-top: 20px">Configure and compiling nginx of debian</h1>
<p>We can now go ahead and compile nginx on debian. The first thing to do is to configure the installation. Below I have set most of the options that will place nginx and its config/log files in similar locations to what your used to.</p>
<pre class="brush: bash; light: true; toolbar: true;">cd /tmp/nginx-0.7.64
./configure \
--sbin-path=/usr/sbin \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--user=www-data \
--group=www-data \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--add-module=/tmp/agentzh-headers-more-nginx-module-c131b08</pre>
<p>Once the configure script has finished we can run make and install nginx</p>
<pre class="brush: bash; light: true; toolbar: true;">make &amp;&amp; make install</pre>
<h1 style="margin-top: 20px">Create the nginx init script</h1>
<p>Just like all other services that you installed, we can create a nginx startup script. Create the file /etc/init.d/nginx and add the following:</p>
<pre class="brush: bash; light: true; toolbar: true;">#! /bin/sh

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'sudo update-rc.d nginx defaults', or use the appropriate command on your
# distro.
#
# Author:       Ryan Norbauer
# Modified:     Geoffrey Grosenbach http://topfunky.com

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC=&quot;nginx daemon&quot;
NAME=nginx
DAEMON=/usr/sbin/$NAME
CONFIGFILE=/etc/nginx/nginx.conf
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

d_start() {
 $DAEMON -c $CONFIGFILE || echo -n &quot; already running&quot;
}

d_stop() {
 kill -QUIT `cat $PIDFILE` || echo -n &quot; not running&quot;
}

d_reload() {
 kill -HUP `cat $PIDFILE` || echo -n &quot; can't reload&quot;
}

case &quot;$1&quot; in
 start)
 echo -n &quot;Starting $DESC: $NAME&quot;
 d_start
 echo &quot;.&quot;
 ;;
 stop)
 echo -n &quot;Stopping $DESC: $NAME&quot;
 d_stop
 echo &quot;.&quot;
 ;;
 reload)
 echo -n &quot;Reloading $DESC configuration...&quot;
 d_reload
 echo &quot;reloaded.&quot;
 ;;
 restart)
 echo -n &quot;Restarting $DESC: $NAME&quot;
 d_stop
 # One second might not be time enough for a daemon to stop,
 # if this happens, d_start will fail (and dpkg will break if
 # the package is being upgraded). Change the timeout if needed
 # be, or change d_stop to have start-stop-daemon use --retry.
 # Notice that using --retry slows down the shutdown process somewhat.
 sleep 5
 d_start
 echo &quot;.&quot;
 ;;
 *)
 echo &quot;Usage: $SCRIPTNAME {start|stop|restart|force-reload}&quot; &amp;gt;&amp;amp;2
 exit 3
 ;;
esac

exit 0</pre>
<p>Make the nginx startup script executable so that we can run it</p>
<pre class="brush: bash; light: true; toolbar: true;">chmod +x /etc/init.d/nginx</pre>
<p>Finally we can make this script start on system startup.</p>
<pre class="brush: bash; light: true; toolbar: true;">/usr/sbin/update-rc.d -f nginx defaults</pre>
<h1 style="margin-top: 20px">Configuring virtual hosts on nginx</h1>
<p>We have to create a few directories to hold each virtual host and log files:</p>
<pre class="brush: bash;">mkdir /etc/nginx/sites-available/
mkdir /etc/nginx/sites-enabled/</pre>
<p>Configure the nginx server by opening the config file</p>
<pre class="brush: bash; light: true; toolbar: true;">nano /etc/nginx/nginx.conf</pre>
<p>Replace the text with the following:</p>
<pre class="brush: bash; light: true; toolbar: true;">user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
 worker_connections  1024;
 # multi_accept on;
}

http {
 include       /etc/nginx/mime.types;

 access_log    /var/log/nginx/access.log;

 sendfile        on;
 #tcp_nopush     on;

 #keepalive_timeout  0;
 keepalive_timeout  65;
 tcp_nodelay        on;

 gzip  on;
 gzip_disable &quot;MSIE [1-6]\.(?!.*SV1)&quot;;

 include /etc/nginx/conf.d/*.conf;
 include /etc/nginx/sites-enabled/*;

}</pre>
<p>I like to store my virtual hosts in /var/www/vhosts/host.com/httpdocs. Therefore create the directories:</p>
<pre class="brush: bash; light: true; toolbar: true;">mkdir /var/www/vhosts/host.com/httpdocs
mkdir /var/www/vhosts/host.com/logs</pre>
<p>We can now create a virtual host template. Therefore create the following file  /etc/nginx/sites-available/test.com and insert the content below <span style="text-decoration: underline;">making sure you change host.com to your domain name</span></p>
<pre class="brush: bash; light: true; toolbar: true;"># You may add here your
# server {
#    ...
# }
# statements for each of your virtual hosts

server {
 listen   80;
 server_name  host.com;

 access_log  /var/www/vhosts/host.com/logs/access.log;
 error_log  /var/www/vhosts/host.com/logs/error.log;    

 location / {
 root   /var/www/vhosts/host.com/httpdocs;
 index  index.html;
 }

 location /doc {
 root   /usr/share;
 autoindex on;
 allow 127.0.0.1;
 deny all;
 }

 location /images {
 root   /usr/share;
 autoindex on;
 }

 #error_page  404  /404.html;

 # redirect server error pages to the static page /50x.html
 #
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   /var/www/nginx-default;
 }

 # proxy the PHP scripts to Apache listening on 127.0.0.1:80
 #
 #location ~ \.php$ {
 #proxy_pass   http://127.0.0.1;
 #}

 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #

 #if (!-e $request_filename) {
 #  rewrite  ^(.*)$  /index.php?q=$1  last;
 #  break;
 #}
#        try_files $uri $uri/ /wordpress/index.php?q=$uri;

 #location ~ \.php$ {
 #fastcgi_pass   127.0.0.1:9000;
 #fastcgi_index  index.php;
 #fastcgi_param  SCRIPT_FILENAME  /var/www/vhosts/test/httpdocs$fastcgi_script_name;
 #include /etc/nginx/fastcgi_params;
 #}

 # deny access to .htaccess files, if Apache's document root
 # concurs with nginx's one
 #
 #location ~ /\.ht {
 #deny  all;
 #}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen   8000;
#listen   somename:8080;
#server_name  somename  alias  another.alias;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}

# HTTPS server
#
#server {
#listen   443;
#server_name  localhost;

#ssl  on;
#ssl_certificate  cert.pem;
#ssl_certificate_key  cert.key;

#ssl_session_timeout  5m;

#ssl_protocols  SSLv2 SSLv3 TLSv1;
#ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers   on;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}</pre>
<p>Create a symlink which will make our virtual host config live:</p>
<pre class="brush: bash; light: true; toolbar: true;">ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test</pre>
<p>Finally we can now start the nginx server</p>
<pre class="brush: bash; light: true; toolbar: true;">/etc/init.d/nginx start</pre>
<p>Now that we have nginx running, we need to make sure this service is always started. Therefore lets add it to our default run levels</p>
<pre class="brush: bash; light: true;">update-rc.d -f nginx defualts</pre>
<p>Hopefully you will now have the nginx server up and running. The next few blog posts will show how to incorporate PHP with nginx and to get both wordpress and symfony projects working.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F11%2F25%2Fcompiling-nginx-on-debian-lenny%2F';
  addthis_title  = 'Compiling+nginx+on+debian+lenny';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/11/25/compiling-nginx-on-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Installing Dropbox on Ubuntu 9.04</title>
		<link>http://timothybowler.com/2009/07/03/installin-dropbox-on-ubuntu-904/</link>
		<comments>http://timothybowler.com/2009/07/03/installin-dropbox-on-ubuntu-904/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 00:34:42 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=118</guid>
		<description><![CDATA[For people wanting to share content between two or more computers, try dropbox. I currently share files between Ubuntu and windows, and on occasions share documents with others. Dropbox easily caters for this, and best of all is free for up to 2GB.
Intalling dropbox on Ubuntuu 9.04

Following dropbox&#8216;s instructions you are left at a dead [...]]]></description>
			<content:encoded><![CDATA[<p>For people wanting to share content between two or more computers, try <a title="Dropbox" href="https://www.getdropbox.com/home" target="_blank">dropbox</a>. I currently share files between Ubuntu and windows, and on occasions share documents with others. Dropbox easily caters for this, and best of all is free for up to 2GB.</p>
<h2>Intalling dropbox on Ubuntuu 9.04</h2>
<p><span id="more-118"></span></p>
<p>Following <a title="Dropbox Ubuntu installation" href="https://www.getdropbox.com/downloading?os=lnx" target="_blank">dropbox</a>&#8216;s instructions you are left at a dead end. There is no dropbox folder created even after nautilus has been restarted and I had logged out then back in. To complete the install of dropbox on Ubuntu, on the command line enter </p>
<pre class="brush: bash; light: true; toolbar: true;">dropbox start -i </pre>
<p>which will then download and install the daemon. Once that is done logout and back in and you should then be able to use your drop box.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F07%2F03%2Finstallin-dropbox-on-ubuntu-904%2F';
  addthis_title  = 'Installing+Dropbox+on+Ubuntu+9.04';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/07/03/installin-dropbox-on-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubunto 8.10 Intrepid update to kernel 2.6.27-12</title>
		<link>http://timothybowler.com/2009/03/04/ubunto-810-intrepid-update-to-kernel-2627-12/</link>
		<comments>http://timothybowler.com/2009/03/04/ubunto-810-intrepid-update-to-kernel-2627-12/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 11:49:48 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=106</guid>
		<description><![CDATA[After upgrading the kernel, booting into it left me with a black screen. The first time that I can honestly say ubuntu has shocked me. The problem is the nvidia 177 driver. To get around it, boot up into the previous kernal and install the Nvidia 180 packages. Once its done, reboot into the latest [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading the kernel, booting into it left me with a black screen. The first time that I can honestly say ubuntu has shocked me. The problem is the nvidia 177 driver. To get around it, boot up into the previous kernal and install the Nvidia 180 packages. Once its done, reboot into the latest kernel version.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F03%2F04%2Fubunto-810-intrepid-update-to-kernel-2627-12%2F';
  addthis_title  = 'Ubunto+8.10+Intrepid+update+to+kernel+2.6.27-12';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/03/04/ubunto-810-intrepid-update-to-kernel-2627-12/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH and automated backups</title>
		<link>http://timothybowler.com/2009/01/20/ssh-and-automated-backup/</link>
		<comments>http://timothybowler.com/2009/01/20/ssh-and-automated-backup/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 13:52:20 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://timothybowler.com/?p=91</guid>
		<description><![CDATA[One of the key tools for ssh automation is keychain, which is pretty much available in most flavors of linux. Its usually not installed by default, therefore using your package manager install &#8216;keychain&#8217;
Ubuntu users:
$sudo apt-get install keychain
After its install, you set it up by entering the keychain command followed by your private key (not the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the key tools for ssh automation is keychain, which is pretty much available in most flavors of linux. Its usually not installed by default, therefore using your package manager install &#8216;keychain&#8217;</p>
<p>Ubuntu users:</p>
<pre class="brush: bash; light: true; toolbar: true;">$sudo apt-get install keychain</pre>
<p>After its install, you set it up by entering the keychain command followed by your private key (not the public key).</p>
<pre class="brush: bash; light: true; toolbar: true;">$ keychain ~/.ssh/id_rsa
KeyChain 2.6.6; http://www.gentoo.org/proj/en/keychain/ Copyright 2002-2004
Gentoo Foundation; Distributed under the GPL&lt;/pre&gt;
* Initializing /home/timmy/.keychain/hostname-sh file...
* Initializing /home/timmy/.keychain/hostname-csh file...
* Initializing /home/timmy/.keychain/hostname-fish file...
* Starting ssh-agent
* Adding 1 ssh key(s)...
Enter passphrase for /home/timmy/.ssh/id_rsa:
Identity added: /home/timmy/.ssh/id_rsa (/home/timmy/.ssh/id_rsa)</pre>
<p>Keychain then creates three files which correspond to various shell environments. As I am using bash, the file I will be referencing will be  /home/timmy/.keychain/hostname-sh.</p>
<pre class="brush: bash; light: true; toolbar: true;">$ source ~/.keychain/hostname-sh</pre>
<p>To make sure everything is fine run the following to make sure the the environment is in fact set up:</p>
<pre class="brush: bash; light: true; toolbar: true;">$ env | grep SSH_A
SSH_AGENT_PID=9607
SSH_AUTH_SOCK=/tmp/ssh-bMoLeb9606/agent.9606</pre>
<p>Of course you will want this to happen automatically on login so add the following to your ~/.bashrc</p>
<pre class="brush: bash; light: true; toolbar: true;">keychain ~/.ssh/id_rsa
source ~/.keychain/hostname-sh</pre>
<p>The last step is to add the following line to your backup script (including the .)</p>
<pre class="brush: bash; light: true; toolbar: true;">. /home/timmy/.keychain/hostname-sh</pre>
<p>Backup Scripts<br />
Ill only mention the two methods that i use.<br />
1. scp: To copy files from one location to another<br />
2. rsync: To sync a remote location to local location</p>
<p><span id="more-91"></span></p>
<p><strong>SCP</strong></p>
<pre class="brush: bash; light: true; toolbar: true;">. /home/timmy/.keychain/hostname-sh
scp -r /home/timmy/Server_Backups/web/* root@192.168.0.1:/var/backup/web</pre>
<p><strong>Rsync</strong></p>
<pre class="brush: bash; light: true; toolbar: true;">. /home/timmy/.keychain/hostname-sh
rsync -rzvhlc --delete -e &quot;ssh -p 22 -i /home/timmy/.ssh/id_rsa -o 'BatchMode yes'&quot;
root@hostname:/var/www/vhosts/vhostname/httpd/ home/timmy/Server_Backups/web/</pre>
<p>After that you should not get the error:</p>
<pre class="brush: bash; light: true; toolbar: true;">Permission denied, please try again.
Received disconnect from 192.168.0.10: 2: Too many authentication failures for root
lost connection</pre>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2009%2F01%2F20%2Fssh-and-automated-backup%2F';
  addthis_title  = 'SSH+and+automated+backups';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2009/01/20/ssh-and-automated-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH security</title>
		<link>http://timothybowler.com/2008/08/10/ssh-security/</link>
		<comments>http://timothybowler.com/2008/08/10/ssh-security/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 22:26:22 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh attacks]]></category>
		<category><![CDATA[ssh configure]]></category>
		<category><![CDATA[sshd]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/08/10/ssh-security/</guid>
		<description><![CDATA[Over the last few weeks the server logs, especially /var/log/messages seems to be filled with consistent ssh dictionary attacks. Of course this cannot continue, so what do you do to prevent it?
Well there are a few things:

1. Setup the firewall to handle them
2. Installing deny hosts
3. Configure your ssh daemon properly
4. Set up proper accounts [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few weeks the server logs, especially /var/log/messages seems to be filled with consistent ssh dictionary attacks. Of course this cannot continue, so what do you do to prevent it?</p>
<p>Well there are a few things:</p>
<p><span id="more-42"></span></p>
<p>1. Setup the firewall to handle them</p>
<p>2. Installing deny hosts</p>
<p>3. Configure your ssh daemon properly</p>
<p>4. Set up proper accounts for people</p>
<p>The methods that I deploy are points 1, 3 and 4.</p>
<p><strong>Configuring SSH </strong></p>
<p>In the sshd_conf do the following:</p>
<p>-  change the port number: <strong>port 9999</strong></p>
<p>- Allow no password auth: <strong>PasswordAuthentication no</strong></p>
<p>- Allow public key auth: <strong>PubkeyAuthentication yes</strong></p>
<p>- Only allow user accounts that belong to a group: <strong>AllowGroups groupName</strong></p>
<p>By setting the above you have place a lot of restrictions on the who can access your server using ssh.</p>
<p><strong>Configure your firewall iptables in linux<br />
</strong></p>
<pre class="brush: bash; light: true; toolbar: true;">iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 9999 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --minutes 60 --hitcount 4 --name SSH -j DROP</pre>
<p>Finally  the last thing is to configure the user accounts that can access the server. It is strongly recommended to add the users to the sudousers if they require any specialist privileges.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F08%2F10%2Fssh-security%2F';
  addthis_title  = 'SSH+security';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/08/10/ssh-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trac + SVN</title>
		<link>http://timothybowler.com/2008/07/31/trac-svn/</link>
		<comments>http://timothybowler.com/2008/07/31/trac-svn/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 10:02:08 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/03/15/trac-svn/</guid>
		<description><![CDATA[After googling the internet for hours I managed to get the perfect trac + svn setup. Because we use contractors at work, I needed a setup where the security is global but at the same time based on project by project basis. Therefore trac uses a global .htaccess and svn uses the authz file for [...]]]></description>
			<content:encoded><![CDATA[<p>After googling the internet for hours I managed to get the perfect trac + svn setup. Because we use contractors at work, I needed a setup where the security is global but at the same time based on project by project basis. Therefore trac uses a global .htaccess and svn uses the authz file for authentication. At the moment this is working greate. To set up a new trac project is simply a case of creating the project, copying a base projects database and config file and then editing the new project&#8217;s config file.</p>
<p>We use a base project that is configured for all our core developers, which means im not adding the same permissions and groups all the time.</p>
<p><span id="more-25"></span></p>
<p><strong> How I configured it:</strong></p>
<p><strong>apache svn config:</strong></p>
<pre class="brush: bash; toolbar: true;">&lt;Location /projects/test2&gt;
 DAV svn
 # Set this to the path to your repository
 SVNPath /var/svn/test2
 AuthType Basic
 AuthName &quot;Test2 Project&quot;
 AuthUserFile /var/trac/.htpasswd
 AuthzSVNAccessFile /var/svn/authz
 Require valid-user
&lt;/Location&gt;&lt;/pre&gt;
&lt;strong&gt;apache trac config:&lt;/strong&gt;
&lt;pre&gt;&lt;VirtualHost *:80&gt;
RewriteEngine on
RewriteCond /var/trac/$1 -d
RewriteRule ^/([^/.]+)(/?.*) /trac.cgi$2 [S=1,E=TRAC_ENV:/var/trac/$1]

ServerAdmin tim@domain.com
ServerName trac.domain.com

DocumentRoot /usr/share/trac/cgi-bin/
AddHandler cgi-script .cgi

&lt;Directory /usr/share/trac/cgi-bin/&gt;
  Options Indexes FollowSymLinks MultiViews ExecCGI
  AllowOverride All
  Order allow,deny
  allow from all
&lt;/Directory&gt;

Alias /trac &quot;/usr/share/trac/htdocs&quot;

&lt;Location /&gt;
 SetEnv TRAC_ENV_PARENT_DIR &quot;/var/trac&quot;
 SetEnv PYTHON_EGG_CACHE /var/trac/egg_cache
&lt;Location&gt;

DirectoryIndex trac.cgi
 ErrorLog /var/log/apache2/error.trac.log
CustomLog /var/log/apache2/access.trac.log combined
&lt;/VirtualHost&gt;
</pre>
<p>The above configuration means that all users are in one file, and can be controlled globally.  Below are the plugins which i have installed and consider very helpful.</p>
<p><strong>Plugins &#8211; </strong>Below are some of the plugin which I think really help</p>
<p><a title="ini admin" href="http://www.trac-hacks.org/wiki/IniAdminPlugin" target="_blank">iniadmin</a></p>
<p><a title="account manager" href="http://www.trac-hacks.org/wiki/AccountManagerPlugin" target="_blank">trac account manager</a></p>
<p><a title="svn plugin" href="http://www.trac-hacks.org/wiki/TracSvnAuthzPlugin" target="_blank">trac svn authz</a></p>
<p><a title="web admin" href="http://www.trac-hacks.org/wiki/WebAdminPlugin" target="_blank">trac web admin</a></p>
<p><a title="Timing and estimation" href="http://www.trac-hacks.org/wiki/TimingAndEstimationPlugin" target="_blank">timing and estimatation</a></p>
<p><a title="pagetopdf" href="http://trac-hacks.org/wiki/PageToPdfPlugin" target="_blank">pagetopdf</a></p>
<p><a title="trac TOC" href="http://trac-hacks.org/wiki/TocMacro" target="_blank">Trac table of contents macro </a></p>
<p><a title="XMLRPC" href="http://trac-hacks.swapoff.org/wiki/XmlRpcPlugin" target="_blank">XMLRPC</a></pre>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F07%2F31%2Ftrac-svn%2F';
  addthis_title  = 'Trac+%2B+SVN';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/07/31/trac-svn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ubuntu, php and exim4</title>
		<link>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/</link>
		<comments>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 17:35:52 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[exim4]]></category>
		<category><![CDATA[php exim]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/</guid>
		<description><![CDATA[Ubuntu 8.04 does not have sendmail installed by default. This was annoying when some of the php web apps that I created rely on sendmail to send out email notifications. But before going ahead and installing sendmail, I thought that I would try exim4. Installing on Ubuntu is very straight forward:
apt-get install exim4  exim4-config

After installation [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 8.04 does not have sendmail installed by default. This was annoying when some of the php web apps that I created rely on sendmail to send out email notifications. But before going ahead and installing sendmail, I thought that I would try exim4. Installing on Ubuntu is very straight forward:</p>
<p><strong>apt-get install exim4  exim4-config</strong></p>
<p><span id="more-41"></span></p>
<p>After installation is complete, you <strong>must run</strong>:</p>
<p><strong>dpkg-reconfigure exim4-config</strong></p>
<p>This will allow you to configure the MTA. That is it, php will &#8216;just work&#8217; because the installation also creates a symlink of sendmail to the exim binary.</p>
<p>If you do not run the above config command, you will see this in your exim/mainlog:</p>
<p>tim@*******.com R=nonlocal: Mailing to remote domains not supported</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F06%2F29%2Fubuntu-php-and-exim4%2F';
  addthis_title  = 'Ubuntu%2C+php+and+exim4';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plesk and installing SSL certificate</title>
		<link>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/</link>
		<comments>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 08:34:15 +0000</pubDate>
		<dc:creator>Tim Bowler</dc:creator>
				<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[parallels]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/</guid>
		<description><![CDATA[Installing an SSL certification in plesk, looked straight forward. But, there are a few gotchas.
When pasting in your certifacte, in the certificate field make sure you copy and paste the private key first. Followed by the certificate. If you puchased an AV certificate (so your domain is green in the IE bar), make sure you [...]]]></description>
			<content:encoded><![CDATA[<p>Installing an SSL certification in plesk, looked straight forward. But, there are a few gotchas.</p>
<p>When pasting in your certifacte, in the certificate field make sure you copy and paste the private key first. Followed by the certificate. If you puchased an AV certificate (so your domain is green in the IE bar), make sure you get the root and intermediate certificates.</p>
<p><font size="2"><span style="font-family: verdana,arial,helvetica,sans-serif">Look in the </span><span style="font-weight: bold; font-family: verdana,arial,helvetica,sans-serif">/etc/httpd/conf.d/ssl.conf</span><span style="font-family: verdana,arial,helvetica,sans-serif"> for the line like:</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><br style="font-family: courier new,courier,monospace" /><span style="font-family: courier new,courier,monospace">&lt;VirtualHost _default_:443&gt;</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif">If it exists you have to delete/comment this default SSL virtual host starting from the</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif">&#8220;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&lt;VirtualHost _default_:443&gt;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&#8221; line and ending with &#8220;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&lt;/VirtualHost&gt;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&#8220;.</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif"><br />
Then stop and start (not restart!) Apache server.</span></font></p>
<p><span id="more-37"></span></p>
<p><a href="http://kb.parallels.com/en/939" title="parrells ">http://kb.parallels.com/en/939</a><br />
- private key then certifacte</p>
<p>- You must paste in the root certificate first! CA intermediator cerficate then root certifecate</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F06%2F19%2Fplesk-and-installing-ssl-certificate%2F';
  addthis_title  = 'Plesk+and+installing+SSL+certificate';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
