Виртуальная машина — для чего нужна при разработке?
1) Ставим НУЖНУЮ ОС, в нее софт ВНЕЗАПНОЙ версии, тестим НЕОЖИДАННЫЕЕ  баги.
2) Ставим НУЖНУЮ ОС, в ней собираем из исходников НЕОБХОДИМЫЙ софт.
3) Ставим НУЖНУЮ ОС ИНТЕРЕСУЮЩЕЙ версии, ТЕСТИМ, УЧИМСЯ, ПОВЫШАЕМ квалификацию.
4) Создаем НУЖНОЕ число виртулок, ставим в них НУЖНЫЕ версии ОС и софта, ОРГАНИЗУЕМ из них НЕОБХОДИМЫЙ стенд и ТЕСТИМ, УЧИМСЯ, ОТТАЧИВАЕМ навыки.
5) Создаем виртуалки, ДАЕМ УДАЛЕННЫЙ ДОСТУП разрабам, разрабы довольны и могут моделировать что хотят.
6) Поднимаем НУЖНЫЙ софт НУЖНЫЙХ версий, накатываем НЕОБХОДИМЫЕ конфиги, ДЕЛИМСЯ готовой виртуалкой с другими людьми.
7) Поднимаем НУЖНЫЙ софт НУЖНЫЙХ версий, накатываем НЕОБХОДИМЫЕ конфиги, ЗАБЫВАЕМ проблемы если сдох сервер т.к. можем куда угодно перенести  готовую виртуалки и без телодвижений запустить ее.
8) ЗАНИМАЕМСЯ исследованием безопасности софта\ос в виртуалке или вирусов.
9) СМОТРИМ порно\лук\i2p\... в виртуалке, не паримся за оставленные следы на компе.
10) ПОДНИМАЕМ какие угодно, каких угодно версий версий не переживая за основную ОС.
...) ....
1005000....) каждый находит свое применение.
Ставим апач и прочее В ВИРТУАЛКУ.
Чтобы не засирать ноут.
И тестировать на условно реальном окружении - в виртуалке должна крутиться +- та же ось и тот же софт что и на проде.
P.S. виртуалки в чистом виде УЖЕ не популярны. Уже популярны контейнеры и всякие варганты.