I have been planning on starting up a website for an idea I have, however I am not quite sure were to start.
Register a domain and find a hosting service. Lots of providers offer both DNS and hosting. It's cheap, and no local hardware required. I recommend you don't use godaddy. They relentlessly spam your email. I've had good experiences with
hostdime.
I have a large number of computers lying around from old projects I have done with them (DOS gaming computer, source game server etc.). Is it worth creating a DNS server on one of these and creating my own public domain name(not quite sure how but I have linux HOWTO for that) or just spending the $15 a year for a .com or something?
...what exactly are you trying to accomplish? For example, it should be possible to set up an apache server on your own machine that would be accessible by typing an IP address. But if you want anyone to be able to type yoururlhere.com and see your site, you'll at least need to register a domain name.
If the goal is to have a website, and not to "have a learning experience" then yes, just sign up with a hosting/dns provider. You'll save a lot of time and effort, and for most purposes you'll probably need to do that anyway.
PHP, SQL, Jscript
I am primarily a applications developer
how long do you think it would take to learn the above three to a point where they have significant utility?
Javascript: Can't help you on this one.
PHP: If you have any programming experience it may be realistic to
download scripts that do approximately what you want, then modify them to do exactly what you want even if you've never specifically used PHP before.
SQL: SQL is, in my opinion...obtuse. Learning how to do basic queries probably won't take long, but doing more complicated things with it might take some timer. However, it's fairly common for webhosts to have web-based control panels that allow you to create SQL databases by specifying field names and parameters, which you can then populate with data and run your queries on. So you may be able to skip steps that way. However, from personal experience, I advise caution here, because if you incorrectly set up permissions it's possible for bad things to happen. Scripts on your website need to be able to access the database, and I once made the mistake of instead of allowing exclusively my scripts access to a database, allowed everyone in the world access to that database. Which, via some magic I never quite figured out resulted in someone injecting malware into the site such that anyone who visited it got infected. Cue google marking my site as a malware host. So again, caution is advised.