1. A non-transitory computer readable storage medium storing a computer program for execution by at least one processor of a node of a server hosting environment comprising a plurality of nodes, each node for using one or more hypervisors in order to host a plurality of configurations of a plurality of computer systems, the computer program comprising: a set of instructions for receiving a first configuration of a computer system, the first configuration comprising an operating system that uses a source kernel that interfaces directly with hardware of the computer system; a set of instructions for automatically identifying a kernel that interfaces with virtual hardware provided by a particular hypervisor of the node; a set of instructions for automatically modifying the operating system to be compatible with the identified kernel when the identified kernel is not compatible with the operating system; and a set of instructions for installing on the node a second configuration comprising the operating system modified to use the identified kernel for interfacing with the virtual hardware provided by the particular hypervisor.