For creating your own web server, you should try reading relevant RFCs on the HTTP protocol, such as the ones found at
HTTP Specifications and Drafts.
Don't be daunted by the highly technical nature of RFCs; just think of it as an exercise for the real world.

You don't have to implement nor understand all HTTP specs. Just implement the basics-- read a file, respond with appropriate headers (i.e., 200 for OK, 404 for file not found, 403 for forbidden, set the correct Content-Type, etc...), and make sure it works if you connect to it remotely.
For creating your own Web interface for an existing open source utility, you first need to know what kind of utility you want first. A good inspiration would be
Webmin and
m0n0wall.
Bai, I've heard that you can set up a Counter-strike server in Linux. Is this true? If it is, then it would really be cool to create a Web interface for it!
[ simon.cpu ]