I assume you want instructions for a server, but you don’t specify whether you just want instructions for setting up clients.
As you need to sync with Microsoft Outlook, you only have one option: the Exchange ActiveSync protocol. However, I’d recommend you also look into the open-source protocols CalDAV and CardDAV. They’re not supported in Outlook, but they’re supported by iOS, OS X, Android (requires free apps), GNOME, and KDE.
You can setup Horde groupware on your server. Horde can act as a calendar and contacts server and provides access to that data in a web interface, over the Exchange, CalDAV, and CardDAV protocols. Horde is mostly known for being a great webmail (IMAP front-end), but it also does a good job with contact and calendar management.
See the above link for complete instructions on setting up Horde for calendaring, contacts, and email for one–fifty users.