1.yes u hav to register with someone or ur url will be ur ip and thats not user friendly
2.there are many softwares for this...search on google for web server software
i found dis site -
http://www.janim.net/web-freeware/free-web-servers.php
3look on google for search engine submission....heres one site wich does it for free, but use as many as u want...
http://www.quickregister.net/
4https://www.google.com/adsense/
hope that helps
but #/bin/sh is rite, its not a good idea to host it urself for many reasons such as...
it will slow down ur pc, ur net speed
u gotta alwez leave it on, suppose u go on a holiday for a week for a month, anything, gotta leave it on
evrytime u install stuff on ur pc or anything like that and u gotta restart, ur site will go down
if ur ip changes, evytime that happens, ur gonna hafta change it in the settings of ur domain name...if u choose to register...otherwise ppl will hav to kno ur new ip each time they wanna visit ur site
and tho it is 256k, the upload speed is diff, i think 64 usually...so that will b quite slo for users, u should chek dat wid ur isp
in d end, its ur choice...i guess it will b ok for a smalltime site wid few visitors, but if ur lookin at a big site wid many visitors, u shouldnt host ir urself