You don't have to put it on a separate server but it is always recommended as a web based server and a DB server on the same server is not good practice for many reasons. For evaluation it will be fine but may be a bit slow on the VM you specified.
You need to install NPM first then SAM - get the latest version of both.
I would also advise setting up NPM and SAM before WHD and ensuring the data in Orion is clean as its passes this through to WHD.