<?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>Teft's Blog &#187; PHP</title>
	<atom:link href="http://teft.mimiandteft.com/category/web-tech/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://teft.mimiandteft.com</link>
	<description>Ramblings about music, software, and photography</description>
	<lastBuildDate>Mon, 14 Dec 2009 19:05:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zeep Mobile is Cool! And some PHP snippets :)</title>
		<link>http://teft.mimiandteft.com/2009/11/21/zeep-mobile-is-cool-and-some-php-snippets/</link>
		<comments>http://teft.mimiandteft.com/2009/11/21/zeep-mobile-is-cool-and-some-php-snippets/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 10:52:51 +0000</pubDate>
		<dc:creator>Teft</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Tech]]></category>
		<category><![CDATA[Zeep Mobile]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[examples]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile web apps]]></category>
		<category><![CDATA[zeep]]></category>

		<guid isPermaLink="false">http://teft.mimiandteft.com/?p=118</guid>
		<description><![CDATA[Zeep Mobile - Cool SMS gateway, that's free!  Recently I had to build a web app that utilized SMS messages to cell phones .. The client was on a shoestring budget and needed an a gateway that wasn't going to cost anything to get up and running.  Luckily, he found ZeepMobile.
It's a really cool system, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zeepmobile.com/">Zeep Mobile - Cool SMS gateway</a>, that's free!  Recently I had to build a web app that utilized SMS messages to cell phones .. The client was on a shoestring budget and needed an a gateway that wasn't going to cost anything to get up and running.  Luckily, he found <a href="http://www.zeepmobile.com/">ZeepMobile</a>.</p>
<p>It's a really cool system, and simple API if you understand how to use <a href="http://php.net/manual/en/book.curl.php">cURL in PHP</a>.  Setup is a snap .. You enter a unique name for your app, which is used for mobile users to send messages to your server end point, and then you get your API key and secret code.  Oh, you also setup your mobile urls for <span id="more-118"></span>sending and receiving messages .. This is for security, so Zeep verifies that the messages are from the right server etc.</p>
<p>In order for a user to receive messages from your app, they have to register their phone number through the zeep panel, which is very streamlined and no hassle.  (one less data transaction to build)</p>
<p><strong>Here's a code snippet to send a message using the Zeep API:</strong></p>
<blockquote><p>// ADD TO YOUR CONFIG FILE<br />
define('ZEEPSECRECTKEY', 'yoursecret');<br />
define('ZEEPAPIKEY', 'yourapikey');<br />
define('ZEEP_ENDPOINT', 'https://api.zeepmobile.com/messaging/2008-07-14/send_message');</p>
<p>// SEND MESSAGE ZEEP API CODE<br />
// LETS SAY YOU GET THE MSG FROM A POST FIELD<br />
$messageText = strip_tags(trim($_POST['messageText']));<br />
$httpDate = gmdate('D, d M Y H:i:s \G\M\T');<br />
$postData = 'user_id=' . $yourUsersUniqueID . '&amp;body=' . urlencode($messageTextEncoded);<br />
$canonicalString = ZEEPAPIKEY . $httpDate . $postData;<br />
$hashSig = base64_encode(hash_hmac('sha1', $canonicalString, ZEEPSECRECTKEY, TRUE));<br />
$headers = array();<br />
$headers[] = "Authorization: Zeep " . ZEEPAPIKEY . ":" . $hashSig;<br />
$headers[] = "Date: $httpDate";</p>
<p>$c = curl_init(ZEEP_ENDPOINT);<br />
curl_setopt($c, CURLOPT_POST, 1);<br />
curl_setopt($c, CURLOPT_HTTPHEADER, $headers);<br />
curl_setopt($c, CURLOPT_POSTFIELDS, $postData);<br />
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);<br />
$result = curl_exec($c);<br />
curl_close($c);</p>
<p>if($result == 'OK') {<br />
// SUCCESS!<br />
} else {<br />
// FAILED - ECHO TO SEE ERROR<br />
}</p></blockquote>
<p>Pretty simple indeed .. Now let's say you want to <strong>receive a message from a mobile user</strong>...</p>
<blockquote><p>$event = trim($_POST['event']);<br />
switch ($event) {<br />
case 'SUBSCRIPTION_UPDATE':<br />
$userId = intval($_POST['uid']);<br />
$phoneNumber = mysql_escape_string(trim($_POST['min']));</p>
<p>// DO SOMETHING</p>
<p>break;</p>
<p>case 'MO':<br />
$userId = intval($_POST['uid']);<br />
$msg = mysql_escape_string(trim($_POST['body']));</p>
<p>// DO SOMETHING</p>
<p>break;<br />
}</p></blockquote>
<p>This is very simple, too .. Zeep POSTS data to your 'mobile in' URL that you specify in your settings panel.</p>
<p>The first type of message is SUBSCRIPTION_UPDATE.  Zeep sends this message out to let you know that a user has officially activated a phone number for use with your app.  I'd recommend storing the phone number in a db for later reference.  The second type of message is MO, which stands for 'mobile originated' .. And you guessed it, it's a message.  It simply contains the users ID and the message.</p>
<p>Hopefully you can see that the Zeep api is simple to use.  A coder can build pretty awesome 'web to SMS to web' apps fast with Zeep.  If you've built an app using Zeep, post a comment with a link!</p>
<p>Teft</p>
<p>The PHP snippets are under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT license</a> .. You are free to use and modify the code anywhere you'd like!</p>
<script type="text/javascript" class="owbutton" src="http://onlywire.com/button" title="Zeep Mobile is Cool! And some PHP snippets :)" url="http://teft.mimiandteft.com/2009/11/21/zeep-mobile-is-cool-and-some-php-snippets/"></script><div class="tweetmeme_button" style="float: right; margin-top: 12px; margin-right: 1px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fteft.mimiandteft.com%2F2009%2F11%2F21%2Fzeep-mobile-is-cool-and-some-php-snippets%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fteft.mimiandteft.com%2F2009%2F11%2F21%2Fzeep-mobile-is-cool-and-some-php-snippets%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://teft.mimiandteft.com/2009/11/21/zeep-mobile-is-cool-and-some-php-snippets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Switching to Dedicated Hosting?  FreeBSD AMP Starter Guide</title>
		<link>http://teft.mimiandteft.com/2007/07/06/switching-to-dedicated-hosting-freebsd-amp-starter-guide/</link>
		<comments>http://teft.mimiandteft.com/2007/07/06/switching-to-dedicated-hosting-freebsd-amp-starter-guide/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 23:45:03 +0000</pubDate>
		<dc:creator>Teft</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[Web Tech]]></category>

		<guid isPermaLink="false">http://teft.mimiandteft.com/2007/07/06/switching-to-dedicated-hosting-freebsd-amp-starter-guide/</guid>
		<description><![CDATA[A few days ago my post on the song "This Old Heart" brought down my hosting plan.  Dead in the water.  Server not responding.  I had no choice, I must upgrade my hosting plan!  Shared hosting sucks ... it's great for budget setups and low traffic sites.  But, when the [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago my post on the song "<a href="http://teft.mimiandteft.com/2007/06/29/shamanic-song-inspiration-from-earth-this-old-heart/">This Old Heart</a>" brought down my hosting plan.  Dead in the water.  <strong>Server not responding</strong>.  I had no choice, I must upgrade my hosting plan!  Shared hosting sucks ... it's great for budget setups and low traffic sites.  But, when the traffic hits hard, the shared hosting plan sinks deep below the water.  So I decided it was time to get a <strong>dedicated</strong> server.</p>
<p>I prefer <a href="http://www.freebsd.org/">FreeBSD</a> because I've got most of my experience with that OS, plus it generally comes locked down in the security world.  You only open up what you need to have open.  I decided to write a quick basic <strong>beginners</strong> guide on getting a <strong>FreeBSD</strong> machine up and running so you can run a <a href="http://www.wordpress.org">WordPress</a> installation.</p>
<p><span id="more-36"></span></p>
<p>WordPress is built on <a href="http://www.php.net/">PHP</a> with a <a href="http://www.mysql.org/">MySQL</a> database, and FreeBSD runs PHP and MySQL applications perfectly.  Let's assume the hosting company gives you a fresh FreeBSD install.  In order to run WordPress we need to install:</p>
<ul>
<li>MySQL Database Server</li>
<li><a href="http://httpd.apache.org/">Apache Web Server</a></li>
<li>PHP</li>
</ul>
<h2>Shell Access</h2>
<p>The first thing you'll get from the hosting company is the <a href="http://en.wikipedia.org/wiki/Secure_Shell">Shell Access</a> user information and the servers IP address.  From OSX you'll open up the "Terminal" app (Applications &gt; Utilities &gt; Terminal.app) and run the following command:</p>
<p><code>ssh -l username 123.123.123.123</code></p>
<p>Where 'username' is the accounts shell access username.  If it's the first time secure shelling into the server you'll probably receive a message like:</p>
<p><code>The authenticity of host 'yourserver.com (123.123.123.123)' can't be established.<br />
DSA key fingerprint is 1c:a1:a1:a1:a1:a1:76:a1:a1:c3:14:a1:a1:a1:f6:fe.<br />
Are you sure you want to continue connecting (yes/no)?</code></p>
<p>Type 'yes' so you can continue.  It will then prompt you for the password .. enter it, and you should be in the system.</p>
<p>Next, you need to switch to the 'root' user.  This is the user account that controls everything on the system.  The root user has supreme power!  Protect it's identity with care. Type in:</p>
<p><code>su root</code></p>
<p>It will ask for the password, which should be the same password from the hosting company unless they specified the 'root' password separately from the shell access password.</p>
<p>Now that you have full access to your machine, it's time to start installing the required server software for WordPress.  One of the great pleasures of using the 'BSD' varieties is the "ports collection", and <a href="http://www.freebsd.org/ports/index.html">FreeBSD's ports</a> are particularly great!  They are usually located under '/usr/ports' and contain <strong>thousands</strong> of open source applications that are ready to build and install.</p>
<h2>MySQL 5 Server</h2>
<p>Our first application to install is MySQL.  Type in:</p>
<p><code>cd /usr/ports/databases/</code></p>
<p>Then type the 'ls' command to see a listing of all the files in the directory.  Pay close attention to the files that start with 'mysql'.  What we want is 'mysql50-server' ... MySQL 5.1 is still in beta so it's best not to use it for production purposes (unless your feeling adventurous).  Type in:</p>
<p><code>cd mysql50-server</code></p>
<p>The ports collection uses 'make' commands to build and install the applications.  What's great about the ports is they actually compile the applications specifically for your OS installation.  If you use the PKG commands, they install pre-compiled binaries, which could yield to system incompatibilities.  Also, the ports check for required apps in your system and if it doesn't find the app, it installs it!  Very smooth system.  To install MySQL 5.0 server, type the following command while in the /usr/local/ports/databases/mysql50-server/ directory:</p>
<p><code>make install</code></p>
<p>It'll blast off a huge list of files that it's compiling, and will probably take 10-20 minutes depending on the systems speed.  Once complete, it will give you some details about starting up the MySQL engine and databases.  First thing is to switch over to the directory '/usr/local/bin/' type in 'ls'.  This will again show a list of files in the directory.  Make sure you see about 15 files that start with 'mysql'.  Now type:</p>
<p><code>./mysql_install_db</code></p>
<p>This will install the standard databases into your MySQL installation.  Now type:</p>
<p><code>./mysqld_safe &amp;</code></p>
<p>The '&amp;' sign at the end of the command tells FreeBSD to run this command in the background (because it's starting a server!)  Hopefully, your MySQL engine started.  If it gave an error that talks about not being able to start with the databases, then you need to grant MySQL user rights to the database folders.  Type:</p>
<p><code>cd /var/db</code></p>
<p>Now type:</p>
<p><code>chown -R mysql mysql</code></p>
<p>This will only work if you are the root user, so make sure you have 'su root'ed already.  What this accomplishes is giving the 'mysql' user access rights to the mysql database folders.  Now type:</p>
<p><code>cd /usr/local/bin<br />
./mysqld_safe</code></p>
<p>That should startup the MySQL engine.  Now you need to set the root password for the MySQL engine.  Type:</p>
<p><code>./mysqladmin -u root -p 'mynewpassword'</code></p>
<p>With the mysql root password set, you need to wipe out the anonymous users that mysql comes installed with.  Type:</p>
<p><code>./mysql -u root -p</code></p>
<p>It will ask for your mysql password, type it in.  Now you are in the mysql client.  You can SQL commands in this client, if you desire.  Or you can run large sql scripts (several megs in size) for restoring large databases.  In the mysql client, type:</p>
<p><code>use mysql</code></p>
<p>DELETE FROM user WHERE User='';</p>
<p>CREATE DATABASE wordpressdb;</p>
<p>quit</p>
<p>The 'CREATE DATABASE wordpressdb' command creates a new database for your future WordPress installation.  Now you need to reload mysql for the user changes to take effect.  Type:</p>
<p><code>./mysqladmin -u root -p reload</code></p>
<p>It will ask for your password, type it in.  And that's it on the MySQL side.</p>
<h2>Apache 1.3 HTTP Server</h2>
<p>Moving on, we now install the Apache Web server.  It's another fine open source project that many companies rely on for there web needs everyday.  There two kinds of apache servers out right now, 1.3 and 2.x.  Both are great.  Apache 1.3 is rock solid and fine tuned.  Apache 2.0 is solid, as well, but has more advanced newer features that many people don't need right now.  For this tutorial, we're going to use Apache 1.3 with SSL.  Type:</p>
<p><code>cd /usr/ports/www/apache13-ssl</code></p>
<p>make install</p>
<p>That will get apache compiled and installed.  After it's complete, you want to check it and make sure it starts up.  Type:</p>
<p><code>cd /usr/local/sbin/</code></p>
<p>./apachectl start</p>
<p>It should say something like 'apache started'.  That's a good thing.  Load up a browser window and type in your IP address for the server.  If it pulls up the 'welcome to apache' page, you're half way through!</p>
<h2>PHP5 with Extensions</h2>
<p>Before we edit the Apache httpd.conf configuration file, we need to get php compiled and installed.  We're going to use PHP5 because it's solid, and most apps are compatible with PHP5.  Type:</p>
<p><code>cd /usr/ports/lang/php5-extensions</code></p>
<p>make install</p>
<p>I use the 'php5-extensions' port because there is some fundamental plugins that PHP5 needs to work with most applications out in the PHP open source world.  The first thing that will happen is a configuration menu appear with a ton of extensions.  You DO NOT need them all.  Some core extensions that are recommended:</p>
<ul>
<li>CURL</li>
<li>MySQL</li>
<li>MySQLi</li>
<li>PCRE</li>
<li>GD</li>
<li>XML</li>
</ul>
<p>Most of the essentials are already checked.  Leave those alone.  Make sure CURL, MySQLi, and GD are checked.  The great thing about this, is if you need to add an extension you come back to this directory and type:</p>
<p><code>make config</code></p>
<p>And it will pop up the config screen again for you to rebuild the php binary and it's extensions.  I love the ports!  Once you selected your extensions, hit ok.  If it doesn't compile, then one of your extensions that you selected is not playing fair.  Type in 'make config' and deselect the extension (you should be able to tell from the error messages on the build).  Then type:</p>
<p><code>make install</code></p>
<p>After it's installed, type:</p>
<p><code>make clean</code></p>
<p>This command will clean up all of the installation files that have been created for each application (MySQL, Apache, PHP, and all there dependencies).</p>
<h2>Configuring Apache (httpd.conf)</h2>
<p>Now it's time to edit the Apache httpd.conf configuration file .... oooooohh.  Getting close.  The hard way of editing these configuration files is using the 'edit' command.  I prefer to copy the file to my local hard drive and use something more user friendly like OSX's TextEdit.app.  But, 'edit' still works fine.  The file should be located under:</p>
<p><code>cd /usr/local/etc/apache</code></p>
<p>The file is called 'httpd.conf'.  Type:</p>
<p><code>edit httpd.conf</code></p>
<p>Again, you must have 'root' access to save your edits of this file.  First thing to do is to look for a line like:</p>
<p><code>#Listen 12.34.56.78:80</code></p>
<p>And below it type in:</p>
<p><code>#Listen 12.34.56.78:80<br />
Listen 123.123.123.123:80<br />
Listen 123.123.123.123:443</code></p>
<p>Where 123.123.123.123 is your IP address for the server.  This instructs the apache server to listen to port 80 (standard http) and port 443(secure http) on the servers IP address.  Now find the section that uses the 'LoadModule' command.  The list should read like:</p>
<p><code>LoadModule usertrack_module   libexec/apache/mod_usertrack.so<br />
LoadModule log_forensic_module libexec/apache/mod_log_forensic.so<br />
LoadModule unique_id_module   libexec/apache/mod_unique_id.so<br />
LoadModule setenvif_module    libexec/apache/mod_setenvif.so<br />
&lt;IfDefine SSL&gt;<br />
LoadModule ssl_module         libexec/apache/libssl.so<br />
&lt;/IfDefine&gt;</code></p>
<p>Type in on the next line:</p>
<p><code>LoadModule php5_module        libexec/apache/libphp5.so</code></p>
<p>The next section refers to those modules by using the 'AddModule' directive.  The list should like:</p>
<p><code>AddModule mod_usertrack.c<br />
AddModule mod_log_forensic.c<br />
AddModule mod_unique_id.c<br />
AddModule mod_so.c<br />
AddModule mod_setenvif.c<br />
&lt;IfDefine SSL&gt;<br />
AddModule mod_ssl.c<br />
&lt;/IfDefine&gt;</code></p>
<p>Type in on the next line:</p>
<p><code>AddModule mod_php5.c</code></p>
<p>Around line 450 of the httpd.conf file, you'll find a block of directives like this:</p>
<p><code>&lt;IfModule mod_dir.c&gt;<br />
&lt;IfModule mod_php3.c&gt;<br />
&lt;IfModule mod_php4.c&gt;<br />
DirectoryIndex index.php index.php3 index.html<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php4.c&gt;<br />
DirectoryIndex index.php3 index.html<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php3.c&gt;<br />
&lt;IfModule mod_php4.c&gt;<br />
DirectoryIndex index.php index.html<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php4.c&gt;<br />
DirectoryIndex index.html<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</code></p>
<p>Change this block to this:</p>
<p><code>&lt;IfModule mod_dir.c&gt;<br />
&lt;IfModule mod_php3.c&gt;<br />
&lt;IfModule mod_php4.c&gt;<br />
DirectoryIndex index.php index.php3 index.html<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php4.c&gt;<br />
DirectoryIndex index.php3 index.html<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php3.c&gt;<br />
&lt;IfModule mod_php4.c&gt;<br />
DirectoryIndex index.php index.html<br />
&lt;/IfModule&gt;<br />
&lt;IfModule !mod_php4.c&gt;<br />
DirectoryIndex index.html<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;<br />
&lt;IfModule mod_php5.c&gt;<br />
DirectoryIndex index.php index.html index.htm<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</code></p>
<p>&lt;IfModule mod_php5.c&gt;<br />
AddType application/x-httpd-php .php<br />
AddType application/x-httpd-php-source .phps<br />
&lt;/IfModule&gt;</p>
<p>This does two things ... it tells the apache server to handle .php and .phps files with PHP processor.  And it tells apache to treat files named 'index.php' as directory files (like index.html).  These lines are very important ... without them, php files won't parse.</p>
<p>Now, save the file.  If your using 'edit', hit the escape key and select the save file feature.  You now need to restart apache.  Type:</p>
<p><code>cd /usr/local/sbin/</code></p>
<p>./apachectl restart</p>
<p>If you made no errors in the configuration file, it should say that apache restarted.  If you have problems, then it will say that it couldn't restart because of the errors in the configuration file (fix them!)</p>
<p>You can load your WordPress files into the /usr/local/www/data directory.  This directory is what the apache server treats as the default web directory for calling files.  <strong>But first</strong>, create a file called test.php and load it into the directory by typing:</p>
<p><code>cd /usr/local/www/data<br />
touch test.php</code></p>
<p>Now edit that file by typing:</p>
<p><code>edit test.php</code></p>
<p>Type in:</p>
<p><code>&lt;?php</code></p>
<p>phpinfo();</p>
<p>?&gt;</p>
<p>Save the file.  Go to your web browser and type in http://your.ip.address/test.php.  If you see a list of your PHP's configuration, then you've installed PHP with Apache correctly.  If you see:</p>
<p><code>&lt;?php</code></p>
<p>phpinfo();</p>
<p>?&gt;</p>
<p>Then apache is not parsing PHP files with the PHP parser.  Back track and fix the errors!</p>
<p>The last step (if you don't configure apache virtual hosts), is to walk through the install process for WordPress.  If you've gotten this far, then the <a href="http://codex.wordpress.org/Installing_WordPress">WordPress installation tutorial</a> should be enough to get you going.  I do NOT recommend this setup to be the de-facto configuration.  Lots more configuration adjustements and fine tunings must be made to all three of the applications to have a 'hardended' and performance grade server.</p>
<p>Wow, this post was a lot longer than I expected.  I'm going to save configuring apache hosts for a separate post.  <strong>Stay tuned for my virtual hosts post!</strong></p>
<script type="text/javascript" class="owbutton" src="http://onlywire.com/button" title="Switching to Dedicated Hosting?  FreeBSD AMP Starter Guide" url="http://teft.mimiandteft.com/2007/07/06/switching-to-dedicated-hosting-freebsd-amp-starter-guide/"></script><div class="tweetmeme_button" style="float: right; margin-top: 12px; margin-right: 1px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fteft.mimiandteft.com%2F2007%2F07%2F06%2Fswitching-to-dedicated-hosting-freebsd-amp-starter-guide%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fteft.mimiandteft.com%2F2007%2F07%2F06%2Fswitching-to-dedicated-hosting-freebsd-amp-starter-guide%2F" height="61" width="51" /></a></div>]]></content:encoded>
			<wfw:commentRss>http://teft.mimiandteft.com/2007/07/06/switching-to-dedicated-hosting-freebsd-amp-starter-guide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
