<?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>Blog of Auzigog - Jeremy Blanchard &#187; Guides</title>
	<atom:link href="http://auzigog.com/category/guides/feed/" rel="self" type="application/rss+xml" />
	<link>http://auzigog.com</link>
	<description>ideas and guides from a nerdy college student</description>
	<lastBuildDate>Tue, 27 Jul 2010 00:53:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Setup Symfony on Mac OS X (using MAMP)</title>
		<link>http://auzigog.com/2009/05/10/setup-symfony-on-mac-os-x-using-mamp/</link>
		<comments>http://auzigog.com/2009/05/10/setup-symfony-on-mac-os-x-using-mamp/#comments</comments>
		<pubDate>Sun, 10 May 2009 22:04:01 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=393</guid>
		<description><![CDATA[
Symfony doesn&#8217;t play well with the default OS X server setup, so you will need an alternative setup. This tutorial assumes you are using MAMP but XAMPP is also an option. This tutorial will get a server up and running that works with Symfony and allow you to access your projects from <a href="http://ProjectName.localhost/">http://ProjectName.localhost/</a> Configure Server [...]
]]></description>
			<content:encoded><![CDATA[<p><img src="http://auzigog.com/wp-content/uploads/2009/04/symfony.gif" alt="symfony" title="symfony" width="448" height="122" class="aligncenter size-full wp-image-371" /><br />
Symfony doesn&#8217;t play well with the default OS X server setup, so you will need an alternative setup. This tutorial assumes you are using <a href="http://www.mamp.info/en/index.html">MAMP</a> but <a href="http://www.apachefriends.org/en/xampp-macosx.html">XAMPP</a> is also an option.</p>
<p>This tutorial will get a server up and running that works with Symfony and allow you to access your projects from <a href="http://ProjectName.localhost/">http://ProjectName.localhost/</a><br />
<span id="more-393"></span></p>
<h2>Configure Server</h2>
<ul>
<li><a href="http://www.mamp.info/en/downloads/index.html">Download the latest version of MAMP</a>. This can take a while.
</li>
<li>Install MAMP
</li>
<li>Allow MAMP&#8217;s copy of PHP, PEAR, and MySQL to run from the terminal:
</li>
</ul>
<pre lang="bash">
sudo mv /usr/bin/php /usr/bin/php-old
sudo ln -s /Applications/MAMP/bin/php5/bin/php /usr/bin/php
sudo mv /usr/bin/pear /usr/bin/pear-old
sudo ln -s /Applications/MAMP/bin/php5/bin/pear /usr/bin/pear
sudo mv /usr/bin/mysql /usr/bin/mysql-old
sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/bin/mysql
</pre>
<ul>
<li>Symfony can use a lot of memory in the development environment, so you need to edit <code>/Applications/MAMP/conf/php5/php.ini</code> to allow it scripts to use more memory. I changed mine from 8M to 200M.
</li>
</ul>
<pre lang="ini">
memory_limit = 200M ;
</pre>
<h2>Set up your project</h2>
<p>Either grab a fresh project from the <a href="http://www.symfony-project.org/installation">Symfony website</a> or start from your own existing project.</p>
<p>To make sure your project is secure (even if your server isn&#8217;t publicly accessible), put the Symfony project files <em>outside</em> your webroot (<code>/Applications/MAMP/htdocs</code>). I put mine in <code>~/workspace/ProjectName</code>.</p>
<h2>Set up a subdomain for this project</h2>
<p>To make your project accessible from <a href="http://YourProject.localhost/">http://YourProject.localhost/</a> you must edit your Apache config file.</p>
<p>For the first project you ever add, put this code at the end of <code>/Applications/MAMP/conf/apache/httpd.conf</code></p>
<pre lang="apache">
<ol>
<li>Be sure to only have this line once in your configuration
</li>
</ol>

NameVirtualHost 127.0.0.1:80
Listen 127.0.0.1:80
</pre>
<p>For each project you create, add this section of code with paths modified to reflect the location of your code.</p>
<pre lang="apache">
<VirtualHost 127.0.0.1:80>
<pre>
 ServerName YOUR_PROJECT_NAME.localhost
 DocumentRoot &quot;/Users/YOUR_USER_NAME/workspace/YOUR_PROJECT_NAME/web&quot;
 DirectoryIndex index.php
 &lt;Directory &quot;/Users/YOUR_USER_NAME/workspace/YOUR_PROJECT_NAME/web&quot;&gt;
   AllowOverride All
   Allow from All
 &lt;/Directory&gt;
</pre>
<pre>
 Alias /sf /Users/YOUR_USER_NAME/workspace/YOUR_PROJECT_NAME/lib/vendor/symfony/data/web/sf
 &lt;Directory &quot;/Users/YOUR_USER_NAME/workspace/YOUR_PROJECT_NAME/lib/vendor/symfony/data/web/sf&quot;&gt;
   AllowOverride All
   Allow from All
 &lt;/Directory&gt;
</pre>
<p></VirtualHost>
</pre>
<p>For each project, you must also edit the <code>/etc/hosts</code> file and add this line to the end:</p>
<pre lang="text">
127.0.0.1       YOUR_PROJECT_NAME.localhost
</pre>
<p>Now use the MAMP control panel to restart Apache.</p>
<h2>Database</h2>
<dl>
<dd><em>Note:</em> This section doesn&#8217;t apply to those with a fresh project generated by Symfony
</dd>
</dl>
<p>If you&#8217;re working on a pre-existing project, you need to load in any existing database tables.</p>
<p>Open the file <code>~/workspace/YOUR_PROJECT_NAME/config/databases.yml</code> and look for a section like this:</p>
<pre lang="yml">
all:
<pre>
 propel:
   class: sfPropelDatabase
   param:
     classname: PropelPDO
     dsn: 'mysql:host=localhost;dbname=DATABASE_NAME'
     username: USERNAME
     password: PASSWORD
     encoding: utf8
     persistent: true
     pooling: true
</pre>
</pre>
<p>Use phpMyAdmin (located at <a href="http://localhost/MAMP/">http://localhost/MAMP/</a>) to create a user with that password. You also need to create a database with that name and assign the user to it.</p>
<p>Now you need to create all the tables for this project and load in any fixtures. Use the terminal to browse to the root of your project directly and run the following commands:</p>
<pre lang="bash">
php symfony propel:build-sql
php symfony propel:insert-sql --no-confirmation
php symfony propel:build-all-load --no-confirmation
php symfony cache:clear
</pre>
<h2>NetBeans and Xdebug</h2>
<p>I use NetBeans PHP distribution with Xdebug for step-by-step debug support. There is a <a href="http://www.netbeans.org/kb/docs/php/configure-php-environment-mac-os.html"><em>fantastic</em> tutorial</a> to set up both using MAMP.</p>
<p>The only part of that tutorial that didn&#8217;t work was the way <code>php.ini</code> was configured.</p>
<p>First, comment out these lines at the end of <code>/Applications/MAMP/conf/php5/php.ini</code> (by placing a semicolon at the beginning of the line):</p>
<pre lang="ini">
[Zend]
<dl>
<dt>zend_optimizer.optimization_level=15
</dt>
<dt>zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.3
</dt>
<dt>zend_optimizer.version=3.3.3
</dt>
<dt>zend_extension=/Applications/MAMP/bin/php5/zend/lib/ZendExtensionManager.so
</dt>
</dl>
</pre>
<p>Now add the following lines to the end of the file instead of the ones mentioned in the tutorial:</p>
<pre lang="ini">
<dl>
<dt>Xdebug config for Mac OS X and NetBeans IDE
</dt>
</dl>

zend_extension=/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so
xdebug.default_enable = On
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.remote_log = /tmp/xdebug.log
</pre>
<p>Also I just skipped the MySQL Administrator program because I prefer to use phpMyAdmin (which comes with MAMP).</p>
<p>Finally, I can&#8217;t use normal NetBeans breakpoints to halt the code. I have to place <code>xdebug_break();</code> on the line that I want it to break on. This is slightly annoying, but having the power of a full debugger is certainly worth this small inconvenience.</p>
<p>Extras:</p>
<ul>
<li><a href="http://stringfoo.com/2008/08/25/tutorial-launching-mamp-silently-on-startup/">Learn how to start MAMP silently</a> (without the control panel window)
</li>
<li><a href="http://stringfoo.com/2007/11/07/mamp-setup-leopard/">Very detailed guide to setting MAMP up on OS X</a>
</li>
<li><a href="http://www.sitepen.com/blog/2008/05/16/supercharge-mamp/">Supercharge your MAMP Environment</a>
</li>
</ul>
<h2>Conclusion</h2>
<p>You should now be able to access your project from <a href="http://YourProject.localhost/">http://YourProject.localhost/</a></p>
<p>If you&#8217;re new to Symfony, here are some resources that will help you out:</p>
<ul>
<li><a href="http://www.symfony-project.org/book/1_2/">The Definitive Guide to Symfony</a>
</li>
<li><a href="http://www.symfony-project.org/jobeet/1_2/Propel/en/">Jobeet Tutorial</a> &#8211; A step-by-step tutorial for a real-world project
</li>
<li><a href="http://www.symfony-project.org/api/1_2/">Symfony API</a>
</li>
</ul>
<p>If you have any suggestions for improving this tutorial or if you are having any trouble with it, please leave a comment below. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/05/10/setup-symfony-on-mac-os-x-using-mamp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Symfony + Mac OS X + pdo_mysql.so</title>
		<link>http://auzigog.com/2009/04/27/symfony-mac-os-x-pdo_mysqlso/</link>
		<comments>http://auzigog.com/2009/04/27/symfony-mac-os-x-pdo_mysqlso/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 08:50:23 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=370</guid>
		<description><![CDATA[
I recently started working my way into the world of the PHP framework <a href="http://www.symfony-project.org/">Symfony</a>. While following the superb <a href="http://www.symfony-project.org/jobeet/1_2/Propel/en/">Jobeet tutorial</a>, I encountered an error involving PDO_MYSQL and Mac OS X. I spent an hour trying to trace down the problem and another hour finding a solution. And as always, when something takes me too long to solve, I write a guide for it!
]]></description>
			<content:encoded><![CDATA[<div class="boxcaption">UPDATE!</div>
<div class="box">May 10th, 2009 &#8211; This tutorial is not complete. Following these instructions will only get command line version of PDO_MYSQL working. I have written a new guide that avoids the built-in versions of PHP and Apache. <a href="http://auzigog.com/2009/05/10/setup-symfony-on-mac-os-x-using-mamp/"><strong>Read the updated tutorial &raquo;</strong></a></div>
<p>I recently started working my way into the world of the PHP framework <a href="http://www.symfony-project.org/">Symfony</a>. While following the superb <a href="http://www.symfony-project.org/jobeet/1_2/Propel/en/">Jobeet tutorial</a>, I encountered an error involving PDO_MYSQL and Mac OS X. I spent an hour trying to trace down the problem and another hour finding a solution. And as always, when something takes me too long to solve, I write a guide for it!<br />
<span id="more-370"></span></p>
<h3>The setup</h3>
<p>I tried to run this command while following the Jobeet tutorial:</p>
<pre lang="bash">php symfony propel:insert-sql</pre>
<h3>The error</h3>
<pre lang="bash">>> schema    converting "/Users/eyeRmonkey/w...obeet/config/schema.yml" to XML
>> schema    putting /Users/eyeRmonkey/works...eet/config/generated-schema.xml
>> propel    Running "insert-sql" phing task
Execution of target "insert-sql" failed for the following reason: /Users/eyeRmonkey/workspace/jobeet/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:275:1:  [wrapped: could not find driver]
<pre>
   [phing] /Users/eyeRmonkey/workspace/jobeet/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:275:1:  [wrapped: could not find driver]

 Some problems occurred when executing the task:
   build-propel.xml:275:1:  [wrapped: could not find driver]
   If the exception message is not clear enough, read the output of the task for more information  </pre>
</pre>
<h3>The root problem</h3>
<p>The distribution of PHP that comes with OS X doesn&#8217;t have the <code>pdo_mysql.so</code> library loaded. You can determine this by looking at output from <code>php -m</code>.</p>
<h3>The solution</h3>
<p>After much searching, I finally discovered the proper way to compile the <code>pdo_mysql.so</code> library. This all assumes that you have PHP and MySQL <a href="http://auzigog.com/2009/01/03/setting-up-apache-mysql-and-php-on-os-x-leopard/">installed the same way I do</a>. <a href="http://discussions.apple.com/thread.jspa?threadID=1539743&#038;tstart=75">(source)</a></p>
<p><strong>Compiling PDO_MYSQL:</strong></p>
<ol>
<li><a href="http://pecl.php.net/package/PDO_MYSQL">Download PDO_MYSQL</a>
</li>
<li>Run the following commands (replacing x.x.x with the version of PDO_MYSQL that you downloaded)
</li>
</ol>
<pre lang="bash">cd ~/Downloads/PDO_MYSQL-x.x.x/PDO_MYSQL-x.x.x
phpize
./configure '--with-pdo-mysql=shared,/usr/local/mysql'
make
sudo make install
</pre>
<p><strong>Updating your PHP configuration:</strong><br />
Now add the following two lines to the file <code>/etc/php.ini</code> under the &#8220;Dynamic Extensions&#8221; section:</p>
<pre lang="ini">extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
extension=pdo_mysql.so</pre>
<p>Save the file and you&#8217;re done.</p>
<h3>The conclusion</h3>
<p>Many people had this problem. It shouldn&#8217;t take hours of detailed searching to find a solution. Back to Symfony!</p>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/04/27/symfony-mac-os-x-pdo_mysqlso/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Easy Website on Your University of Oregon Web Space</title>
		<link>http://auzigog.com/2009/02/01/easy-website-on-your-university-of-oregon-web-space/</link>
		<comments>http://auzigog.com/2009/02/01/easy-website-on-your-university-of-oregon-web-space/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 23:25:54 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[College]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[University of Oregon]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=288</guid>
		<description><![CDATA[
NOTE: shell.uoregon.edu is now sftp.uoregon.edu Ever wanted to have your own webpage at <a href="http://uoregon.edu/~YourDuckID?">http://uoregon.edu/~YourDuckID?</a> Ever wanted to setup a clean-looking, easy-to-maintain website for a student group your are associated with? Well now the whole process is a snap! Every University of Oregon student is given space to set up their own website. It&#8217;s a fairly [...]
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-293" title="Wordpress on Your University of Oregon Web Space" src="http://auzigog.com/wp-content/uploads/2009/01/wordpress_uoregon_shell1.png" alt="Wordpress on Your University of Oregon Web Space" width="398" height="220" /></p>
<p><span style="color:red;"><strong>NOTE: shell.uoregon.edu is now sftp.uoregon.edu</strong></span></p>
<p>Ever wanted to have your own webpage at <a href="http://uoregon.edu/~jblancha">http://uoregon.edu/~YourDuckID</a>? Ever wanted to setup a clean-looking, easy-to-maintain website for a student group your are associated with? Well now the whole process is a snap! Every University of Oregon student is given space to set up their own website.</p>
<p>It&#8217;s a fairly complex process to set up all the necessary tools (PHP and MySQL) <a href="http://wiki.auzigog.com/Wordpress_on_shell.uoregon.edu">manually</a>, so I wrote a program to do it for you (mostly) automatically! All you need to do is login to your uoregon.edu account and follow a couple simple instructions.</p>
<p><span id="more-288"></span></p>
<h3>Why WordPress?</h3>
<p><a href="http://wordpress.org">WordPress</a> is tool that lets you create, design and maintain a website without knowing anything about computers or the internet. Anyone can do it! It is meant to be a tool for bloggers, but it functions perfectly for those who just want a normal website.</p>
<p>WordPress can be as simple or as powerful as you need it to be. In my opinion, it is the perfect tool for student groups because of how often management changes. With WordPress, anyone can pick it up and make any changes without any knowledge on how to create websites. The real power of WordPress is that you can create/edit pages from a web interface using an <abbr title="What You See Is What You Get">WYSIWYG</abbr> (visual) editor. You can see a demo of this web interface <a href="http://www.opensourcecms.com/blog/wordpress/admin.html">here</a> (username: admin // password: demo).</p>
<p>Other features:</p>
<ul>
<li><a href="http://wordpress.org/extend/themes/browse/popular/">Customizable themes</a> so you can easily style your website and give it it&#8217;s own distinct look.
</li>
<li><a href="http://wordpress.org/extend/plugins/browse/popular/">Amazing plugins</a> to let you add any kind of functionality to your website (e.g. adding a <a href="http://wordpress.org/extend/plugins/contact-form-7/">contact form</a> to your site).
</li>
<li>Multi-user enivronment so you can add other bloggers/editors to help you edit the website. This is especially useful for student groups with a lot of contributors.
</li>
</ul>
<div class="boxcaption">Warning: No support is guaranteed</div>
<div class="box">Before we go any further, I wanted to let everyone know that although I am writing this guide to be accessible to anyone, I also can&#8217;t promise that there will be support for it if something breaks down the road. There&#8217;s a 98% chance that nothing will ever go wrong. What you&#8217;re doing here normally requires a bit of technical knowledge, but I&#8217;ve attempted to make it easy for anyone to do. If something does go wrong, I can&#8217;t say for sure how much <a href="http://micro.uoregon.edu/">The Help Desk</a> at the UO will want to help you.</p>
<p>If you do have some problems, post a comment at the end of this post and I&#8217;ll do my best to help you out.</p></div>
<h3>Getting Started</h3>
<p>Before you can complete these instructions you will need a program that let&#8217;s you access the files on your sftp.uoregon.edu account. Accessing this account is called &#8220;SSHing&#8221; into it. This is fairly simple for Mac OS X users, but is a bit more complicated if you are using Windows.</p>
<p>You can enable shell access by going to:<br />
<a href="http://duckid.uoregon.edu">http://duckid.uoregon.edu</a><br />
Select &#8220;Manage Optional Account Access&#8221;<br />
Then hit &#8220;Enable Shell Access&#8221;</p>
<h4>Windows Users</h4>
<p><em>Note:</em> If you own a Mac, skip to the next section called <a href="#Mac_Users">&#8220;Mac Users&#8221;</a>.</p>
<p>First, you need to download and install a program called <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> (or just <a href="http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe">download v0.60</a> directly).</p>
<p>Once it is installed, run it and follow these steps.</p>
<p><img class="alignright size-full wp-image-323" title="PuTTY Host Options" src="http://auzigog.com/wp-content/uploads/2009/01/putty-host-options.png" alt="PuTTY Host Options" width="294" height="98" /><br />
Enter <em>sftp.uoregon.edu</em> under the host field. It should look the image to the right.</p>
<p>Press <em>OK</em>. You should get a message saying there is a &#8220;Security Alert&#8221;. Just press <em>Yes</em>.</p>
<p>Now you&#8217;re almost ready to go. Just enter your Duck ID (the same one you use to login to your email and blackboard) and your password. If you&#8217;re doing this for a student account, the process is exactly the same, but with the username/password that you would use to login your groups email address. It should look like this:<br />
<img class="alignnone size-full wp-image-315" title="PuTTY login screen" src="http://auzigog.com/wp-content/uploads/2009/01/putty3.png" alt="PuTTY login screen" width="499" height="276" /></p>
<p>You&#8217;re ready to move on! Go on down to the <a href="#Running_the_Script">&#8220;Running the Script&#8221;</a> section below.</p>
<h4>Mac Users</h4>
<p>Mac OS X users have it much easier because the program you need is already installed.</p>
<p><img class="alignright size-full wp-image-318" title="Spotlight Terminal Search" src="http://auzigog.com/wp-content/uploads/2009/01/spotlight-terminal-search.png" alt="Spotlight Terminal Search" width="292" height="112" />You just need to run the Terminal application. The quickest way to get it it is by using the searching for it using the search box (Spotlight) in the top right corner of the screen.</p>
<p>Once that program is up and running you just need to use your Duck ID (the same one you use to login to your email and blackboard) and your password. If you&#8217;re doing this for a student account, the process is exactly the same, but with the username/password that you would use to login your groups email address. Here&#8217;s what it looks like when I use my Duck ID (jblancha) and password:<br />
<img class="alignnone size-full wp-image-321" title="osxterminal" src="http://auzigog.com/wp-content/uploads/2009/01/osxterminal.png" alt="osxterminal" width="585" height="237" /></p>
<h3>Running the Script</h3>
<p>Now that you have SSH&#8217;ed into you account, you&#8217;re ready to run the script!</p>
<p>Type each of the following commands in and press enter after each line. The first command will take a couple moments to run, so don&#8217;t type the next one until it is done.</p>
<pre lang="bash">wget <a href="http://auzigog.com/perm/wordpress_shell.sh">http://auzigog.com/perm/wordpress_shell.sh</a>
chmod 0755 wordpress_shell.sh
./wordpress_shell.sh</pre>
<p>The last command will run the script I wrote to do <a href="http://wiki.auzigog.com/Wordpress_on_shell.uoregon.edu#The_really_long_way">all the work</a> for you.</p>
<p>The first thing you need to do is type <em>n</em> and press enter to indicate that you are not an advanced user. Now you should see a bunch of lines being output to the screen.</p>
<pre lang="txt">*** Do you want to install MySQL using the 'mysql_install_db' command? You should do this ONE TIME ONLY
Are you an advanced user who needs the MySQL passwords later? [y/n]: n
// Creating .htaccess in your public_html directory (/home6/spanst/public_html) so all files ending in .php will execute
// Creating php.cgi in your home directory (/home6/spanst) so all files ending in .php will execute
// Generating a port number (between 5000 and 6000) to run MySQL from
// For reference, the port number that MySQL is running on is: 5430
// Making a MySQL configuration file for your account
// Installing the MySQL database. This may take a few moments...
// Setting a root password for wordpress
// Creating a username and password for wordpress
// Configuring a cron job to ensure the MySQL Daemon doesn't go down
// Downloading and placing wordpress files. This may take a moment....
// Creating public_html/wp-content/uploads for uploaded images/files
// Configuring wordpress

// Here is some stuff you can ignore if you don't know what it is:
<pre>
   PORT: 5430
   MySQL 'root' account password: ########
   MySQL 'wordpressuser' account password: ########
   MySQL database for wordpress: wordpressdb
   MySQL host for connections: sftp.uoregon.edu:5430
</pre>
<p>SUCCESSS! Visit <a href="http://uoregon.edu/~spanst">http://uoregon.edu/~spanst</a> to finish the installation of your blog!</p>
<pre>
Note: Please remove index.html from your ~/public_html folder so that WordPress can actually work</pre>
</pre>
<p><em>Note:</em> Please write down the four lines that start with <em>MySQL</em> in case you or someone else ever needs those passwords to fix things down the road.</p>
<p>As the script indicates, <strong>you&#8217;re done!</strong> You can now visit <a href="http://uoregon.edu/~YourDuckID/">http://uoregon.edu/~YourDuckID/</a> to give your blog a name. When it asks you for an email address, be sure to use a real one because it that is where your username and password will be sent.</p>
<p>To login to the control panel (where you edit pages and blog posts), go to <a href="http://uoregon.edu/~YourDuckID/wp-admin/">http://uoregon.edu/~YourDuckID/wp-admin/</a>.</p>
<p>There&#8217;s some more information below that you might find helpful, but you&#8217;re basically done! If you&#8217;ve successfully used this script, please leave a comment below so I know that people are finding it useful. Spread the word to other individuals and groups so everyone can create a useful website!</p>
<h3>Extending WordPress</h3>
<p>You&#8217;re done with the important part. If you want to customize WordPress, here are some suggestions.</p>
<ul>
<li>Install a theme to give your site its own look. Check out <a href="http://wiki.auzigog.com/Wordpress_Tools#Themes">my favorite themes</a>. (<a href="http://courtneytuttle.com/2008/07/23/how-to-install-a-new-wordpress-theme/">Instructions</a>)
</li>
<li>In the control panel, go to Settings → Permalinks → Select &#8220;Day and Name&#8221; → Save Changes
</li>
<li>Add a <a href="http://wordpress.org/extend/plugins/contact-form-7/">contact form</a> to your site
</li>
<li>Add other authors/editors to your site by going to the control panel and Users → Add New
</li>
<li><a href="http://codex.wordpress.org/Akismet#Setting_Up_Akismet">Setup Akismet</a> to block spam comments on your blog posts
</li>
</ul>
<p>If you need any other help in working with WordPress, check out <a href="http://codex.wordpress.org/">their support site</a>.</p>
<p>Good luck! Please leave a comment below if you have any comments or questions!</p>
<h3>What the heck did the script do?</h3>
<p>If you&#8217;re not a big nerd, just scroll down to the comments section. If you&#8217;re a more technical user and are curious what happened, here&#8217;s an overview. You can find <a href="http://wiki.auzigog.com/Wordpress_on_shell.uoregon.edu">very detailed instructions</a> for all of this on my wiki.</p>
<ol>
<li>Use a .htaccess file to redirect all .php requests to a CGI script
</li>
<li>Use the CGI script to make sure all .php files are run under PHP5 (instead of being served as text files
</li>
<li>Install a copy of MySQL for your account on a specific port number.
</li>
<li>Create a MySQL database for WordPress
</li>
<li>Set up a cron job to make sure MySQL comes back up if the server ever restarts
</li>
<li>Download and unzip the latest version of WordPress
</li>
<li>Automatically edit your WordPress config file with all the information it has just generated
</li>
</ol>
<h3>Credits</h3>
<p>The only reason I was able to figure out this process in the first place was because of the following people</p>
<ul>
<li><a href="http://micro.uoregon.edu/unix/mysql.html">Micro&#8217;s guide to MySQL on shell</a> &#8211; Not the best instructions in the world, but absolutely necessary.
</li>
<li><a href="http://emumarketing.uoregon.edu/tristan/2008/09/30/easy-php-on-shell/">Easy PHP on shell</a> &#8211; Tristan at the EMU marketing department made most of this possible with his instructions for getting PHP files to run properly (instead of being served as text files). Tristan actually <a href="http://emumarketing.uoregon.edu/tristan/2009/01/10/getting-wordpress-working-on-shell/">wrote a WordPress installation guide</a> similar to this one last month.
</li>
<li><a href="http://twitter.com/justinmccraw">Justin McCraw</a> &#8211; Helped me remember the simplest set of steps to get this done
</li>
<li>Bruce and <a href="http://www.uoregon.edu/~spencera/">Spencer</a> at the UO for helping with specific issues I had along the way
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/02/01/easy-website-on-your-university-of-oregon-web-space/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Creating a MediaWiki API Instance Outside Installation Directory</title>
		<link>http://auzigog.com/2009/01/11/creating-a-mediawiki-api-instance-outside-installation-directory/</link>
		<comments>http://auzigog.com/2009/01/11/creating-a-mediawiki-api-instance-outside-installation-directory/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 08:24:15 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=222</guid>
		<description><![CDATA[
I&#8217;m in the process of writing mediawiki2wordpress&#8212;a plugin to allow WordPress to access and display content from a MediaWiki installation. I spent a bit of the evening figuring out how to get MediaWiki to let me trick it into thinking I was making a standard request. The method I explain here gives you access to [...]
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of writing <a href="http://github.com/auzigog/mediawiki2wordpress/tree/master">mediawiki2wordpress</a>&mdash;a plugin to allow <a href="http://wordpress.org/">WordPress</a> to access and display content from a <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> installation. I spent a bit of the evening figuring out how to get MediaWiki to let me trick it into thinking I was making a standard request.</p>
<p>The method I explain here gives you access to the <a href="http://www.mediawiki.org/wiki/API">MediaWiki API class</a> as opposed to the standard MediaWiki rendering class. Most of this code came from MediaWiki&#8217;s <span class="code">api.php</span> which you can find in <a href="http://download.wikimedia.org/mediawiki/1.13/mediawiki-1.13.3.tar.gz">MediaWiki 1.13</a>.</p>
<p>Here&#8217;s what the API output will look like for the <a href="http://en.wikipedia.org/w/api.php?action=parse&#038;page=Foobar">Foobar page on Wikipedia</a> (in XML).</p>
<p>I spent quite a bit of time poking around in the MediaWiki /includes directory and trying different hack-ish methods before <a href="http://www.mediawiki.org/wiki/API:Calling_internally#Using_API_internally_by_other_code">this page</a> that had exactly what I needed! It did need updating, but I <a href="http://www.mediawiki.org/w/index.php?title=API:Calling_internally&#038;diff=232400&#038;oldid=214333">was happy to oblige</a>. I even had this whole post written up using a sloppier approach before finding the <span class="code">FauxRequest</span> class that I explain below.<br />
<span id="more-222"></span></p>
<h3>The code</h3>
<p>Let&#8217;s start with the sample code, then go over the details.</p>
<pre lang="php" line="1">$mediawiki_root = '/Users/eyeRmonkey/www/mediawiki-test';
putenv("MW_INSTALL_PATH=$mediawiki_root");
// Initialise common code
require ($mediawiki_root . '/includes/WebStart.php');

class MediaWikiAPIWrapper {
	public function make_fake_request($params) {
		$request = new FauxRequest($params, true);

		$api = new ApiMain($request);

		// Process data &#038; use an output buffer to capture the resutls
		$api->execute();
		$result = $api->getResult();
		$data = &#038;$result->getData();

		return $data;
	}
}</pre>
<h3>Initializing</h3>
<p>The first matter of business is <strong>lines 1 through 4</strong>. These <em>need</em> to be called outside of any function or class. I spent some time trying to figure out why none of MediaWiki&#8217;s global variables were showing up in <span class="code">print_r($GLOBALS)</span> before thinking to <span class="code">require_once()</span> it outside of any functions. Duh. Make sure you get the path to your MediaWiki installation root correct (no trailing slash, obviously).</p>
<p>Most of the work get&#8217;s done on <strong>line 4</strong>. This get&#8217;s all the code ready for a standard API call from the web. This whole approach is meant to be used by an <a href="http://www.mediawiki.org/wiki/Extension_Matrix">extension</a>, so we need to play catchup by initializing the core MediaWiki code.</p>
<h3>Faking the Request</h3>
<p>The good folks at MediaWiki were are kind enough to provide us with a class specifically meant for faking an API request! Joy! It&#8217;s called <span class="code">FauxRequest</span> and it extends the <span class="code">WebRequest</span> object that is used by default for API calls. The <span class="code">FauxRequest</span> class takes an array of keys and values that represent what would&#8217;ve been passed in the URL.</p>
<p>The API manual has more information on  <a href="http://www.mediawiki.org/wiki/API:Data_formats">formats</a> and different <a href="http://www.mediawiki.org/wiki/API:Query">queries</a> you can make to the API.</p>
<p>Here is what your <span class="code">$params</span> array might look like to grab the Main Page:</p>
<pre lang="php">$data = array(
		'action' => 'parse',
		'page' => 'Main_Page'
	);</pre>
<h3>Running the API</h3>
<p><strong>Lines 10 through 15</strong> create an instance of the API and pass in our <span class="code">FauxRequest</span> object to get things rolling!</p>
<p>The <span class="code">$data</span> array will hold all of the information that you would get from a <span class="code">format=php</span> API call. As always, you could use <span class="code">print_r()</span> to display the Array for debugging purposes.</p>
<p><em>That&#8217;s it!</em></p>
<h3>mod_rewrite Issues</h3>
<p>On <a href="http://wiki.auzigog.com">my wiki</a>, the .htaccess mod_rewrite rules that I have seem to be preventing the API from functioning totally correctly. A workaround I discovered is to use the following API call: <a href="http://en.wikipedia.org/w/api.php?action=parse&#038;title=Main_Page&#038;text=%7B%7B%3AMain_Page%7D%7D"><span class="code">/api.php?action=parse&#038;title=Main_Page&#038;text={{:Main_Page}}</span></a>. This works by asking the API to translate the <span class="code">text</span> parameter into rendered text. The <span class="code">{{:Main_Page}}</span> says that the text is actually a <a href="http://en.wikipedia.org/wiki/Wikipedia:Transclusion">transclusion-ed</a> page. It&#8217;s definitely a hack, but it works on servers with weird rewrite rules for <a href="http://www.mediawiki.org/wiki/Manual:Short_URL">pretty URLs</a>.</p>
<h3>Further reading</h3>
<ul>
<li><a href="http://www.mediawiki.org/wiki/API:Query_-_Properties">API: Query Properties</a>
</li>
<li><a href="http://www.mediawiki.org/wiki/API:Expanding_templates_and_rendering">API: Expanding templates and rendering</a> &#8211; Relevant to the transclusion workaround.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/01/11/creating-a-mediawiki-api-instance-outside-installation-directory/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Quicksilver Trigger: &#8220;Show Current Track&#8221; in iTunes</title>
		<link>http://auzigog.com/2009/01/08/quicksilver-trigger-show-current-track-in-itunes/</link>
		<comments>http://auzigog.com/2009/01/08/quicksilver-trigger-show-current-track-in-itunes/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 05:08:44 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[quicksilver]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=181</guid>
		<description><![CDATA[
A while back I throw together this AppleScript to trigger Quicksilver to not only go to iTunes, but to automatically focus on the current track. (Note: When iTunes is already the front window, the command to do this is ⌘L. Features Brings iTunes to the front if it isn&#8217;t already the front window Highlights the [...]
]]></description>
			<content:encoded><![CDATA[<p>A while back I throw together this AppleScript to trigger <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> to not only go to iTunes, but to automatically focus on the current track. (<em>Note:</em> When iTunes is already the front window, the command to do this is ⌘L.</p>
<h3>Features</h3>
<ul>
<li>Brings iTunes to the front if it isn&#8217;t already the front window
</li>
<li>Highlights the track that is currently playing (if one is playing)
</li>
<li>If iTunes is already the front window, this script will hide the window (similar to using ⌘H
</li>
</ul>
<p><span id="more-181"></span></p>
<h3>Steps</h3>
<ol>
<li>Make sure <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> is installed.
</li>
<li>Copy the code below into a text file.
</li>
<li>Save that file in a directory (preferably somewhere in your home directory). Mine is saved at <span class="code">/Users/auzigog/Apple Scripts/showplayingtrack.scpt</span>.
</li>
<li>Open quicksilver by pressing your hot key (likely ⌘L) and press the arrow in the top right to open the menu. Select <em>Triggers</em>
</li>
<li>Press the + button to add a new hot key.
<ol>
<li>Into the first box, type <span class="code">~/Apple Scripts/showplayingtrack.scpt</span> (modify this if you saved it somewhere else).
</li>
<li>Press save
</li>
</ol>
</li>
<li>Assign a hot key
<ol>
<li>Select the item you just added and double-click the area that says &#8220;none&#8221;.
</li>
<li>Put your curson in the &#8220;Hot Key&#8221; box and press the keys you want to use to trigger this script. I chose ^⌘L (Ctrl + Apple + L) to mimic the built in iTunes command
</li>
</ol>
</li>
</ol>
<h3>You&#8217;re done!</h3>
<p>That&#8217;s it! Leave a comment if you find this helpful!</p>
<h3>The code</h3>
<p><br class="clear" /></p>
<pre lang="applescript">on run
	tell application "iTunes"
		if frontmost is true then
			tell application "System Events"
				set app_name to name of the first process whose frontmost is true
				set visible of process app_name to false
			end tell
		else
			set frontmost to true
			if player state is playing then
				reveal current track
			end if
		end if
	end tell
end run</pre>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/01/08/quicksilver-trigger-show-current-track-in-itunes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up Apache, MySQL and PHP on OS X Leopard</title>
		<link>http://auzigog.com/2009/01/03/setting-up-apache-mysql-and-php-on-os-x-leopard/</link>
		<comments>http://auzigog.com/2009/01/03/setting-up-apache-mysql-and-php-on-os-x-leopard/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 12:50:18 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=135</guid>
		<description><![CDATA[
I recently had to setup MySQL on Mac OS X Leopard (I was using 10.5.6). I can never find a guide that gets Apache, MySQL and PHP working using the binaries that come packaged with Leopard. I also don&#8217;t like using pre-packaged installers like XAMPP and MAMP. This guide is intended for advanced users as [...]
]]></description>
			<content:encoded><![CDATA[<p><img src="http://auzigog.com/wp-content/uploads/2009/01/mamp-300x169.jpg" alt="mamp" title="mamp" width="300" height="169" class="alignright size-medium wp-image-262" />I recently had to setup MySQL on Mac OS X Leopard (I was using 10.5.6). I can never find a guide that gets Apache, MySQL and PHP working using the binaries that come packaged with Leopard. I also don&#8217;t like using pre-packaged installers like <a href="http://www.apachefriends.org/en/xampp-macosx.html">XAMPP</a> and <a href="http://www.mamp.info/en/mamp.html">MAMP</a>. This guide is intended for advanced users as very little explanation is given for each step.</p>
<p>Please add a comment if you have any suggestions for improvement.</p>
<p><span id="more-135"></span></p>
<h3>Apache</h3>
<p>Apache comes with Leopard. Enable it by going to <em>System Preferences > Sharing > check “Web Sharing”</em></p>
<p>Edit <strong>/etc/apache2/httpd.conf</strong> in your favorite text editor.<br />
To change your root web directory from the default (<strong>/Library/WebServer/Documents</strong>), Modify your DocumentRoot on <em>line 163</em>:</p>
<pre lang="apache">DocumentRoot "/Users/yourUserNameHere/workspace"</pre>
<p>&#8230; and change your Directory settings near <em>line 190</em>:</p>
<pre lang="apache"><Directory "/Users/yourUserNameHere/workspace">
<pre>
   ...
   AllowOverride All
   ...
</pre>
<p></Directory></pre>
<p>To activate the PHP module, uncomment this near <em>line 114</em>:</p>
<pre lang="apache">LoadModule php5_module libexec/apache2/libphp5.so </pre>
<p>&#8230; and add this near <em>line 383</em> to make Apache handle .php files:</p>
<pre lang="apache">AddType application/x-httpd-php .php</pre>
<h3>MySQL</h3>
<p><a href="http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg">Download</a> and install MySQL. Install the <strong>MySQLStartupItem.pkg</strong> package as well. Go to <em>System Preferences > MySQL</em>, start MySQL and check the box to &#8220;Automatically Start MySQL Server on Startup&#8221;.</p>
<p>Change the MySQL root password:</p>
<pre lang="bash">$ mysqladmin -u root password NEWPASSWORD</pre>
<p>Fix permissions for root account</p>
<pre lang="bash">$ mysql -u root -p</pre>
<pre lang="mysql">mysql> grant all on *.* to 'root'@'%' identified by 'NEWPASSWORD';</pre>
<p>Fix the missing mysql.sock file:</p>
<pre lang="bash">$ sudo mkdir /var/mysql
$ sudo chown _mysql /var/mysql
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock</pre>
<h3>PHP</h3>
<p>PHP is already installed at <strong>/user/bin/php</strong>.</p>
<p>Create a configuration file:</p>
<pre lang="bash">$ sudo cp /etc/php.ini.default /etc/php.ini</pre>
<h3>phpMyAdmin</h3>
<p><a href="http://www.phpmyadmin.net/home_page/downloads.php">Download phpMyAdmin</a> and extract it to <strong>~/workspace/pma</strong>. Rename <strong>config.sample.inc.php</strong> to <strong>config.inc.php</strong> and open it in a text editor.</p>
<p>Near <em>line 17</em>, change your blowfish secret.</p>
<h3>PEAR</h3>
<pre lang="bash">$ curl http://pear.php.net/go-pear > go-pear.php
$ sudo php -q go-pear.php
$ sudo mkdir /usr/bin/pear
</pre>
<p>In the installer, choose to edit option and change it to <strong>/usr/bin/pear</strong></p>
<p>Edit <em>line 469</em> in <strong>/etc/php.ini</strong> to add PEAR to PHP&#8217;s include path:</p>
<pre lang="ini">include_path = ".:/usr/bin/pear"</pre>
<h3>Sources</h3>
<p>Guides I used to get this all straightened out</p>
<ul>
<li><a href="http://www.klauskomenda.com/archives/2008/10/07/installing-apache-mysql-and-php-on-leopard/">OS X Apache, MySQL, PHP guide</a>
</li>
<li><a href="http://www.procata.com/blog/archives/2007/10/28/working-with-php-5-in-mac-os-x-105/">OS X PHP/PEAR guide</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2009/01/03/setting-up-apache-mysql-and-php-on-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Hackintosh 2.0</title>
		<link>http://auzigog.com/2008/12/23/hackintosh-20/</link>
		<comments>http://auzigog.com/2008/12/23/hackintosh-20/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 10:22:48 +0000</pubDate>
		<dc:creator>Auzigog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Guides]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[Hackintosh]]></category>
		<category><![CDATA[osx86]]></category>

		<guid isPermaLink="false">http://auzigog.com/?p=100</guid>
		<description><![CDATA[
After spilling water through the fan vents of my desktop on my current hackintosh, I had to make a new one. All that needed replacing was the motherboard. I wanted to pick a board that had been put through it&#8217;s paces in the OSx86 (hackintosh) community. There was an amazing guide for the first board [...]
]]></description>
			<content:encoded><![CDATA[<p><img src="http://auzigog.com/wp-content/uploads/2008/12/apple-logo.png" alt="apple-logo" title="apple-logo" width="140" height="170" class="alignright size-full wp-image-103" />After spilling water <em>through the fan vents of my desktop</em> on my <a href="http://wiki.auzigog.com/Hackintosh_v1">current hackintosh</a>, I had to make a new one. All that needed replacing was the motherboard. I wanted to pick a board that had been put through it&#8217;s paces in the OSx86 (hackintosh) community. There was <a href="http://forum.insanelymac.com/index.php?showtopic=112708">an amazing guide</a> for the first board I picked, but it wasn&#8217;t being sold on Newegg.com anymore, so I decided on the <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813128358"><strong>Gigabyte GA-EP45-UD3P</strong></a>.</p>
<p>You can find more information about my setup on <a href="http://wiki.auzigog.com/Hackintosh_v2_%28GA-EP45-UD3P%29">my hackintosh v2 wiki page</a>. If you want to see every step I went through to get this system working, check out that page.</p>
<h3>What To Expect</h3>
<p>This guide will let you install OS X Leopard 10.5.6 from the retail disk (straight from Apple!). You&#8217;ll have a system with full functionality and minimal hacking.</p>
<p>I have not tested this setup extensively since I got it working, so I make no guaranty about it&#8217;s stability. The way I went about it isn&#8217;t the cleanest, but it works. I&#8217;m hoping <a href="http://pcwizcomputer.com/weaksauce12/">weaksauce12</a> will release a <a href="http://pcwizcomputer.com/index.php?option=com_content&#038;task=view&#038;id=149&#038;Itemid=48">Universal OSx86 Installer</a> plug-in for this board in the near future. Keep an eye out on my blog for another post involving that installation.<br />
<span id="more-100"></span></p>
<h3>Hardware</h3>
<p>Here is the hardware I used. You can poke around the <a href="http://insanelymac.com">InsanelyMac forums</a> to find instructions for your own system.<br />
Same hardware I used in <a href="http://auzigog.com/Hackintosh v1 (P5W DH Deluxe)">version 1</a>, except with a new motherboard. The motherboard is the most important factor in a hackintosh as long as you have an Intel processor and an NVIDIA video card.</p>
<ul>
<li><strong>Motherboard</strong> &#8211; GIGABYTE GA-EP45-UD3P (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813128358">newegg</a>)
</li>
<li><strong>Processor</strong> &#8211; Intel Core 2 Duo E6550 Conroe 2.33GHz (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16819115030">newegg</a>)
</li>
<li><strong>Video Card</strong> &#8211; EVGA GeForce 7600GT 256MB 128-bit PCI Express x16 (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814130062">newegg</a>)
</li>
<li><strong>RAM</strong> &#8211; CORSAIR XMS2 2GB (2 x 1GB) 240-Pin 800 (PC2 6400) (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820145034">newegg</a>)
</li>
<li><strong>DVD</strong> &#8211; SAMSUNG 20X DVD±R SATA (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16827151153">newegg</a>)
</li>
<li><strong>Power Supply</strong> &#8211; COOLER MASTER eXtreme Power Plus 460W (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817171028">newegg</a>)
</li>
<li><strong>Case</strong> &#8211; COOLER MASTER Centurion 5 Black Aluminum ATX Mid Tower (<a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16811119068">newegg</a>)
</li>
</ul>
<h3>Required Goodies</h3>
<p>Here is what you&#8217;ll need to complete this guide.</p>
<ul>
<li>Retail Leopard install disk
<dl>
<dd><em>Note:</em> Please purchase the CD and support the Apple developers!
</dd>
</dl>
</li>
<li>Download the handy <a href="http://www.mediafire.com/file/gkrzjztcnnw/UD3P-package.zip"><strong>UD3P-package</strong></a> I compiled for this motherboard. See &#8220;Credits&#8221; section below for all the original content in the package.
</li>
</ul>
<h3>Preparation</h3>
<ul>
<li>Burn grub-dfe.iso to a CD. <a href="http://www.discoapp.com/">Disco</a> is a handy app for doing this.
</li>
<li>Put the UD3P-package onto a USB flash drive.
</li>
</ul>
<h3>Steps</h3>
<ol>
<li>Boot with GRUB-DFE boot cd.
<ol>
<li>At the &#8220;fake darwin&#8221; screen it will say have a prompt that says &#8220;Boot:&#8221;. Switch out the boot cd for retail leopard.
</li>
<li>When prompted for a 2-digit hex number, press &#8220;fe&#8221; to boot to the Leopard CD.
</li>
</ol>
<dl>
<dd><em>Note:</em> I used retail verison 10.5.0, but any retail disk should work.
</dd>
</dl>
</li>
<li>Once you&#8217;re in the installer, format your drive (Utilities > Disk Utility). Make sure the partition type is set to GUID.
<ol>
<li>Install OS X normally.
</li>
<li>When installation is done, restart (you might have to do this forcefully) and place the boot cd back in.
</li>
<li>Boot to the boot CD as before.
</li>
<li>This time when you&#8217;re prompted for a 2-digit hex number, enter &#8220;80&#8243; to boot to your hard drive.
</li>
</ol>
</li>
<li>Follow the on-screen steps to complete the Leopard installation
<ol>
<li>When prompted to register, press CTRL+Q and select &#8220;skip&#8221;
</li>
<li>When you create your account, keep in mind you can only have each username once. If you plan to migrate files from a previous OS X installation, pick a different &#8220;Name&#8221; and &#8220;Short Name&#8221;
</li>
<li>Once this is done, it should load you into OS X.
</li>
</ol>
</li>
<li>Install all updates (including 10.5.6) from Software Update. Restart when directed to.
<ol>
<li>Boot from the GRUB-DFE disk again.
</li>
<li>Use -v at the real Darwin screen so you have verbose output. The update should apply itself during the boot process. When you see &#8220;MACH Reboot&#8221;, go ahead and forcefully restart the computer.
</li>
<li>Boot from the GRUB-DFE disk yet again. <img src='http://auzigog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</li>
<li>Keep installing updates and restarting until there are no updates left in Software Update.
</li>
</ol>
</li>
<li>Run Chameleon_DFE_for_Hard_Disk.dmg (located in the UD3P-package) (<em>Note:</em> I don&#8217;t think this step is completely necessary since we install PC_EFI v9 later, but it definitely doesn&#8217;t hurt to do it anyway).
<ol>
<li>Drag all the files in the &#8220;Kexts for Chameleon&#8221; folder into the &#8220;Extra Contents&#8221; shortcut in Chameleon&#8217;s .dmg.
</li>
<li>Run Chameleon_DFE_for_Hard_Disk.pkg to install the bootloader.
</li>
<li>Reboot with the boot CD. Use -x to boot into safe mode
</li>
</ol>
</li>
<li>Use Universal OSx86 Installer
<ol>
<li>Select the following options:
<ul>
<li>Do OSx86_Essentials as motherboard
</li>
<li>Boot timeout to 5
</li>
<li>Native resolution to 1920&#215;1200
</li>
<li>Install PC_EFI v9 Chameleon
</li>
<li>Apply Ethernet EFI String (Time Machine Fix)
</li>
<li>Apply EFI String for video card (I selected NVIDIA DeForce 7600FT 256MB for my card)
</li>
<li>Click &#8220;Add extra kexts&#8221; and select all the files in the &#8220;Kexts for Uinstaller&#8221; folder.
</li>
</ul>
</li>
<li>Eject boot CD.
</li>
<li>Restart
</li>
</ol>
</li>
<li><strong>Everything should be working!!</strong>
</li>
</ol>
<h3>Finishing up</h3>
<ol>
<li>System Preferences > Sound > Output > Switch it to &#8220;internal speakers&#8221;
</li>
<li>Disable sleep and the &#8220;turn off monitor&#8221; features. For me, every time it went to sleep or turned off my monitor, it would come back with a blue screen.
</li>
<li>Migration Assistant
<ol>
<li><ins datetime="2008-12-24T23:54:57+00:00">When selecting parts you want to restore, make sure you <strong>do not select Applications or Library</strong>. Restoring the Library folder could ruin all the work you&#8217;ve done to get your system running.</ins>
</li>
<li>Press Transfer and let it go to work
</li>
<li>You can start installing applications while you wait. I have <a href="http://wiki.auzigog.com/OS_X_Leopard_Software">a helpful list here</a>. Some programs might not expect to be installed on one account (your current one) and then be used on another account (the on you&#8217;re transferring), so use with caution.</s>
</li>
</ol>
</li>
<li><a href="http://forum.insanelymac.com/index.php?showtopic=141769&#038;st=0&#038;p=1010298&#entry1010298">Fix drive icons</a> if you wish
</li>
</ol>
<h3>That&#8217;s all!</h3>
<p>You should have a working system at this point. Please add a comment below if this worked for you or if it broke everything or if you just love me. Please share your own experience if it wasn&#8217;t based on my guide. Thanks to everyone at InsanelyMac for creating an awesome community of hackintosh-ers!</p>
<p>Bonus:<br />
<a href='http://auzigog.com/wp-content/uploads/2008/12/xbenchwithdisk.txt'>XBench Results (with hardisk)</a>: 135.72<br />
<a href='http://auzigog.com/wp-content/uploads/2008/12/xbenchwithoutdisk.txt'>XBench Results (without hardisk)</a>: 201.97	</p>
<h3>Credits</h3>
<ul>
<li>Adapted heavily from <a href="http://basshead.wordpress.com/2008/10/29/hackintosh-the-next-generation-part-2/">basshead&#8217;s blog</a>, <a href="http://forum.insanelymac.com/index.php?showtopic=141769&#038;st=0&#038;p=1005841&#entry1005841">the thread</a> (for the EP45-UD3R board), and <a href="http://forum.insanelymac.com/index.php?showtopic=112708&#038;st=1280&#038;p=1007877&#entry1007877">weaksauce12&#8242;s amazing guide</a> (for the P45-DS3L board)
</li>
<li><a href="http://pcwizcomputer.com/index.php?option=com_content&#038;task=view&#038;id=149&#038;Itemid=48">Universal OSx86 Installer (Uinstaller.app)</a> &#8211; Please donate to PCWiz for the incredible amount of work he has put into this application.
</li>
<li><a href="http://www.mediafire.com/?nzrbuzjnyum">Chameleon DFE for Hard disk</a>
</li>
<li><a href="http://hackint0sh.org/forum/showthread.php?t=56516">grub-dfe.iso</a> (<a href="http://www.mediafire.com/?l0wizjmfymn">download</a>)
<dl>
<dd>An alternative is to use the <a href="http://forum.insanelymac.com/index.php?showtopic=113288">boot-132 &#8220;modified kexts&#8221; ISO</a> (<a href="http://www.mediafire.com/?1ne1zbl4znv">download</a>)
</dd>
</dl>
</li>
<li><a href="http://forum.insanelymac.com/index.php?showtopic=124794&#038;pid=911892&#038;mode=threaded&#038;start=#entry911892">.zip for audio kext</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://auzigog.com/2008/12/23/hackintosh-20/feed/</wfw:commentRss>
		<slash:comments>104</slash:comments>
		</item>
	</channel>
</rss>

