Well, it's kind of tricky. Only root can open a port in the range of 1-1024. So the common http port, 80, can only be opened by root. But many server implementations, such as Apache httpd, can have the root process listen on port 80, then hand the incoming data off to a non-priveleged process (Yes this is a
very basic explanation of this, but it'll give you just the basics of what's going on).
A quick search on Google will bring up a couple of results, such as this one:
http://www.samag.com/documents/s=115...101d/0101d.htm
Check farther down the page... he even includes a sample startup script that will run the process as a non-root user. Also, many time, the service docs will detail how to begin the server as a non-priveleged use. Check the man pages.
Hope this helps.