Setting up your own calendar server

Servers

SyncEvolution might be useful?

Clients

Linux

Web

Android