I am actually a home-grown programmer. I learned from people helping me out, just like here (but years ago on a now defunct hosting site), and experimented. By my scripts failing, I learned my mistakes, and now write much cleaner, bug free code on the first try
I'm starting to write even more complex code now, just so I don't have to work as hard.
Stuff like user management scripts, I built my self from scratch, very basic, but then built on to it, making it more secure and have more features, but now I'm just using fluxbb to do anything with users, but it's tied into the site which has everything to do with that. If someone submits something outside of the forums, it uses their user id, then fetch the username when it's queried incase their username changes.
PHP.net's function list, as noted already by others is a great resource to learn how functions work, that and look at other people's source code (like fluxbb or other software). btw, fluxbb 1.2.20 is brilliantly written and very easy to understand, and 1.3 is even better, but harder to pickup on, as alot of their functions are built by them.
PHP:
$query = array('SELECT' => 'id, forum_name',
'FROM' => $db->prefix.'forums',
'WHERE' => 'cat_id=\'.$id.'\''
);
$results = $db->build_query($query);
and they have hooks, so extensions can be modular without any code modification.
but I did pickup
PHP:
list($forum['id'], $forum['name']) = $db->fetch_rows($result);
I agree with Jake. Unless you are to use that server for an actual site you can just install XAMPP
http://www.apachefriends.org/en/xampp.html it has everything in it already what you need for web development. You don't need to do complicated stuffs just to configure and make your local server to work. XAMPP is suited for testing and development without needing to worry about complicated security stuffs.
Or, if you are using linux, I would recommend installing lighttpd, mysql and uuh... hmm, i think that's all... lighttpd uses less resources than apache, and is a breeze to install, unlike apache (which I find is a nightmare to set up virtualhosts with).