Mail: Postfix (my go to SMTP server). However, a lot of people like Exim as well, but I've never got into it. Sendmail is powerful, but unwieldy. Postfix is very simple to configure a basic email server, especially b/c RedHat does such a great job with the defaults. However, be careful with security if you expose your server to the Internet.
Firewall: IPTables if you're running a firewall on the box. However, if you're running a firewall edge of network, then I'd go with a dedicated solution like Shoreline, Smoothwall or ClarkConnect.
LDAP: OpenLDAP. By itself, OpenLDAP is not difficult. However, as you add layers to it like TLS and Kerberos, etc. then the configuration becomes obtuse.
Web server: Nginx (the current king), but Apache is still a strong choice. Nginx works great with the newer frameworks where you're running it as a proxy for your application server plus as a high performance static file server. Apache is still solid if you're developing in PHP.