Download the latest CentOS ISO image and burn an install DVD from:
http://www.centos.org/
Boot the install disk and choose the "Customize Now" option when you see it in the install sequence. In all cases shown below, the package section is chosen (e.g. Applications, Development), then the major package is chosen, and then the individual/optional packages are selected/unselected. The following packages should be chosen:
For Gnome, pick: NetworkManager-gnome; gnome-utils; evince; gnome-backgrounds; gnome-system-monitor; gnome-themes; hal-gnome. 2) Applications. Do not select Authoring and Publishing. Pick your favorite Editor. If you selected EMACS under your favorite Editor, you don't need to pick it here. Do not select Engineering and Scientific. Remove Games. For Graphical Internet, only install FireFox. Remove Graphics. Remove Office/Productivity. Remove Sound and Video. Remove Text-based Internet. 3) Development. Do not install anything. 4) Servers. Do not install the DNS Name Server. Pick the FTP Server (but no optional packages). Pick the Legacy Network Server (pick: telnet; xinetd; rsh-server). Pick the Mail Server (pick: sendmail; sendmail-cf). Do not install the MySQL database. Pick Network Servers (then, install: vnc-server). Do not install the News Server. Do not install the PostgreSQL Database. Do not install any Printing Support. Do not install the Server Configuration Tools. Install the Web Server (but no optional packages). If you need Samba (trust us, you will), install the Windows File Server (but no optional packages). 5) Base System. Install the Administration Tools (pick: pirut; system-config-date; system-config-keyboard; system-config-network; system-config-users). Install the Base (choose: telnet; yum-updatesd; anacron; conman; dos2unix; ftp; lftp; logwatch; man-pages; pam-*; rsh; rsync; sendmail; sudo; unzip). Install Dialup Networking Support (select: minicom; wvdial). Do not install Java. Do not install the Legacy Software Support. Do not install OpenFabrics Enterprise Distribution. Install System Tools (pick: lslk; ntp; samba-client; vnc; wireshark-gnome). Install the X Window System (go with all of the default packages). 6) Do not install Virtualization. 7) Do not install Clustering. 8) Do not install Cluster Storage. 9) Do not install the CentOS Extras. 10) Languages (pick only the language you need).
Once you've selected (or deselected) all of the packages to install, continue through the subsequent steps of the install, making the following choices:
After the installation has been completed and the new system rebooted, you can run the Package Manager post-startup to remove extra packages but its not especially worth it (except for Network Manager, see below), particularly if you chose all of the right stuff at install time.
Incidentally, now would be a good time to set the default Runlevel to 3, in /etc/inittab, if you're going headless.