This is an example. Depending on your situation, you may want to regroup or split out the various services on fewer or more servers.
Situation
- One physical office
- Up to 20 team members at one main office
- Dozens of team members working remotely, connecting in via the VPN
Required hardware
Server 1: Gateway
On premise device which provides
- Gateway
- Firewall
- VPN
- Print Server
- Internal DNS
- etc.
Requirements
- 2 network cards
- RAM: 1 gig (Any new computer will have sufficient CPU and RAM)
- A fixed IP address from your ISP
Server 2: Web and Real-Time Collaboration
In data center
- Emails (IMAP and SMTP)
- Public website with logins to access the Intranet (Wiki, Blog, Calendar, Trackers, etc.)
- Real-time collaboration (XMPP, and WebRTC)
- File server (shared drive)
Requirements
- IP address and domain name
- RAM: 3 Gigs minimum for Videoconferencing.
Server 3: Email
In data center
- Emails (IMAP and SMTP)
- Calendars and Contacts
- Webmail
Requirements
- RAM: Depends on number of users
- IP address and domain name
Server 4: Virtual Machines
In data center or at the office
- Virtual machines with Kimchi to supply dev / testing environments or virtual desktops for team members
Requirements
- IP address: one per per VM if you want them accessible without the VPN
- RAM: 2 to 3 gigs per running VM
Desktop and mobile clients
Notes
- Work is planned to permit to manage emails / calendars / contacts on the same server as "Web and Real-Time Collaboration" taking advantage of JMAP