<?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>Sir Robbie Rob &#187; Uncategorized</title>
	<atom:link href="http://sirrobbierob.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://sirrobbierob.com</link>
	<description>Makes Sense to Me!</description>
	<lastBuildDate>Wed, 22 Feb 2012 15:57:38 +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>Whoa There</title>
		<link>http://sirrobbierob.com/2009/05/06/whoa-there/</link>
		<comments>http://sirrobbierob.com/2009/05/06/whoa-there/#comments</comments>
		<pubDate>Wed, 06 May 2009 17:19:14 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=764</guid>
		<description><![CDATA[It feels like it&#8217;s been forever since the site has even crossed my mine. I was browsing around on Amazon.com just a minute ago and the SRR blog popped into ...]]></description>
			<content:encoded><![CDATA[<p>It feels like it&#8217;s been forever since the site has even crossed my mine. I was browsing around on Amazon.com just a minute ago and the SRR blog popped into my head. I thought I was brush off the dust and make a quick and pointless post.</p>
<p>Nothing much going on with me. I&#8217;m still trying to kickstart some things with myself and figure out my own workflow for getting things done. It&#8217;s coming along slowly but that&#8217;s better than nothing. I picked up a Moleskin and started keeping a To-Do list of the simplest things. You know like &#8220;Wipe butt after going #2&#8243; or &#8220;Remember to pee in the shower while water is running&#8221;. Nothing is more embarassing than your wife wondering why there&#8217;s dried yellow spots in the bath tube. The list has been going awesome! Totally awesome.</p>
<p>What else? What else?</p>
<p>In early March I went to the orientation meeting for Raleigh&#8217;s public access station, RTN. I met this guy Tony there who&#8217;s in the process of trying to get some comic and animations off the ground. I told him about some of the stuff I&#8217;ve done and we hit it off. We&#8217;re now working on some projects together, one of them being a short horror film called Mary. I&#8217;ll definitely be posting more about the stuff we&#8217;re doing. But that&#8217;s pretty much it for now.</p>
<p>There are a few other things I want to post about but think they all deserve their own posts. I&#8217;ll get around to those soon&#8230;maybe sometime this year. Hopefully. Some of the things I want to post about: Atlanta Supercross, Jax Supercross, Canon XH-1A, Suzuki RM-250 Project, Editing, Shooting Guns, Pimpin&#8217; Ain&#8217;t Easy (Yes it is).</p>
<p>Something to look forward to.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/05/06/whoa-there/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Changes to the Site</title>
		<link>http://sirrobbierob.com/2009/03/17/changes-to-the-site/</link>
		<comments>http://sirrobbierob.com/2009/03/17/changes-to-the-site/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 18:38:57 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=746</guid>
		<description><![CDATA[You may have noticed some changes to sirrobbierob.com. It&#8217;s that time of year where I get bored of things and need to change something up. The biggest change is the ...]]></description>
			<content:encoded><![CDATA[<p>You may have noticed some changes to sirrobbierob.com. It&#8217;s that time of year where I get bored of things and need to change something up.</p>
<p>The biggest change is the site design. I got tired of looking at the maroon vomit of the last theme. Since I&#8217;m not really in the mood to work on a theme from the ground up I decided to use one from WooThemes. I put together a simple logo and poof&#8230;finished. Nice and simple I think.</p>
<p>The other change was getting rid of Entrecard. For the past couple weeks my interest in the application has been dying off. As much as I like having people reading the random crap that comes out of my mind, I&#8217;m don&#8217;t want to over load the site with ads. This isn&#8217;t something I&#8217;m trying to make money at, it would be nice but still isn&#8217;t my goal. Plus I don&#8217;t think there is much money to make from ads on a diarrhea posting. Then came the recent Entrecard announcement and the stuff that played out on their forums.  Graham, founder of Entrecard, has proven time and time again the kind of person he is. To put it in the nicest words I know how, the guy is a douche bag. No matter what positive things I was getting out of Entrecard,  I&#8217;m not going to support and promote a tool (referring to Graham the tool, not the Entrecard tool) like that.  I fully intend to  continue supporting the blogs and friends I&#8217;ve made through the service. Hopefully, you will continue reading this blog.</p>
<p>Those are the major changes with the site. I did make  some other smalls things but nothing worth mentioning.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/03/17/changes-to-the-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reader Appreciation</title>
		<link>http://sirrobbierob.com/2009/02/18/reader-appreciation/</link>
		<comments>http://sirrobbierob.com/2009/02/18/reader-appreciation/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 04:15:53 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=729</guid>
		<description><![CDATA[I wanted to take a minute and thank all of the readers that come by my site. I get so caught up with things that I haven&#8217;t been showing any ...]]></description>
			<content:encoded><![CDATA[<p>I wanted to take a minute and thank all of the readers that come by my site. I get so caught up with things that I haven&#8217;t been showing any love to you guys and gals. A BIG thank you to all of you.</p>
<p>I also want to send a HUGE thank you out to the entrecarders that have written recommendations for the site. Every time I get a recommendation I get giddy like a little kid. If my mom lived closer I would probably show them to her like I would when I got an A on a report card&#8230;Yeah I&#8217;m guessing on that one. I don&#8217;t remembering getting any A&#8217;s. te he.</p>
<p>I know it&#8217;s not a lot but I want to share the recommendations for everyone else and give these guys and gals some link love.</p>
<p><em>100% Canucklehead approved! Not something to be taken lightly. To say this gent is kinda blogosphere royalty is akin to saying Amy Winehouse kinda like the taste of crack &#8230; &#8211; <a href="http://www.canucklehead.ca/blog/" target="_blank">Life with Canucklehead</a></em></p>
<p><em>An interesting site .I enjoyed reading the posts and the images are great too.So I highly recommend this one&#8230;10 out of 10,for sure.Keep up the awesome stuff <img src='http://sirrobbierob.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; Jesse Blogs It All (Blog no longer exists <img src='http://sirrobbierob.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> )</em></p>
<p>I don&#8217;t want to show any favoritism but I will. This one&#8217;s my favorite.</p>
<p><em>You&#8217;ve got to see why SIR ROBBIE ROB got an extremely horrible eyesight! I had quite a good laugh reading some of his posts. I admit I am a lurker most of the time and this blog is certainly one of my hangouts. It&#8217;s definitely worth every minute being here. You&#8217;ve got to see it for yourself! Adding to this blog&#8217;s appeal is the zero percentage of declining advert requests. Quick approval on requests and I just love to advertise again and again in this blog! &#8211; <a href="http://www.lainyonline.com/" target="_blank">Lainy&#8217;s Musing</a></em></p>
<p>I can&#8217;t thank all of you enough. Mucho gracias.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/18/reader-appreciation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Thought of the Day</title>
		<link>http://sirrobbierob.com/2009/02/18/thought-of-the-day/</link>
		<comments>http://sirrobbierob.com/2009/02/18/thought-of-the-day/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 21:38:35 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=728</guid>
		<description><![CDATA[A random thought popped into my head that I want to share with you. I&#8217;ve been using the men&#8217;s restroom for quite a long time (It&#8217;s been 10 years since ...]]></description>
			<content:encoded><![CDATA[<p>A random thought popped into my head that I want to share with you. I&#8217;ve been using the men&#8217;s restroom for quite a long time (It&#8217;s been 10 years since the gender reassignment operation) and I&#8217;m noticing some disturbing things. A large percentage of guys don&#8217;t wash their hands. They go to the urinal, unzip, and pull out their little buddy. After finishing up they quickly head for the door hoping no one notices. We do.</p>
<p>Big deal, everyone knows that, you might be saying to yourself. If you think about it, it&#8217;s a pretty big deal. A big disgusting deal. Let&#8217;s go through an example of why it&#8217;s a big deal.</p>
<p>Bob goes to the bathroom to relieve his bladder. He pulls out his little friend and does his business. Once finished he shakes his buddy&#8230;one too many times, pretty much masturbating. Then he darts out of the restroom without visiting the sink.</p>
<p>A few minutes later you run into Bob in the hallway. During the normal greetings with Bob, you shake hands. Maybe you even do the handshake followed by the shoulder bump and hand on the back. word. While conversing you happen to wipe your face with the hand Bob shook. Hmmm you like that? Yeah you do.</p>
<p>After this short conversation you go back to your desk to eat that bag of popcorn you just popped. Man&#8230;your fingers sure got greasy. Why not lick that butter off your fingers? Yeah like that. Quick question for you&#8230;How did Bob taste?</p>
<p>Nasty, right?</p>
<p>Now imagine this same encounter with Bob happening with 10 of your co-workers. You all have something in common&#8230;you&#8217;ve had Bob&#8217;s penis all over you.</p>
<p>Once again, imagine this same encounter with Bob, but instead of him doing a #1 he went #2. Yeah&#8230;you&#8217;ve pretty much just tossed his salad.</p>
<p>I want you to think about that the next time you go to shake someone&#8217;s hand. Most likely they didn&#8217;t wash their hands.</p>
<p>If you&#8217;re like me, you keep a mental list of the people that don&#8217;t wash their hands. Even the ones that &#8220;wash&#8221; their hands for 4 seconds. Not good enough. I keep the mental list so I make sure I don&#8217;t shake that person&#8217;s hand. I&#8217;m not about to have some guy&#8217;s junk all over me without getting dinner first. So yes, it&#8217;s a pretty big deal.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/18/thought-of-the-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tip of the Day: Checking Connections in ITDS</title>
		<link>http://sirrobbierob.com/2009/02/17/tip-of-the-day-checking-connections-in-itds/</link>
		<comments>http://sirrobbierob.com/2009/02/17/tip-of-the-day-checking-connections-in-itds/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:16:43 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=753</guid>
		<description><![CDATA[To view a list of open connections against your IBM Tivoli Directory Server (LDAP) you can use netstat. netstat –an &#124;grep 389 It won’t give you a ton of information, ...]]></description>
			<content:encoded><![CDATA[<p>To view a list of open connections against your IBM Tivoli Directory Server (LDAP) you can use netstat.</p>
<p><code>netstat –an |grep 389</code></p>
<p>It won’t give you a ton of information, really just the IP address of the machine requesting information. If you want to get more specific information about the LDAP connections, run a base scope query on the monitoring service.</p>
<p><code>ldapsearch –D cn=root –w password –s base –b “cn=connections,cn=monitors” objectclass=*</code></p>
<p>output:</p>
<pre>connection=71116 : 192.168.55.171 : 2009-02-18 23:50:00 GMT  : 0 : 1 : UID=WPSBIND,OU=robscomputergarage,c=us :  :
connection=73411 : 192.168.55.165 : 2009-02-19 02:29:58 GMT  : 0 : 669 : CN=ROOT :  :</pre>
<p>This information tells us a little more about what&#8217;s going on with the connections.</p>
<p><code>connection=***</code> is the connection number</p>
<p><code>xxx.xxx.xx.xxx</code> is the IP address of the client.</p>
<p><code>yyyy-yy-yy</code> is the date when the connection was first established</p>
<p><code>zz:zz:zz GMT</code> is the time the connection was made. It also shows the timezone of the connection.</p>
<p>The <code>0</code> after the timestamp is showing how many operations are pending</p>
<p><code>669</code> is the number of operations that have been completed on that connection</p>
<p><code>CN=ROOT</code> or <code>UID=WPSBIND</code> is the BindDN making the connection.</p>
<p>The very last field, blank in my example (<code>: :</code>) is the type of connection being made. It&#8217;s only valid if SSL/TLS is being used.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/17/tip-of-the-day-checking-connections-in-itds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Change the Default Port for the ITPM console</title>
		<link>http://sirrobbierob.com/2009/02/15/change-the-default-port-for-the-itpm-console/</link>
		<comments>http://sirrobbierob.com/2009/02/15/change-the-default-port-for-the-itpm-console/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 21:17:59 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=754</guid>
		<description><![CDATA[IBM Tivoli Provisioning Manager&#8217;s web console, by default, uses port 9080. There was an environment I was working in that required the port to be changed to meet security guidelines. ...]]></description>
			<content:encoded><![CDATA[<p>IBM Tivoli Provisioning Manager&#8217;s web console, by default, uses port 9080. There was an environment I was working in that required the port to be changed to meet security guidelines.</p>
<p>Here are the steps I took to change the port the Websphere application used.</p>
<p>1. Login to the Websphere admin console:</p>
<p>https://localhost:9080/admin</p>
<p>2. Navigate to <code>Servers -&gt; Application Servers, choose "server1", then "Web Container"</code>, then HTTP Transport</p>
<p>Choose the entry with port 9080. A configuration page will display, change the port here and save.</p>
<p>3. Then navigate to <code>Environment -&gt; Virtual Hosts</code>, choose &#8220;default_host&#8221;, then host aliases.</p>
<p>Choose the entry with port 9080. A configuration page will display, change the port here (same as above) and save.</p>
<p>Now, restart ITPM (tio stop, tio start) and now you can login using the new port number. <a href="http://%3cfull-hostname%3e/"></a></p>
<p>http://localhost:&lt;new port number&gt;/tcWebUI/</p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/15/change-the-default-port-for-the-itpm-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gathering Access Control Lists (ACL) Information in ITDS</title>
		<link>http://sirrobbierob.com/2009/02/14/gathering-access-control-lists-acl-information-in-itds/</link>
		<comments>http://sirrobbierob.com/2009/02/14/gathering-access-control-lists-acl-information-in-itds/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 21:21:33 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=755</guid>
		<description><![CDATA[There may be cases when you&#8217;re trying to write data, delete entries, or read entries on your IBM Tivoli Directory Server (ITDS) and you encounter a &#8220;Insufficient Access&#8221; error message. ...]]></description>
			<content:encoded><![CDATA[<p>There may be cases when you&#8217;re trying to write data, delete entries, or read entries on your IBM Tivoli Directory Server (ITDS) and you encounter a &#8220;Insufficient Access&#8221; error message. It many cases this is due to the access control lists (ACL) limiting the users ability to perform these actions. You can check how your ACLs are setup with the following information.</p>
<p><strong>ITDS 5.2</strong> <strong>&amp; 6.0</strong></p>
<p><code>ldapsearch -D cn=root -w &lt;password&gt; -b "BaseDN" -s base "objectclass=*" aclentry aclpropagate aclsource entryowner ownerpropagate ownersource ibm-filterAclEntry ibm-filterAclInherit ibm-effectiveAcl</code></p>
<p>default output:</p>
<pre>o=robscomputergarage,c=us
ownersource=default
ownerpropagate=TRUE
aclsource=default
aclpropagate=TRUE
entryowner=access-id:CN=ROOT
ibm-effectiveACL=group:CN=ANYBODY:restricted:rsc:normal:rsc:system:rsc
aclentry=group:CN=ANYBODY:system:rsc:normal:rsc:restricted:rsc</pre>
<p><strong>ITDS 6.1 &amp; 6.2</strong></p>
<p><code>idsldapsearch -D cn=root -w &lt;password&gt; -b "BaseDN" -s base "objectclass=*" +ibmaci</code></p>
<p>default output:</p>
<pre>o=robscomputergarage,c=us
ownerpropagate=TRUE
ownersource=default
aclpropagate=TRUE
aclsource=default
entryowner=access-id:CN=ROOT
ibm-effectiveAcl=group:CN=ANYBODY:restricted:rsc:system:rsc:normal:rsc
aclentry=group:CN=ANYBODY:normal:rsc:system:rsc:restricted:rsc</pre>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/14/gathering-access-control-lists-acl-information-in-itds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting DB2 in a TPM 3.1 Environment</title>
		<link>http://sirrobbierob.com/2009/02/12/troubleshooting-db2-in-a-tpm-31-environment/</link>
		<comments>http://sirrobbierob.com/2009/02/12/troubleshooting-db2-in-a-tpm-31-environment/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 21:22:27 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=756</guid>
		<description><![CDATA[I want to share some general troubleshooting information for DB2 in regards to IBM Tivoli Provisioning Manager 3.1 environments. 90% of the problems I&#8217;ve encountered can be solved by these ...]]></description>
			<content:encoded><![CDATA[<p>I want to share some general troubleshooting information for DB2 in regards to IBM Tivoli Provisioning Manager 3.1 environments. 90% of the problems I&#8217;ve encountered can be solved by these steps and having a general understanding of how ITPM&#8217;s handles it&#8217;s data.</p>
<h3>Starting DB2</h3>
<p>When you start ITPM it will fail if DB2 isn&#8217;t already running. For whatever reasons, they didn&#8217;t include an autostart of DB2 that exists in other products, like ITDS.</p>
<p><strong>Unix</strong><br />
<code>$db2start</code><br />
You should see the following output if successfully started</p>
<pre><em>11/28/2008 08:32:56     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.</em></pre>
<p><strong>Windows</strong><br />
From the services window, start the service “DB2 &#8211; &lt;instance_name&gt;”<br />
Default service name in ITIO / ITPM 3.1 is “DB2 – DB2-0”</p>
<p><span id="more-756"></span>Once you think DB2 is started, you can verify that it is running using the netstat command.<br />
<code>netstat –an |grep 50000</code> – verify port is LISTENING</p>
<h3>DB2 Processes</h3>
<p>When DB2 is up and running, you will notice there are a lot of processes that refer to db2 running.</p>
<p><strong>UNIX</strong></p>
<p>db2fmd<br />
db2dasrrm<br />
db2fmcd<br />
db2wdog<br />
db2sysc<br />
db2ckpwd<br />
db2gds<br />
db2syslog<br />
db2ipccm<br />
db2tcpcm<br />
Db2resync<br />
db2srvlst<br />
db2agent (LDAP)<br />
db2fmp<br />
db2agent (TIOINTER)<br />
db2loggr (TC)<br />
db2loggw (TC)<br />
db2dlock (TC)<br />
db2pfchr<br />
db2pclnr<br />
db2event (DB2DETAILDEADLOCK)</p>
<p><strong>Windows</strong></p>
<p><strong><a href="http://www.robscomputergarage.com/wp-content/uploads/2009/02/db2proc.gif"><img class="aligncenter size-medium wp-image-81" title="db2proc" src="http://www.robscomputergarage.com/wp-content/uploads/2009/02/db2proc-300x201.gif" alt="db2proc" width="300" height="201" /></a></strong></p>
<p>Db2 running on Windows is thread-based (not process-based), so you will only see one db2syscs for all of the instances.</p>
<p>A useful tool is <code>db2_local_ps</code>. It will list all DB2 processes running on a UNIX system.</p>
<h3><strong>ITPM&#8217;s Connection to DB2</strong></h3>
<p>ITPM uses two mechanisms for connecting to DB2. The first one is a established through java using the connection information found in the $TIO_HOME/config/dcm.xml. This file stores the db2 driver path, db2 alias table name, db username, and the encrypted password.  ITPM will decrypt the password as needed to establish a connection to the DB. When experiencing connection errors, verify the information in this file is correct.</p>
<pre>&lt;config&gt;
&lt;database&gt;
&lt;type&gt;db2&lt;/type&gt;
&lt;driver&gt;COM.ibm.db2.jdbc.app.DB2Driver&lt;/driver&gt;
&lt;url&gt;jdbc:db2:TC&lt;/url&gt;
&lt;name&gt;TC&lt;/name&gt;
&lt;username&gt;db2inst1&lt;/username&gt;
&lt;password&gt;QJsdAjUEHi8=&lt;/password&gt;
&lt;/database&gt;
&lt;/config&gt;</pre>
<p>The other connection uses the J2C Kula user information stored in the Websphere Application Server.  You can reference this information though the WAS admin console, navigate to <code>Security -&gt; JAAS Configuration -&gt; J2C Authentication Data</code>.  If for some reason you need to update the userID or password to connect to the database, you need to update both the $TIO_HOME/config/dcm.xml and the Kula user.</p>
<p>To test a connection to the database use the following commands.  You can run these commands from the command line on a Linux/UNIX system.  On Windows you must run these from a db2 command line.</p>
<p><code>db2 connect to &lt;db_name&gt; user &lt;db_user&gt; using &lt;db_user_password&gt;<br />
example: db2 connect to TC user db2inst1 using password</code></p>
<p>Useful commands<br />
<code>db2 list tables – lists all tables under schema name you are logged in as<br />
db2 list tables for all – lists all tables in the database (all schemas)<br />
db2 describe table &lt;table_name&gt; – describes table &lt;table_name&gt;</code></p>
<h3><strong>ITPM&#8217;s DB2 Tables</strong></h3>
<p>TPM utilizes a series of scripts to build its DB2 tables.  The directory $TIO_HOME/sql contains all of the scripts.  The script that builds the schema is the $TIO_HOME/sql/db2/dbschema.sql.  This script is called on every reinit,  and will drop and add every table in the database.  Use this script to research what the tables look like in the database as well as researching constraint information.</p>
<h3><strong>Useful TPM Tables</strong></h3>
<p>DCM_OBJECTS – contains a list of all dcm_objects (ID is same in UI). Important dcm_object is ID=0, name=KANAHA which represents TIO (NOT the server that TIO is running on). Hovering over an object will return the object ID stored in this table</p>
<p>PROPERTIES – contains all properties for all dcm_objects. All system wide variables are stored in this table under id=0 (KANAHA)</p>
<p>DCM_OBJECT_WORKFLOW – lists all workflows associated with an object</p>
<p>WORKFLOW4 – contains all workflows ASCII source code (NOTE:  There are several associated tables that contain compiled workflow information)</p>
<h3><strong>Order of XML Import</strong></h3>
<p>When importing an xml file regardless of the order you place objects in your file, objects are loaded in a predefined order.  The tool parses the entire file being loaded and populates a data structure such that objects can be loaded in this order.  There are a couple of objects that do require a 2 pass technique to be loaded.  This is due to the fact that they may contain references to objects further down the list to be loaded.  The second pass picks up these few exceptions.</p>
<p>The order of import:</p>
<pre>Device Model Category
Device Model
Discovery
RequireDement Specifications
Resource Type Specifications
Address Space
Subnetwork
vlan
customer
ACL
raid-redundancy
storage-function-type
storage-policy-setting
storage-template
Volume-container-setting
SAN
storage-allocation-pool
storage-subsystem
Event-type-specifications
Custom Event Customer
Event Subscription
Power Unit
Switch
Load Balancer
Boot Server
Software Distribution Applications
Software Module
Software Category
Software
Installable package
Software Patch
Software Stack
Cluster Admin Server
Blade Admin Server
Spare Pool
Virtual IP
Software Applications Module
Objective Analyzer Type
Terminal Server
Servers
Monitoring Application
Monitoring Configuration
Group Monitoring Configuration
Virtual Server Template
Logical Cluster
Image
Deployment Plan Template
Deployment Plan
Module
Third Party Software Packages
File Repository
Report Category
SP Service
SP Subscription
Kanaha Config
Cluster Domain

<em>2nd pass</em>
subnetwork
Switch
Storage-subsystem
Server
Load-Balancer</pre>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/12/troubleshooting-db2-in-a-tpm-31-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring a Proxy Server in a ITDS Environment</title>
		<link>http://sirrobbierob.com/2009/02/10/configuring-a-proxy-server-in-a-itds-environment/</link>
		<comments>http://sirrobbierob.com/2009/02/10/configuring-a-proxy-server-in-a-itds-environment/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:24:00 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=757</guid>
		<description><![CDATA[IBM Tivoli Directory Server (ITDS) is IBM&#8217;s LDAP server. If you have any IBM applications (Websphere, Lotus, Tivoli, Rational, etc) in your environment there is a good chance you&#8217;re running ...]]></description>
			<content:encoded><![CDATA[<p>IBM Tivoli Directory Server (ITDS) is IBM&#8217;s LDAP server. If you have any IBM applications (Websphere, Lotus, Tivoli, Rational, etc) in your environment there is a good chance you&#8217;re running this. It&#8217;s part of IBM&#8217;s middleware stack (Websphere Application Server, ITDS, and DB2) and they leave very little room for compatibility with other brands.</p>
<p>In 6.0 of ITDS, they introduced a proxy server. The main feature of the proxy server is scalability. It does this by distributing directory entries over a set of directory servers, instead of a single server.</p>
<p>I get a lot of requests for setting up proxy servers. I&#8217;m finding many of these are due to people having a hard time figuring out IBM&#8217;s documentation. To help simplify the process I&#8217;m going to show how I configured a proxy server with a back end server in a AIX environment.</p>
<p>In my example, I&#8217;m going to have two instances (proxy and back end) on a single AIX 5.3 system and I&#8217;ll be using ITDS 6.0 FP7. I start off by creating a instance for the back end, load it with sample data, and then I will configure the proxy.<br />
<span id="more-757"></span></p>
<h2>Configuring the Back End Servers</h2>
<p>1. Create the first back end ITDS Instance</p>
<p><code>idsicrt -I backend01 -e seedforbackend -n</code></p>
<p>2. Configure the ITDS database</p>
<p><code>idscfgdb -I backend01 -a backend01 -w password -t backend01 -l /home/backend01</code></p>
<p>3. Configure the admin DN</p>
<p><code>idsdnpw -I backend01 -u cn=root -p password</code></p>
<p>4. Configure a suffix for the environment (I&#8217;m using o=ibm,c=us because I will be using the sample.ldif</p>
<p><code>idscfgsuf -I backend01 -s o=ibm,c=us</code></p>
<p>5. Import the sample data ldif shipped with ITDS. The ldif is found in /opt/IBM/ldap/V6.x/examples</p>
<p><code>idsldif2db -I backend01 -i sample.ldif</code></p>
<p>6. Start the backend server</p>
<p><code>idsslapd -I backend01</code></p>
<p>7. Run a quick ldapsearch test</p>
<p><code>ldapsearch -D cn=root -w <em>password</em> -s sub -b "" objectclass=*</code></p>
<h2>Configuring the Proxy</h2>
<p>1. Configure the instance for the proxy</p>
<p><code>idsicrt -I proxy -e seedforproxy -n</code></p>
<p>2. Set the admin DN and password</p>
<p><code>idsdnpw -I proxy -u cn=root -p <em>password</em> -n</code></p>
<p>3. Set the suffix for the proxy instance</p>
<p><code>idscfgsuf -I proxy -s o=ibm,c=us -n</code></p>
<p>4. Now, we need to crypto sync the proxy instance with the back end instance. In my case this is being done on the same server. I will just copy the ibmslapddir.ksf from the backend&#8217;s directory to the proxy&#8217;s directory. This is a short cut for synching two instances. It also only works when you&#8217;re copying the file between servers that are almost the same. Meaning servers that are the same operating system, hardware, etc.</p>
<p><code>cp /home/backend/idss*/etc/ibmslapddir.ksf /home/proxy/idss*/etc/ibmslapddir.ksf</code></p>
<p>Listing out the ITDS instances, my environment looks like this:</p>
<p><code>idsilist -a</code></p>
<pre>Directory server instances:

--------------------------------------
Instance 1:

Name: proxy
Version: 6.0
Location: /home/proxy
Description: IBM Tivoli Directory Server Instance V6.0
IP Addresses: All available
Port: 389
Secure Port: 636
Admin Daemon Port: 3538
Admin Daemon Secure Port: 3539
Type: Directory Server

--------------------------------------
Instance 2:

Name: backend
Version: 6.0
Location: /home/backend
Description: IBM Tivoli Directory Server Instance V6.0
IP Addresses: All available
Port: 1389
Secure Port: 1636
Admin Daemon Port: 3540
Admin Daemon Secure Port: 3541
Type: Directory Server</pre>
<p>Next, I need to configure the proxy instance with a global admin group.</p>
<p>5. Start the proxy instance in &#8216;configuration only mode&#8217;</p>
<p><code>idsslapd -I proxy -a</code></p>
<p>6. Add a admin member on the <strong>backend</strong> server. First, create a ldif file with the following:</p>
<p><code>vi /tmp/globaladmingroupmember.ldif</code><br />
add:</p>
<pre>dn: cn=manager,cn=ibmpolicies
objectclass: person
sn: manager
cn: manager
userpassword: password</pre>
<p>Next we need to add this to the backend server.</p>
<p><code>idsldapadd -p 1389 -D cn=root -w password -f /tmp/globaladmingroupmember.ldif</code></p>
<p>expected output:<br />
<code>adding new entry cn=manager,cn=ibmpolicies</code></p>
<p>At this point I need to make an update to the <code>global admin group</code>. This is because cn=root (or local administrators in the <code>ibmslapd.conf</code> file) bind against the proxy server will give administrative access to the proxy schema and proxy configuration <strong>only</strong>. In order to obtain administrative access to the data in the backend servers you must bind as a global admin group member against the proxy server. This is why it&#8217;s important to have global admin group members.</p>
<p>7. Create a ldif file with the following:</p>
<p><code>vi /tmp/modifyglobaladmingroup.ldif</code><br />
add:<br />
<code>dn: globalGroupName=GlobalAdminGroup,cn=ibmpolicies<br />
changetype: modify<br />
add: member<br />
member: cn=manager,cn=ibmpolicies</code></p>
<p>This will make the user cn=manager,cn=ibmpolicies a member of the GlobalAdminGroup group.</p>
<p>8. Add the modifyglobaladmingroup.ldif</p>
<p><code>idsldapadd -p 1389 -D cn=root -w password -f /tmp/globaladmingroupupdate.ldif<code><br />
output:<br />
<code>modifying entry globalGroupName=GlobalAdminGroup,cn=ibmpolicies</code></code></code></p>
<p>9. I need to configure my proxy instance to actually be a proxy install. To do this I need to change the server from a RDBM backend to a proxy backend (It will have no database backend).</p>
<p><code>vi /tmp/changeserver.ldif</code><br />
add:</p>
<pre>dn: cn=Configuration
changetype: modify
replace: ibm-slapdServerBackend
ibm-slapdServerBackend: PROXY</pre>
<p>At this point the proxy instance is still in &#8216;Configuration Only Mode&#8217;, so I can a ldapmodify to make the change.</p>
<p><code>idsldapadd -p 389 -D cn=root -w password -f /tmp/changeserver.ldif</code><br />
output:<br />
<code>modifying entry cn=Configuration</code></p>
<p><strong>Note: Pay attention to the port number. This change needs to be made on the proxy NOT on the backend.</strong></p>
<p>10. Add suffix and enable distributed groups<br />
<code>vi /tmp/proxysuffix.ldif</code><br />
add:</p>
<pre>dn: cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
changetype: modify
add: ibm-slapdSuffix
ibm-slapdSuffix: cn=ibmpolicies
ibm-slapdSuffix: cn=pwdpolicy
ibm-slapdSuffix: o=ibm,c=us
-
replace: ibm-slapdProxyEnableDistDynamicGroups
ibm-slapdProxyEnableDistDynamicGroups: true
-
replace: ibm-slapdProxyEnableDistGroups
ibm-slapdProxyEnableDistGroups: true</pre>
<p><code>idsldapmodify -D cn=root -w password -f /tmp/proxysuffix.ldif</code><br />
output:<br />
<code>modifying entry cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration</code></p>
<p>11. Now I need to let the proxy server now about the backend server.</p>
<p><code>vi /tmp/backendcfg.ldif</code><br />
add:</p>
<pre>dn: cn=backend, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: backend
ibm-slapdProxyBindMethod: Simple
ibm-slapdProxyConnectionPoolSize: 5
ibm-slapdProxyDN: cn=root
ibm-slapdProxyPW: password
ibm-slapdProxyTargetURL: ldap://backend01.robscomputergarage.com:1389
objectClass: top
objectClass: ibm-slapdProxyBackendServer
objectClass: ibm-slapdConfigEntry</pre>
<p>Add the entry into the proxy server.<br />
<code>idsldapadd -p 389 -D cn=root -w password -f /tmp/backendcfg.ldif</code></p>
<p>output:<br />
<code>adding new entry cn=backend, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory,cn=Schemas, cn=Configuration</code></p>
<p>12. Add a backend server group for each backend server. In my case it&#8217;s only 1.</p>
<p><code>vi /tmp/servergroup.ldif</code><br />
add:<br />
pre&gt;dn: cn=serverGroup, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration<br />
cn: serverGroup<br />
ibm-slapdProxyBackendServerDN: cn=backend,cn=ProxyDB,cn=Proxy<br />
Backends,cn=IBM Directory,cn=Schemas,cn=Configuration<br />
objectclass: top<br />
objectclass: ibm-slapdConfigEntry<br />
objectclass: ibm-slapdProxyBackendServerGroup</p>
<p>Add it on the proxy.<br />
<code>idsldapadd -p 389 -D cn=root -w password -f /tmp/config/servergroup.ldif</code></p>
<p>output:<br />
<code>adding new entry cn=serverGroup, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration</code></p>
<p>13. The last configuration step is to tell the proxy how the data will be stored across the backends.</p>
<p>In my examples I have three subtrees I need to worry about.<br />
<code>cn=ibmpolicies<br />
cn=pwdPolicy<br />
o=ibm,c=us</code></p>
<p>Created a ldif file.</p>
<p><code>vi /tmp/splits.ldif</code><br />
add:</p>
<pre>dn: cn=cn=ibmpolicies split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: cn=ibmpolicies split
ibm-slapdProxyNumPartitions: 1
ibm-slapdProxyPartitionBase: cn=ibmpolicies
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplitContainer

dn: cn=split1, cn=cn=ibmpolicies split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: split1
ibm-slapdProxyBackendServerDN: cn=backend,cn=ProxyDB,cn=Proxy Backends,cn=IBM Directory,cn=Schemas,cn=Configuration
ibm-slapdProxyPartitionIndex: 1
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplit

dn: cn=cn=pwdpolicy split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: cn=pwdpolicy split
ibm-slapdProxyNumPartitions: 1
ibm-slapdProxyPartitionBase: cn=pwdpolicy
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplitContainer

dn: cn=split1, cn=cn=pwdpolicy split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: split1
ibm-slapdProxyBackendServerDN: cn=backend,cn=ProxyDB,cn=Proxy Backends,cn=IBM Directory,cn=Schemas,cn=Configuration
ibm-slapdProxyPartitionIndex: 1
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplit

dn: cn=o=ibm,c=us split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: o=ibmc=us split
ibm-slapdProxyNumPartitions: 1
ibm-slapdProxyPartitionBase: o=ibm,c=us
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplitContainer

dn: cn=split1, cn=o=ibm,c=us split, cn=ProxyDB, cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration
cn: split1
ibm-slapdProxyBackendServerDN: cn=backend,cn=ProxyDB,cn=Proxy Backends,cn=IBM Directory,cn=Schemas,cn=Configuration
ibm-slapdProxyPartitionIndex: 1
objectclass: top
objectclass: ibm-slapdConfigEntry
objectclass: ibm-slapdProxyBackendSplit</pre>
<p>Add that to the proxy instance.<br />
<code>idsldapadd -p 389 -D cn=root -w password -f /tmp/splits.ldif</code></p>
<p>output:</p>
<pre>adding new entry cn=cn=ibmpolicies split, cn=ProxyDB, cn=Proxy
Backends, cn=IBM Directory, cn=Schemas, cn=Configuration

adding new entry cn=split1, cn=cn=ibmpolicies split, cn=ProxyDB,
cn=Proxy Backends, cn=IBM Directory, cn=Schemas, cn=Configuration

adding new entry cn=cn=pwdpolicy split, cn=ProxyDB, cn=Proxy Backends,
cn=IBM Directory, cn=Schemas, cn=Configuration

adding new entry cn=split1, cn=cn=pwdpolicy split, cn=ProxyDB, cn=Proxy
Backends, cn=IBM Directory, cn=Schemas, cn=Configuration

adding new entry cn=o=ibm,c=us split, cn=ProxyDB, cn=Proxy Backends,
cn=IBM Directory, cn=Schemas, cn=Configuration

adding new entry cn=split1, cn=o=ibm,c=us split, cn=ProxyDB, cn=Proxy
Backends, cn=IBM Directory, cn=Schemas, cn=Configuration</pre>
<p>Finally the configuration of the proxy server is complete. At this point I need to start up the proxy in normal mode. Right now, it&#8217;s still in the &#8216;Configuration Only Mode&#8217;. It&#8217;s also a good idea to restart the <code>ibmslapd</code> on the backend server.</p>
<p>Stop:<br />
<code>idsslapd -I proxy -k</code><br />
Start:<br />
<code>idsslapd -I proxy</code></p>
<p>Stop:<br />
<code>idsslapd -I backend -k</code><br />
Start:<br />
<code>idsslapd -I backend</code></p>
<h2>Wrap Up</h2>
<p>Once the backend and proxy instance are running, can you run the following search against the proxy:</p>
<p><code>ldapsearch -p 389 -D cn=root -w password -b o=ibm,c=us -s base objectclass=*</code></p>
<p>If you ran the search you would have seen:<br />
<code>ldap_search: Insufficient access</code><br />
This is because the proxy does not allow cn=root access for anything except for updating proxy schema and configuration. This is the reason we setup the admin</p>
<p>The proper way to run the search would be to use that global admin I created instead of cn=root.</p>
<p><code>ldapsearch -D cn=manager,cn=ibmpolicies -w password -b o=ibm,c=us -s base objectclass=*</code><br />
output:</p>
<pre>o=IBM,c=US
objectclass=top
objectclass=organization
o=IBM</pre>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/10/configuring-a-proxy-server-in-a-itds-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup Apache, PHP, and Mysql in Mac OSX Leopard</title>
		<link>http://sirrobbierob.com/2009/02/09/setup-apache-php-and-mysql-in-mac-osx-leopard/</link>
		<comments>http://sirrobbierob.com/2009/02/09/setup-apache-php-and-mysql-in-mac-osx-leopard/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:24:43 +0000</pubDate>
		<dc:creator>SirRobbieRob</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sirrobbierob.com/?p=758</guid>
		<description><![CDATA[I don&#8217;t consider myself a web developer by any means. But I do have multiple web sites and I like to play around with the latest web applications (WordPress, Concrete5, ...]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t consider myself a web developer by any means. But I do have multiple web sites and I like to play around with the latest web applications (WordPress, Concrete5, Drupal, etc) that come out. I have learned over the years not to use my live servers for testing or playing around. So I have setup a test environment on my local Mac OSX system. I want to show you how I setup Apache, PHP, and Mysql on my Mac (Some refer to it as MOXAMP or MAMP) for handling the development of my websites.</p>
<p>One of my favorite features in <a href="http://www.apple.com/macosx/">Mac OSX Leopard</a> is the inclusion of Apache and PHP. It helps in getting a environment set up pretty quickly. The only thing that is not included but very important is Mysql. By default Apache and PHP are inactive and need to be enabled by you.<br />
<span id="more-758"></span><br />
Most of the examples I will show you will be from the command line. I find once you get the hang of working from the command line, everything else is a peice of cake (Mmmmm cake).</p>
<h2>PHP</h2>
<p>To enable PHP we will need to edit Apache&#8217;s configuration file.The file is called <code>httpd.conf</code> and can be found in <code>/etc/apache2/</code></p>
<p><code>sudo vi /etc/apache2/httpd.conf</code></p>
<p>If you need help with <code>vi</code> check out this <a href="http://www.unix-manuals.com/refs/vi-ref/vi-ref.htm" target="_blank">link</a></p>
<p><em>Note: Every time you use the &lt;code&gt;sudo&lt;/code&gt; you will most likely be prompted for your system password. Just type it in and hit &#8216;Return&#8217;</em></p>
<p>Find the following line:</p>
<p><code>#LoadModule php5_module libexec/apache2/libphp5.so</code></p>
<p>We need to uncomment out this line. This is done by removing the <code>#</code> sign. It should look like this afterwards:</p>
<p><code>LoadModule php5_module libexec/apache2/libphp5.so</code></p>
<p>Save the file and quit.</p>
<p>By default, Leopard has an empty configuration file but provides a file that can be used as a template. From a new terminal window, type:</p>
<p><code>sudo cp /etc/php.ini.default /etc/php.ini</code></p>
<p>This creates your <code>php.ini</code> configuration file, located in <code>/etc/php.ini</code>.</p>
<p>PHP is now enabled. We can move on to Apache.</p>
<h2>Apache</h2>
<p>To start up Apache click on your System Preferences and go to the “Sharing” preference pane and enable “Web Sharing”:<br />
<a href="http://sirrobbierob.files.wordpress.com/2009/02/picture-11.png"><img class="aligncenter size-medium wp-image-759" title="picture-1" src="http://sirrobbierob.files.wordpress.com/2009/02/picture-11.png?w=300" alt="picture-1" width="300" height="245" /></a><br />
This can also be done from the command line using the <code>apachectl</code> command:</p>
<p><code>sudo apachectl start</code></p>
<p>If you need to restart Apache, try this:</p>
<p><code>sudo apachectl restart</code></p>
<p>Anytime you make changes to Apache&#8217;s <code>httpd.conf</code> or PHP&#8217;s <code>php.ini</code> it will require a restart of Apache for the changes to take effect.</p>
<p>Now we can test to make sure PHP works. Create a file (using <code>vi</code> or your favorite text editor) called test.php in your /Users/&lt;username&gt;/Sites/ directory. &lt;username&gt; is the name of the user you&#8217;re currently logged it as. In the file, insert the following:</p>
<p><code>&lt;?php phpinfo(); ?&gt;</code></p>
<p>Save the file.</p>
<p>Now, open your web browser and type in the address <code>http://localhost/~username/test.php </code></p>
<p>You should see something like this:</p>
<p><a href="http://sirrobbierob.files.wordpress.com/2009/02/phpinfo1.gif"><img class="aligncenter size-medium wp-image-760" title="phpinfo" src="http://sirrobbierob.files.wordpress.com/2009/02/phpinfo1.gif?w=265" alt="phpinfo" width="265" height="300" /></a></p>
<h2>MYSQL</h2>
<p>For this part of the installation you will need to head over to <a href="http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg" target="_blank">MySql&#8217;s website</a> and download the latest dmg file.</p>
<p>After downloading the file, mount it and run the installer. After the installation you will was to double-click the MYSQL.prefPane icon. This will install the MYSQL preference pane in the System Preferences, making it easier to stop and start the services.</p>
<p>After you&#8217;ve done both, head over to your &#8216;System Preferences&#8217; and click on the &#8216;MySQL&#8217; icon and click start.</p>
<p><a href="http://sirrobbierob.files.wordpress.com/2009/02/picture-61.png"><img class="aligncenter size-medium wp-image-761" title="picture-6" src="http://sirrobbierob.files.wordpress.com/2009/02/picture-61.png?w=300" alt="picture-6" width="300" height="131" /></a></p>
<p>You can also start MySQL from the command line:</p>
<p><code>sudo /usr/local/mysql/support-files/mysql.server start</code></p>
<p>To stop MySQL:</p>
<p><code>sudo /usr/local/mysql/support-files/mysql.server stop</code></p>
<h2>Configuring MySQL for PHP</h2>
<p>The next thing we need to do is make PHP and MySQL aware of each other. In order to do that we will need to change the location of the mysql.sock. The default location of <code>mysql.sock</code> is in the <code>/tmp/mysql.sock</code> directory. This needs to be changed to <code>/var/mysql/mysql.sock</code> as this is where PHP expects it.</p>
<p>Create a <code>my.cnf</code> file in the <code>/etc</code> folder</p>
<p><code>sudo vi /etc/my.cnf</code></p>
<p>Insert the following code:</p>
<p><code>[client]</code><br />
<code>socket = /var/mysql/mysql.sock</code></p>
<p><code>[mysqld]</code><br />
<code>socket = /var/mysql/mysql.sock</code></p>
<p>Instead of moving the mysql.sock from <code>/tmp</code> to <code>/var/mysql</code> we will create a link. This is to avoid any possible problems that moving the file could cause with MySQL.</p>
<p><code>sudo mkdir /var/mysql</code><br />
<code>sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock</code></p>
<p>That&#8217;s pretty much it. There are some things I didn&#8217;t cover in this post, like PHPmyadmin and Virtual Directories, but I will cover at a later time. I wanted to give you the least amount of steps needed to get up and running.</p>
<p>Before you start installing and applications I would recommend setting a password for MySQL&#8217;s <code>root</code> user. By default this is blank.</p>
<p>To change the password:<br />
<code>$ mysqladmin -u root password NEWPASSWORD</code></p>
<h2>Resources</h2>
<p>Here are some links I would recommend checking out. Many of them only covering one specific component of the Apache, PHP, and MySQL setup.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/mac-os-x-installation.html" target="_blank">Installing MySQL on Mac OS X</a> &#8211; MySQL&#8217;s guide to installing on OS X</p>
<p><a href="http://foundationphp.com/tutorials/php_leopard.php" target="_blank">Foundation PHP</a></p>
<p><a href="http://httpd.apache.org/docs/2.2/" target="_blank">Apache&#8217;s httpd documentation</a></p>
<p><a href="http://www.php.net/" target="_blank">PHP.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sirrobbierob.com/2009/02/09/setup-apache-php-and-mysql-in-mac-osx-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

