We recommend you use Linux; the majority of our development, testing and live deployments have all been on Linux so it's the most battle-tested. SproutCMS may work on other operating systems, however we haven't widely tested it on non-Linux systems.
PHP >= 5.6 with the extensions listed below
MySQL >= 5.1 or MariaDB
Web server compatible with PHP nginx >= 1.12 is recommended, Apache is also tested and working.
Physical Server Requirements
The physical requirements (core count, RAM, storage) depends almost entirely on your intended use case. That said SproutCMS as it ships today will not exceed a 128M PHP memory limit so even small servers will have no issues running it.
For small-medium (< 50 request/s) sites a dual-core, 2GB Linode is quite sufficient.