Well, the first thing to do would be install FreeBSD. If you have an Intel or other x86 based machine, then you shouldn't have much trouble. If you're already running some other (possibly Redmond-based) OS, you can either replace it with FreeBSD or you can setup what's known as a dual-boot...basically the OS's share the computer and you choose which one you want to use at startup. You should be able to find information and maybe even instructions on the net.
The next thing to do is install and configure Apache. Go to http.apache.org to download the latest version (I recommend the latest stable version). You can also find all of the documentation at that site; read the documentation - you will learn a tremendous amount. If you havetrouble configuring the server (after you've read the documentation, of course), there's a user mail list that can be very helpful. Again you can find it on the Apache web site.
Once you get Apache configured, your computer is now officially a web server. Unless you're connected to the internet, only you will be able to access it, but that's OK for now. If your ISP gives you a static IP, then you can now register a domain name for your computer. If it gives you a dynamic IP, then there are services that will redirect your domain name to the IP of the moment. Of course, you may not want or need a domain name if you're just learning or doing development work. You can always access your server from the BSD box by typing http://127.0.0.1 into your browser.
There are a lot (and I mean a lot) of paths you can now go down. You mentioned PHP, which is as good a place to start as any. Go to PHP.net, download, install, and configure. You also mentioned Python, which can be used to write CGI programs. To learn about CGI, visit my tutorial at http://www.jayeckles.com/cgi or any of the many others on the net.
Jay
www.jayeckles.com
(FreeBSD/Apache/Tomcat)