Before proceeding, which Linux distro are you using?
First, some definitions:
This is the oldest sound driver architecture. It is depreciated, although most kernels keep it around because very old sound cards will have OSS drivers.
This is the replacement for OSS. It is somewhat newer and supports newer cards. If you're playing sound locally on your workstation, and you're not using ESD or PulseAudio, then it's probably a direct connection to the card via ALSA.
This is a form of software mixer, called esound. The idea behind ESD is that sound is no longer tied to the hardware directly but to a network transport, which may or may not play locally. Sound is mixed and then sent to the appropriate destination to be played, where it is "dropped" into an OSS or ALSA driver for playback. There are some shortcomings with ESD and it is slowly being depreciated.
This is a separate project that will eventually replace ESD. It provides a single interface for network sound transport while being backwards-compatible with OSS, ALSA, and ESD. It separates sound inputs (called "sources", which are microphones or other network streams) from outputs (called "sinks", which are usually other clients or a hardware soundcard). Ubuntu has started using this and while it has rough edges, each release handles sound a bit better and the release (I think) is approaching its 1.0 quickly.
The main advantage with PulseAudio is that not only does it have backwards-compat with older software that wants ALSA or OSS, but it also provides a sound API that will remain consistent, while providing a network transport to thin clients or other remote sessions. There are some known shortcomings, especially with heavily-loaded systems or sound processing that requires real-time priority. These issues are being actively worked on.
For configuration, if you're running a Red Hat variant (Red Hat Linux, CentOS, Fedora) you can use the sndconfig
command to set up your sound, although I think this method is a bit old-in-the-tooth and will eventually be replaced. You will want to run this command as root, or use sudo, as it will make changes that are system-wide.
For Ubuntu installations, sound is typically auto-configured at installation. Starting with 8.04, the default sound is driven through PulseAudio.
For Debian installations, you will need to add the appropriate people to the appropriate groups to activate sound for them. That's right, using sound is a privilege on Debian systems (to prevent pranking by other users on a multiuser system) and you need to be a member of a group (I believe it's "sound", haven't had to do this in awhile), to get sound to work.
Other distros will have separate instructions for sound setup.