Всё зависит от того, какой именно Вы ставите сервер. Если это dev-сервер (т.е. сервер для разработки), вполне логично весь мусор складывать туда. Особенно часто бывают ситуации, когда рабочая (основная ОС) - это Windows, а разработка должна идти под Linix/*nix (если Вы не пишете на C#/ASP.NET, разумеется), т.к. это крайне полезно по многим показателям, от "родной" файловой системы со всеми вытекающими, до... особенностей работы конечной ОС. Так вот, если у Вас сервер именно такого плана, то есть, сервер на котором Вы пишите и тестируете код, что бы потом выложить его на продакшен (боевой) сервер - то ставьте всю эту беду туда, включая Gulp, Node.JS, всякие JPEG trim и PNG optim, сборщики проектов и всё прочее, что Вам может понадобиться. Отладчики, (в частности для PHP) обычно прекрасно работают в таких связках. В конце концов зачем оно Вам, на хост-машине?
Ещё одним фактором, в пользу того, что бы поставить Node.JS и его плюшки на Linux-машину (в частности работающую на VirtualBox'e) будет то, что Windows/NTFS довольно хреново дружит с длиннющими именами в путях модулей, которые любит создавать Node.JS, оно конечно работает, но иногда из-за этого возникают проблемы, который в *nix/Linux не наблюдается.
Одним из вариантов, как Вам уже советовали выше, является
Vagrant. Он представляет собой обёртку поверх VirtualBox'а или VMWare, с набором готовых операционных систем ("боксов"), для самых разных задач, от вёрстки и разработки на PHP или Node.JS до всего и сразу. Ставится и настраивается всё в несколько кликов (команд). Среди прочего - он автоматически настроит сеть и все прочие параметры гостевой операционки.