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

<channel>
	<title>Dirk-Jan's blog</title>
	<atom:link href="http://www.vleeuwen.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vleeuwen.net</link>
	<description>Just another popping weblog..</description>
	<pubDate>Wed, 19 May 2010 20:43:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Rootless SCOM agent setup</title>
		<link>http://www.vleeuwen.net/2010/05/rootless-scom-agent-setup</link>
		<comments>http://www.vleeuwen.net/2010/05/rootless-scom-agent-setup#comments</comments>
		<pubDate>Mon, 17 May 2010 21:08:00 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=106</guid>
		<description><![CDATA[The setup of a SCOM agent without having to enter the root password in the SCOM management console is actually very simple. At first I thought it would be necessary to export the key by which the client certificates are signed to do the signing on the system used to roll out new Linux systems.
I [...]]]></description>
			<content:encoded><![CDATA[<p>The setup of a SCOM agent without having to enter the root password in the SCOM management console is actually very simple. At first I thought it would be necessary to export the key by which the client certificates are signed to do the signing on the system used to roll out new Linux systems.</p>
<p>I have described the the process below in a few steps.</p>
<p><strong>1. Install the agent.</strong><br />
You can find the manual installation instructions on this <a href="http://www.vleeuwen.net/2010/03/install-scom-agent-on-red-hat-linux">site</a>.</strong></p>
<p><strong>2. Create a new user on the Linux client, in my case &#8217;scom&#8217;.</strong><br />
This user and password must match the action account credentials you have entered somewhere in the SCOM administration section.</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># useradd scom<br />
# passwd scom</div>
</div>
<p><strong>3. Change ownership and permissions on /etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># chown scom: /etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem<br />
# chmod 644 /etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem</div>
</div>
<p><strong>4. Start the discovery wizard, add your host and uncheck &#8216;Enable SSH based discovery&#8217;.</strong><br />
Under the host information enter the scom user and the corresponding password. Check the &#8216;This is a superuser account&#8217; check box.<br />
Make sure the SCOM server can communicate on port 1270/tcp, otherwise discovery will fail.</p>
<p><strong>5. Discovery will report the current (self-signed) certificate is invalid and will suggest to sign the certificate with the SCOM CA key.</strong><br />
Once this step is finished it will report no results, but the certificate is signed. You can verify this with OpenSSL.</p>
<p><strong>6. Restart the scx daemon on the Linux system.</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># /opt/microsoft/scx/bin/tools/scxadmin -restart</div>
</div>
<p>This will initialize the modified certificate.</p>
<p><strong>7. Re-issue a discovery of the same host (press the previous button two times).</strong><br />
In this final step the host is discovered successfully without having entered the root password.</p>
<p>I have created a Puppet recipe for the above to automate the roll-out of SCOM on Linux:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">class scom {</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; package { scx:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ensure =&gt; installed<br />
&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; service { scx-cimd:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ensure =&gt; true,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; enable =&gt; true,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hasrestart =&gt; true,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subscribe =&gt; [ File[&quot;/etc/init.d/scx-cimd&quot;], Package[scx] ]<br />
&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; file { &quot;/etc/init.d/scx-cimd&quot;:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; owner =&gt; root,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; group =&gt; root,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode =&gt; 744,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; require =&gt; Package[&quot;scx&quot;],<br />
&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; file { &quot;/etc/opt/microsoft/scx/ssl/scx-host-$hostname.pem&quot;:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; owner =&gt; scom,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; group =&gt; scom,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode =&gt; 644,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; checksum =&gt; md5,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; notify =&gt; service[scx-cimd],<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; require =&gt; [ Package[&quot;scx&quot;], User[&quot;scom&quot;] ]<br />
&nbsp; &nbsp; &nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; user { &quot;scom&quot;:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ensure =&gt; present,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name =&gt; &quot;scom&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uid =&gt; &quot;6004&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; comment =&gt; &quot;SCOM monitoring agent&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shell =&gt; &quot;/bin/bash&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; home =&gt; &quot;/var/opt/microsoft/scx&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; managehome =&gt; &quot;true&quot;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; password =&gt; &#8216;$1$vS1boUVQ$vMmabY1rt4FQokoweKvXw/&#8217;,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; require =&gt; [ Class[&quot;users&quot;], Package[&quot;scx&quot;] ]<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
}</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/05/rootless-scom-agent-setup/feed</wfw:commentRss>
		</item>
		<item>
		<title>Manual SCOM agent certificate signing</title>
		<link>http://www.vleeuwen.net/2010/04/manual-scom-agent-certificate-signing</link>
		<comments>http://www.vleeuwen.net/2010/04/manual-scom-agent-certificate-signing#comments</comments>
		<pubDate>Thu, 22 Apr 2010 17:30:47 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=104</guid>
		<description><![CDATA[The SCOM Linux agent (scx) uses a SSL certificate to trust communication between the SCOM server and Linux agents. The SCOM server communicates with the agent running on port 1270/tcp.
Normally you will deploy the agent by using the discovery wizard. The SCOM server initially makes a SSH connection to the agent and tries to detect [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.vleeuwen.net/wp-content/uploads/2010/04/linux-ms.png'><img src="http://www.vleeuwen.net/wp-content/uploads/2010/04/linux-ms.png" alt="" title="linux-ms" width="120" height="141" class="alignright size-full wp-image-105" /></a>The SCOM Linux agent (scx) uses a SSL certificate to trust communication between the SCOM server and Linux agents. The SCOM server communicates with the agent running on port 1270/tcp.</p>
<p>Normally you will deploy the agent by using the discovery wizard. The SCOM server initially makes a SSH connection to the agent and tries to detect which Linux distribution and version it&#8217;s dealing with. Then it will push (sftp) and install the scx package. At the end of the installation it will create a certificate. This certificate needs to be signed by the SCOM server, so the server will fetch the certificate, signs it and delivers it back to the client. At the end the agent will restart to initialize the newly created certificate and agent communication over port 1270/tcp is trusted. The above described actions are executed using the privileged account.</p>
<p>It is also possible to manually sign the certificate created during manual installation of the scx package. This process is described below.</p>
<p><strong>1. Copy the output of the following command including &#8216;&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;&#8217; and &#8216;&#8212;&#8211;END CERTIFICATE&#8212;&#8211;&#8217; to your paste buffer.</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">$ cat /etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem</div>
</div>
<p>By using the following command you can view the contents of the certificate:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">$ openssl x509 -noout -text \<br />
-in /etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem</div>
</div>
<p><strong>2. Create a new file on the SCOM server &#8217;scx-host-[hostname].pem&#8217;, paste the certificate data into it and save this file.</strong></p>
<p><strong>3. Open a windows console and execute the following:</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">scxcertconfig -sign scx-host-[hostname].pem scx_signed.pem</div>
</div>
<p>This command will sign your certificate (scx-host-[hostname].pem) and save it to a new file.</p>
<p><strong>4. Copy the contents of the signed certificate to the paste buffer.</strong></p>
<p><strong>5. Open the &#8216;/etc/opt/microsoft/scx/ssl/scx-host-[hostname].pem&#8217; on the Linux server, delete it&#8217;s contents and paste the newly created certificate data from the paste buffer.</strong></p>
<p><strong>6. Restart the agent by running the following command.</strong>  </p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># /opt/microsoft/scx/bin/tools/scxadmin -restart</div>
</div>
<p>This will initialize the new certificate.</p>
<p>The last step is open the SCOM management console and walk through the discovery wizard to register the agent. A super-user account is probably not required anymore. </p>
<p>After the installation of the scx package you need to create a action account user. The SCOM agent will be run under this user.</p>
<p>Related article: <a href="http://www.vleeuwen.net/2010/03/install-scom-agent-on-red-hat-linux">install-scom-agent-on-red-hat-linux</a></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/04/manual-scom-agent-certificate-signing/feed</wfw:commentRss>
		</item>
		<item>
		<title>Install SCOM agent on Red Hat Linux</title>
		<link>http://www.vleeuwen.net/2010/03/install-scom-agent-on-red-hat-linux</link>
		<comments>http://www.vleeuwen.net/2010/03/install-scom-agent-on-red-hat-linux#comments</comments>
		<pubDate>Tue, 23 Mar 2010 21:18:28 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Red Hat]]></category>

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=103</guid>
		<description><![CDATA[The steps below describe how to install the SCOM agent on Red Hat Linux 5 x64. We don&#8217;t like to enroll the agent by using the SCOM Discovery wizard, as you need to enter the super-user (root)credentials and we&#8217;re not sure where the application stores those credentials and it&#8217;s used for. So we&#8217;re still searching [...]]]></description>
			<content:encoded><![CDATA[<p>The steps below describe how to install the SCOM agent on Red Hat Linux 5 x64. We don&#8217;t like to enroll the agent by using the SCOM Discovery wizard, as you need to enter the super-user (root)credentials and we&#8217;re not sure where the application stores those credentials and it&#8217;s used for. So we&#8217;re still searching for the minimal permissions for the agent to be installed.</p>
<p>It is possile to install the agent, copy the unsigned client-side generated certificate to the SCOM server, sign the certificate on the SCOM server and copy the signed certificate back to the client. Once you have restarted the scx daemon you can use the discovery wizard on the SCOM server to add the server without using super-user credentials in SCOM.</p>
<p>Once you have installed the Cross Platform Cumulative Update 2 for System Center Operations Manager 2007 R2, a newer version of the agent becomes available on the SCOM server in <em>Program Files\System Center Operations Manager 2007\AgentManagement\UnixAgents</em>.</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># rpm -ivh scx-1.0.4-258.rhel.5.x64.rpm<br />
Preparing&#8230; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;########################################### [100%]<br />
&nbsp; &nbsp;1:scx &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;########################################### [100%]<br />
Generating certificate with hostname=&quot;host001&quot;, domainname=&quot;example.local&quot;</p>
<p>WARNING!<br />
Could not read 256 bytes of random data from /dev/random. Will revert to less secure /dev/urandom.<br />
See the security guide for how to regenerate certificates at a later time when more random data might be available.</p>
<p>/var/tmp/rpm-tmp.63356: line 163: /usr/lib/lsb/install_initd: No such file or directory<br />
Starting Microsoft SCX CIM Server: [ &nbsp;OK &nbsp;]<br />
#</div>
</div>
<p>To fix the above problem you can use the following work-around.</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">rm /dev/random<br />
rm: remove character special file `/dev/random&#8217;? y<br />
# mknod -m 644 /dev/random c 1 9<br />
# chown root:root /dev/random<br />
# cd<br />
# rpm -ivh scx-1.0.4-258.rhel.5.x64.rpm <br />
Preparing&#8230; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;########################################### [100%]<br />
&nbsp; &nbsp;1:scx &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;########################################### [100%]<br />
Generating certificate with hostname=&quot;host001&quot;, domainname=&quot;example.local&quot;<br />
/var/tmp/rpm-tmp.10879: line 163: /usr/lib/lsb/install_initd: No such file or directory<br />
Starting Microsoft SCX CIM Server: [ &nbsp;OK &nbsp;]<br />
# rm /dev/random<br />
# mknod -m 644 /dev/random c 1 8<br />
# chown root:root /dev/random</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/03/install-scom-agent-on-red-hat-linux/feed</wfw:commentRss>
		</item>
		<item>
		<title>Moving into the cloud</title>
		<link>http://www.vleeuwen.net/2010/01/moving-into-the-cloud</link>
		<comments>http://www.vleeuwen.net/2010/01/moving-into-the-cloud#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:25:32 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Cloud computing]]></category>

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=97</guid>
		<description><![CDATA[Last week I setup a server in a cloud based on Xen virtualization technology. After some hours research I decided to go for the Rackspace cloud. I chose the minimal setup to start with, which is a 256MB memory configuration that comes with 10GB disk space. As stated in the specs, the 256MB plan will [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.rackspacecloud.com'><img src="http://www.vleeuwen.net/wp-content/uploads/2010/01/rackspace-cloud-hosting.png" alt="" title="rackspace-cloud-hosting" width="279" height="62" class="alignright size-medium wp-image-98" /></a>Last week I setup a server in a cloud based on Xen virtualization technology. After some hours research I decided to go for the <a href="http://www.rackspacecloud.com">Rackspace cloud</a>. I chose the minimal setup to start with, which is a 256MB memory configuration that comes with 10GB disk space. As stated in the specs, the 256MB plan will get you 1/64 of the CPU allocation. Which is fine to start with for a standard LAMP setup.</p>
<p>For now they only offer a large variety of Linux distributions. I chose Debian 5.0 Lenny, because it makes migration easier as the site is running on Debian 5.0 already. The registration process and setup of the minimal Debian install went very smoothly. In under two hours I had successfully migrated a website. So for the setup part I am totally satisfied, let&#8217;s see how the availability part will develop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/01/moving-into-the-cloud/feed</wfw:commentRss>
		</item>
		<item>
		<title>Jmeter JSF client state</title>
		<link>http://www.vleeuwen.net/2010/01/jmeter-jsf-client-state</link>
		<comments>http://www.vleeuwen.net/2010/01/jmeter-jsf-client-state#comments</comments>
		<pubDate>Fri, 15 Jan 2010 20:35:28 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=96</guid>
		<description><![CDATA[In order to know what kind of resources a new application needed I figured out to do a load test. The load testing software I used for this test is Apache Jmeter. The application to test is a Java based application deployed in Tomcat 6.
I used the Jmeter HTTP Proxy Recorder to simulate a normal [...]]]></description>
			<content:encoded><![CDATA[<p>In order to know what kind of resources a new application needed I figured out to do a load test. The load testing software I used for this test is <a href="http://jakarta.apache.org/jmeter/">Apache Jmeter</a>. The application to test is a Java based application deployed in Tomcat 6.</p>
<p>I used the Jmeter HTTP Proxy Recorder to simulate a normal user session to create a realistic test plan. Once I executed the test plan against the web application it returned Internal Server Error (Response code: 500). By using the &#8220;View Results Tree&#8221; Listener I was able to locate the problem as the Listener displays basic HTML and XML representations of the response. </p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">javax.faces.application.ViewExpiredException: viewId:/presentation/task.jsf - View /presentation/task.jsf could not be restored.</div>
</div>
<p>It appeared that the HTTP Proxy Recorder had recorded the server and client state. The <em>javax.faces.ViewState</em> field is written for both server and client side state saving. So removing this attribute from the sampler data makes Jmeter process the pages without error.</p>
<p>It took me a couple of hours to resolve this issue, hope this helps someone stumbling across the same.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/01/jmeter-jsf-client-state/feed</wfw:commentRss>
		</item>
		<item>
		<title>Search and replace MySQL content</title>
		<link>http://www.vleeuwen.net/2010/01/search-and-replace-mysql-content</link>
		<comments>http://www.vleeuwen.net/2010/01/search-and-replace-mysql-content#comments</comments>
		<pubDate>Wed, 06 Jan 2010 20:27:02 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=94</guid>
		<description><![CDATA[Today I switched from the Code Markup to the Code Snippet WordPress plugin. Therefore I had to change the way the code block is activated. This is a time consuming job if you have to do this by hand, so I figured out there should be a smarter way of doing this. Check out the [...]]]></description>
			<content:encoded><![CDATA[<p>Today I switched from the Code Markup to the <a href="http://wordpress.org/extend/plugins/codesnippet-20/">Code Snippet</a> WordPress plugin. Therefore I had to change the way the code block is activated. This is a time consuming job if you have to do this by hand, so I figured out there should be a smarter way of doing this. Check out the MySQL replace function below:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">update [table_name] set [field_name] = replace([field_name],&#8217;[string_to_find]&#8216;,&#8217;[string_to_replace]&#8216;);</div>
</div>
<p>And so the above translated to the lines I needed:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">mysql&gt; update wp_vleeuwen_posts set post_content = replace(post_content, &#8216;&lt;pre&gt;&lt;code&gt;&#8217;, &#8216;[code lang=&quot;text&quot;]&#8216;);<br />
Query OK, 35 rows affected (0.06 sec)<br />
Rows matched: 72 &nbsp;Changed: 35 &nbsp;Warnings: 0</p>
<p>mysql&gt; update wp_vleeuwen_posts set post_content = replace(post_content, &#8216;&lt;/code&gt;&lt;/pre&gt;&#8217;, &#8216;[/ code]&#8216;);<br />
Query OK, 35 rows affected (0.01 sec)<br />
Rows matched: 72 &nbsp;Changed: 35 &nbsp;Warnings: 0</p>
<p>mysql&gt;</p></div>
</div>
<p>Notice the little typo I had to make in order to let the above code snippet work ([/ code]).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/01/search-and-replace-mysql-content/feed</wfw:commentRss>
		</item>
		<item>
		<title>Backup Lenny using TSM</title>
		<link>http://www.vleeuwen.net/2010/01/backup-lenny-using-tsm</link>
		<comments>http://www.vleeuwen.net/2010/01/backup-lenny-using-tsm#comments</comments>
		<pubDate>Sat, 02 Jan 2010 11:19:14 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=100</guid>
		<description><![CDATA[The few steps below describe in short how to install Tivoli Storage Manager (TSM) on Debian 5.0.3 (Lenny) x64.
1. Download the latest 5.x TSM client

# wget ftp://ftp.wu-wien.ac.at/mirrors/tsm/maintenance/client/v5r5/Linux/LinuxX86/v552/5.5.2.0-TIV-TSMBAC-LinuxX86.tar

2. Install alien and dependencies

# apt-get install alien gawk libstdc++5

3. untar the TSM client software

# tar -xvf 5.5.2.0-TIV-TSMBAC-LinuxX86.tar 
NOTICES.TXT
README_enu.htm
README_api_enu.htm
README_hsm_enu.htm
TIVsm-API.i386.rpm
TIVsm-API64.rpm
TIVsm-BA.i386.rpm
TIVsm-HSM.i386.rpm

4. Convert the RPM packages using alien

# alien -g TIVsm-API.i386.rpm
Warning: Skipping [...]]]></description>
			<content:encoded><![CDATA[<p>The few steps below describe in short how to install Tivoli Storage Manager (TSM) on Debian 5.0.3 (Lenny) x64.</p>
<p><strong>1. Download the latest 5.x TSM client</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># wget ftp://ftp.wu-wien.ac.at/mirrors/tsm/maintenance/client/v5r5/Linux/LinuxX86/v552/5.5.2.0-TIV-TSMBAC-LinuxX86.tar</div>
</div>
<p><strong>2. Install alien and dependencies</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># apt-get install alien gawk libstdc++5</div>
</div>
<p><strong>3. untar the TSM client software</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># tar -xvf 5.5.2.0-TIV-TSMBAC-LinuxX86.tar <br />
NOTICES.TXT<br />
README_enu.htm<br />
README_api_enu.htm<br />
README_hsm_enu.htm<br />
TIVsm-API.i386.rpm<br />
TIVsm-API64.rpm<br />
TIVsm-BA.i386.rpm<br />
TIVsm-HSM.i386.rpm</div>
</div>
<p><strong>4. Convert the RPM packages using alien</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># alien -g TIVsm-API.i386.rpm<br />
Warning: Skipping conversion of scripts in package TIVsm-API: postinst prerm<br />
Warning: Use the &#8211;scripts parameter to include the scripts.<br />
Directories TIVsm-API-5.5.2 and TIVsm-API-5.5.2.orig prepared.<br />
# alien -g TIVsm-BA.i386.rpm<br />
Warning: Skipping conversion of scripts in package TIVsm-BA: postinst prerm<br />
Warning: Use the &#8211;scripts parameter to include the scripts.<br />
Directories TIVsm-BA-5.5.2 and TIVsm-BA-5.5.2.orig prepared.</div>
</div>
<p><strong>5. Adjust the control files</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># mv TIVsm-API-5.5.2/debian TIVsm-API-5.5.2/DEBIAN<br />
# mv TIVsm-BA-5.5.2/debian TIVsm-BA-5.5.2/DEBIAN<br />
# vi TIVsm-API-5.5.2/DEBIAN/control <br />
# vi TIVsm-BA-5.5.2/DEBIAN/control</div>
</div>
<p>The control file should like the following:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">Source: tivsm-api<br />
Section: non-free<br />
Priority: extra<br />
Maintainer: root &lt;root@localhost&gt;<br />
&nbsp;<br />
Package: tivsm-api<br />
Architecture: all<br />
Depends: ${shlibs:Depends}<br />
Description: IBM Tivoli Storage Manager API</div>
</div>
<p><strong>6. Build the packages</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># dpkg -b TIVsm-API-5.5.2<br />
dpkg-deb: building package `tivsm-api&#8217; in `TIVsm-API-5.5.2.deb&#8217;.<br />
# dpkg -b TIVsm-BA-5.5.2<br />
dpkg-deb: building package `tivsm-ba&#8217; in `TIVsm-BA-5.5.2.deb&#8217;.</div>
</div>
<p><strong>7. Install the packages</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># dpkg -i TIVsm-API-5.5.2.deb<br />
Selecting previously deselected package tivsm-api.<br />
(Reading database &#8230; 146642 files and directories currently installed.)<br />
Unpacking tivsm-api (from TIVsm-API-5.5.2.deb) &#8230;<br />
Setting up tivsm-api (5.5.2) &#8230;<br />
# dpkg -i TIVsm-BA-5.5.2.deb<br />
Selecting previously deselected package tivsm-ba.<br />
(Reading database &#8230; 146716 files and directories currently installed.)<br />
Unpacking tivsm-ba (from TIVsm-BA-5.5.2.deb) &#8230;<br />
Setting up tivsm-ba (5.5.2) &#8230;<br />
#</div>
</div>
<p><strong>8. Post install issues</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># echo &quot;/opt/tivoli/tsm/client/ba/bin&quot; &gt;&gt; /etc/ld.so.conf<br />
# ldconfig<br />
# ln -s /opt/tivoli/tsm/client/lang/en_US /opt/tivoli/tsm/client/ba/bin/</div>
</div>
<p>And you&#8217;re done installing TSM. You&#8217;re now ready to proceed to the configuration. The TSM configuration files are located in /opt/tivoli/tsm/client/ba/bin. You can start by copying the sample files.</p>
<p># cd /opt/tivoli/tsm/client/ba/bin<br />
# cp dsm.opt.smp dsm.opt<br />
# cp dsm.sys.smp dsm.sys</p>
<p>Have a look at the IBM docs for the configuration options.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2010/01/backup-lenny-using-tsm/feed</wfw:commentRss>
		</item>
		<item>
		<title>Switched to RoundCube</title>
		<link>http://www.vleeuwen.net/2009/12/switched-to-roundcube</link>
		<comments>http://www.vleeuwen.net/2009/12/switched-to-roundcube#comments</comments>
		<pubDate>Wed, 30 Dec 2009 22:14:22 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Linux]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=92</guid>
		<description><![CDATA[Since I first started using a webmail client Squirrelmail was my number one. But lately I missed some functions like viewing HTML formatted mail, auto address completion and LDAP address book functionality. So I started to look for a webmail client that comes with this functionality build-in and came up with this nice AJAX based [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.vleeuwen.net/wp-content/uploads/2009/12/roundcube_logo.png" alt="" title="RoundCube Logo" width="165" height="55" class="alignright size-full wp-image-93" />Since I first started using a webmail client Squirrelmail was my number one. But lately I missed some functions like viewing HTML formatted mail, auto address completion and LDAP address book functionality. So I started to look for a webmail client that comes with this functionality build-in and came up with this nice AJAX based webmail solution for IMAP servers, called <a href="http://roundcube.net/">RoundCube</a>.</p>
<p>The fact that RC will be in the next Debian stable release (squeeze) was the final straw. Using the Lenny backports repo you can install RC on Lenny (current stable). See the following steps below: </p>
<p><strong>1. Create to following file if it not exists:</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># vi /etc/apt/preferences</div>
</div>
<p><strong>2. Add the following lines:</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">Package: *<br />
Pin: release a=stable<br />
Pin-Priority: 600</p>
<p>Package: roundcube roundcube-core roundcube-mysql<br />
Pin: release a=lenny-backports<br />
Pin-Priority: 999</div>
</div>
<p>There is also a postgresql and sqlite database meta-package available.</p>
<p><strong>3. Edit /etc/apt/sources.list and add the following lines:</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># Testing (squeeze) for gallery2<br />
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free<br />
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free</div>
</div>
<p><strong>4. Update the apt database and upgrade the gallery2 package:</strong></p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;"># apt-get update<br />
# apt-get install roundcube</div>
</div>
<p>Next thing is to walk through the main.inc.php config file located in &#8216;/etc/roundcube&#8217; and the Apache configuration.</p>
<p>Restart apache and navigate to your RoundCube url and off you go.</p>
<p>I have been test driving RoundCube for about a month and can conclude that RoundCube is here to stay!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2009/12/switched-to-roundcube/feed</wfw:commentRss>
		</item>
		<item>
		<title>Windows wireless driver for Amilo Li 2727</title>
		<link>http://www.vleeuwen.net/2009/12/windows-wireless-driver-for-amilo-li-2727</link>
		<comments>http://www.vleeuwen.net/2009/12/windows-wireless-driver-for-amilo-li-2727#comments</comments>
		<pubDate>Fri, 11 Dec 2009 17:52:23 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Blog]]></category>

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=102</guid>
		<description><![CDATA[It took me some time to figure out how to get the wireless device of my Amilo Li 2727 working with Windows 7. For the ones who stumble across the same problem I have describe how to solve it.

Download the Windows XP Drivers For Amilo Li 2727 here
Extract the contents of the compressed file
Open &#8216;Control [...]]]></description>
			<content:encoded><![CDATA[<p>It took me some time to figure out how to get the wireless device of my Amilo Li 2727 working with Windows 7. For the ones who stumble across the same problem I have describe how to solve it.</p>
<ol>
<li>Download the Windows XP Drivers For Amilo Li 2727 <a href="http://rapidshare.com/files/117455169/FSC_Amilo_Li2727_Win_XP_drivers_by_amater.rar.html">here</a></li>
<li>Extract the contents of the compressed file</li>
<li>Open &#8216;Control Panel&#8217;, click on &#8216;System&#8217; and choose &#8216;Device Manager&#8217;</li>
<li>Open the &#8216;Action&#8217; menu item and click on &#8216;Add legacy hardware&#8217;</li>
<li>Next -> Next -> Next and pick &#8216;Network Adapters&#8217;</li>
<li>Choose &#8216;Have disk&#8217; and Navigate into the &#8216;04 WLAN&#8217; directory</li>
<li>Select &#8216;Atheros AR5007EG Wireless Network Adapter&#8217;</li>
<li>Install the FSC Launchmanager from the &#8216;05 FSC_LaunchManager&#8217; directory by executing the setup.exe</li>
<li>Reboot</li>
</ol>
<p>Once you have rebooted you should have a working wireless device. To active the wireless device, you need to press the Fn+F1 button combination and choose WLAN. I can confirm this driver works on Windows 7.</p>
<p>Good luck!</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2009/12/windows-wireless-driver-for-amilo-li-2727/feed</wfw:commentRss>
		</item>
		<item>
		<title>vsftpd and SSL</title>
		<link>http://www.vleeuwen.net/2009/11/howto-verify-a-ftp-ssl-connection</link>
		<comments>http://www.vleeuwen.net/2009/11/howto-verify-a-ftp-ssl-connection#comments</comments>
		<pubDate>Sat, 28 Nov 2009 16:10:36 +0000</pubDate>
		<dc:creator>Dirk-Jan</dc:creator>
		
		<category><![CDATA[Blog]]></category>

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

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

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

		<guid isPermaLink="false">http://www.vleeuwen.net/?p=101</guid>
		<description><![CDATA[This howto describes how to configure vsftpd to enable SSL using so called intermediate/ chaining certificates.
Edit vsftpd.conf so that SSL is enabled:

ssl_enable=YES
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem
force_local_data_ssl=NO
force_local_logins_ssl=NO

It is very important to construct the certificate file /usr/share/ssl/certs/vsftpd.pem with the correct certificate order. The fist Your certificate file has to be a .pem file. If you also received an Intermediate Certificate then [...]]]></description>
			<content:encoded><![CDATA[<p>This howto describes how to configure vsftpd to enable SSL using so called intermediate/ chaining certificates.</p>
<p>Edit vsftpd.conf so that SSL is enabled:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">ssl_enable=YES<br />
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem<br />
force_local_data_ssl=NO<br />
force_local_logins_ssl=NO</div>
</div>
<p>It is very important to construct the certificate file /usr/share/ssl/certs/vsftpd.pem with the correct certificate order. The fist Your certificate file has to be a .pem file. If you also received an Intermediate Certificate then you have to concatenate this with the Domain Certificate and your Private Key file into one single .pem file. Make sure all the information is included, without any spaces or blanks, see below.</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;<br />
&nbsp;(your_domain_name.crt)<br />
&#8212;&#8211;END CERTIFICATE KEY&#8212;&#8211;<br />
&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;<br />
&nbsp;(chaining certificate 3)<br />
&#8212;&#8211;END CERTIFICATE KEY&#8212;&#8211;<br />
&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;<br />
&nbsp;(chaining certificate 2)<br />
&#8212;&#8211;END CERTIFICATE KEY&#8212;&#8211;<br />
&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;<br />
&nbsp;(chaining certificate 1)<br />
&#8212;&#8211;END CERTIFICATE KEY&#8212;&#8211;<br />
&#8212;&#8211;BEGIN RSA PRIVATE KEY&#8212;&#8211;<br />
&nbsp;(your_domain_name.key)<br />
&nbsp;&#8212;&#8211;END RSA PRIVATE KEY&#8212;&#8211;</div>
</div>
<p>This is how to check a SSL enabled FTP service (FTP Secure). See the result below:</p>
<div class="codesnip-container" >
<div class="text codesnip" style="font-family:monospace;">$ lftp -u username localhost -e &quot;debug;set ftp:ssl-protect-data true;ls;exit&quot;<br />
Password: <br />
&#8212;- Connecting to ftp.student.vu.nl (130.37.129.243) port 21<br />
&lt;&#8212; 220 Welcome to the Storage FTP service.<br />
&#8212;&gt; FEAT<br />
&lt;&#8212; 211-Features:<br />
&lt;&#8212; &nbsp;AUTH SSL<br />
&lt;&#8212; &nbsp;AUTH TLS<br />
&lt;&#8212; &nbsp;EPRT<br />
&lt;&#8212; &nbsp;EPSV<br />
&lt;&#8212; &nbsp;MDTM<br />
&lt;&#8212; &nbsp;PASV<br />
&lt;&#8212; &nbsp;PBSZ<br />
&lt;&#8212; &nbsp;PROT<br />
&lt;&#8212; &nbsp;REST STREAM<br />
&lt;&#8212; &nbsp;SIZE<br />
&lt;&#8212; &nbsp;TVFS<br />
&lt;&#8212; &nbsp;UTF8<br />
&lt;&#8212; 211 End<br />
&#8212;&gt; AUTH TLS<br />
&lt;&#8212; 234 Proceed with negotiation.<br />
&#8212;&gt; OPTS UTF8 ON<br />
Certificate: C=NL,O=Vereniging VU-Windesheim,OU=UC-IT,CN=ftp.student.vu.nl<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp;Checking against: C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp; Trusted<br />
Certificate: C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp;Checking against: C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp; Trusted<br />
Certificate: C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp;Checking against: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp; Trusted<br />
Certificate: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp;Issued by: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp; Trusted<br />
&lt;&#8212; 200 Always in UTF8 mode.<br />
&#8212;&gt; USER xxx330<br />
&lt;&#8212; 331 Please specify the password.<br />
&#8212;&gt; PASS XXXX<br />
&lt;&#8212; 230 Login successful. &nbsp; &nbsp; &nbsp; <br />
&#8212;&gt; PWD<br />
&lt;&#8212; 257 &quot;/&quot;<br />
&#8212;&gt; PBSZ 0<br />
&lt;&#8212; 200 PBSZ set to 0.<br />
&#8212;&gt; PROT P<br />
&lt;&#8212; 200 PROT now Private.<br />
&#8212;&gt; PROT P<br />
&lt;&#8212; 200 PROT now Private.<br />
&#8212;&gt; PASV<br />
&lt;&#8212; 227 Entering Passive Mode (130,37,129,243,196,139).<br />
&#8212;- Connecting data socket to (130.37.129.243) port 50315<br />
&#8212;- Data connection established<br />
&#8212;&gt; LIST<br />
&lt;&#8212; 150 Here comes the directory listing.<br />
Certificate: C=NL,O=Vereniging VU-Windesheim,OU=UC-IT,CN=ftp.student.vu.nl<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp;Checking against: C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp; Trusted<br />
Certificate: C=NL,O=TERENA,CN=TERENA SSL CA<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp;Checking against: C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp; Trusted<br />
Certificate: C=US,ST=UT,L=Salt Lake City,O=The USERTRUST Network,OU=http://www.usertrust.com,CN=UTN-USERFirst-Hardware<br />
&nbsp;Issued by: &nbsp; &nbsp; &nbsp; &nbsp;C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp;Checking against: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp; Trusted<br />
Certificate: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp;Issued by: C=SE,O=AddTrust AB,OU=AddTrust External TTP Network,CN=AddTrust External CA Root<br />
&nbsp; Trusted<br />
&#8212;- Got EOF on data connection <br />
&#8212;- Closing data socket<br />
drwxrwsr-x &nbsp; &nbsp;3 72745 &nbsp; &nbsp;513 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4096 Oct 23 14:28 public_html<br />
&lt;&#8212; 226 Directory send OK.<br />
&#8212;&gt; QUIT<br />
&#8212;- Closing control socket<br />
$</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vleeuwen.net/2009/11/howto-verify-a-ftp-ssl-connection/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
