Web hosting on Linux is pretty easy (as witnessed by the fact that I manage to do it). Your question, however, is a bit broad, so I'll just throw out some basic information. The primary Web server used on Linux is the Apache httpd. You can find out more about it at
http://httpd.apache.org -- I'd suggest using it, as it's pretty easy to find help on the net for it.
Assuming you want dynamic content, you have many, many choices. PHP is a popular scripting language -- see
www.php.net for details. I like PHP a lot. Also, you can do CGI scripting with Perl, Python, or any other language. Perl and Python can be integrated directly into Apache (mod_perl and mod_python), which increases performance but has some security implications that you should be aware of. You can also use Servlets (Java server side scripting) with Tomcat, which is another Apache product and can be integrated with the httpd.
You might want to look at getting a simple Apache install set up and serving static content as a first step and then go on to developing dynamic stuff.