VMware Server Installation
The free VMware Server is based upon VMware proven virtualization technology. With this robust yet easy to use software you can: Streamline software development and testing by allowing developers to create multiple environments with different operating systems on the same server. Simplify IT testing of patches, new applications and operating systems by allowing systems administrators to test in secure virtual machines and be able to roll back to a clean state by leveraging snapshots. Simplify server provisioning by building a virtual machine once and deploying it multiple times. Evaluate software in ready-to-run virtual machines without installation and configuration. Re-host legacy operating systems such as Windows NT Server 4.0 and Windows 2000 Server in a virtual machine running on new hardware and operating system. Leverage pre-built, ready-to-run virtual appliances that include virtual hardware, operating system and application environments. Virtual appliances for Web, file, print, DNS, email, proxy and other infrastructure services are available for download on VMware Technology Network (VMTN).
Applicable to Fedora Versions
- Fedora 9+
Security Note
VMware Security Advisory
Advisory ID: VMSA-2008-0014
Synopsis: Updates to VMware Workstation, VMware Player,
VMware ACE, VMware Server, VMware ESX address
information disclosure, privilege escalation and
other security issues.
Issue date: 2008-08-29
Updated on: 2008-08-29 (initial release of advisory)
CVE numbers: CVE-2008-2101 CVE-2007-5269 CVE-2008-1447
CVE-2008-3691 CVE-2008-3692 CVE-2008-3693
CVE-2008-3694 CVE-2008-3695 CVE-2007-5438
CVE-2008-3696 CVE-2008-3697 CVE-2008-3698
CVE-2008-1806 CVE-2008-1807 CVE-2008-1808
CVE-2007-5503
http://lists.vmware.com/pipermail/security-announce/2008/000033.html
Requirements
There are very few requirements for VMware Server they are listed below:
- kernel-devel We need the kernel source (to build the vmmon modules).
- gcc The C compiler is required to complete the installation.
- gcc-c++ C++ compiler will also be required to complete the installation.
Doing the work
- First you need to get the VMware Server software. It is available from http://www.vmware.com/download/server/. You will have to complete a small survey that will get you your licenses needed to run VMware server and to be able to download the Binary RPM. The current version at the time of this writing is VMware Server 1.0.8. NOTE: This post was written for the 1.0.x versions of VMware Server not the 2.0 versions, ensure that you download the correct version.
- Next you need to get vmware-any-any-update117x.tgz, it is available from http://groups.google.com/group/vmkernelnewbies/files. For 2.6.25 kernels use the 117b patch for 2.6.26 kernels use the http://www.it-psycho.de/downloads/vmware-any-any-update117-itpsycho.tar.bz2. For 2.6.27 kernels you use this patch http://www.insecure.ws/2008/10/20/vmware-specific-specific-55x-and-kernel-2627 this patch does not work with x86_64, you must use 1.0.7 and the psycho patch to get it to work correctly on x86_64.
- Now we get down to the work, you will first need to Open a terminal.
- You now need verify that your system is fully updated. Do so by performing the following:
su -c 'yum update'
At the password prompt enter your root user's password, then press enter. - You will see a message similar to the following (keep in mind this is just an example, your list may vary):
Loading "fastestmirror" plugin Loading "installonlyn" plugin Setting up Update Process Setting up repositories livna [1/4] livna 100% |=========================| 951 B 00:00 core [2/4] core 100% |=========================| 1.1 kB 00:00 extras [3/4] extras 100% |=========================| 1.1 kB 00:00 updates [4/4] updates 100% |=========================| 1.2 kB 00:00 Determining fastest mirrors Reading repository metadata in from local files livna : ################################################## 361/361 Added 15 new packages, deleted 4 old in 0.72 seconds primary.xml.gz 100% |=========================| 5.7 kB 00:00 extras : ################################################## 4137/4137 Added 54 new packages, deleted 29 old in 17.75 seconds primary.xml.gz 100% |=========================| 420 kB 00:01 updates : ################################################## 1137/1137 Added 37 new packages, deleted 348 old in 5.40 seconds Finished Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for kernel to pack into transaction set. kernel-2.6.24.3-50.fc8. 100% |=========================| 170 kB 00:00 ---> Package kernel-devel.i686 0:2.6.24.3-50.fc8 set to be installed ---> Downloading header for selinux-policy-targeted to pack into transaction set. selinux-policy-targeted-2 100% |=========================| 23 kB 00:00 ---> Package selinux-policy-targeted.noarch 0:3.0.8-93.fc8 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: kernel i686 2.6.24.3-50.fc8 updates 18 M Updating: selinux-policy-targeted noarch 3.0.8-93.fc8 updates 506 k Transaction Summary ============================================================================= Install 1 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 18 M Is this ok [y/N]:
- At the y/N prompt press y, this will start the process for bringing your system up to date.
- If a new kernel was installed you will need to reboot your system to continue with this how-to.
- Once the update/reboot is completed we need to check to see what kernel you have installed and if you have the package kernel-devel installed. To do so perform the following:
uname -r && rpm -qa | grep kernel-devel
It should produce an output like this if you already have kernel-devel installed:
2.6.25.10-86.fc9 kernel-devel-2.6.25.10-86.fc9
- If no result is provided for kernel-devel, Install it and gcc, gcc-c++, and xinetd , by performing the following:
su -c 'yum install kernel-devel gcc gcc-c++ xinetd'
At the password prompt enter your root user's password then press enter (Note: For x86_64 you will also need to install libXtst.i386 along with the other packages). - Now we need to install some software so that the VmPerl Scripting API will compile correctly:
su -c 'yum install perl-devel perl-ExtUtils-Embed'
At the password prompt enter your root user's password then press enter. - Once you have kernel-devel installed we are ready to get VMware Server installed.
- Locate the VMware Server you downloaded earlier, navigate to that directory, and perform the following:
su -c 'rpm -Uvh /path to rpm/VMware-server-1.0.8-126538.i386.rpm'
Substitute the statement 'path to rpm' with the actual path to the RPM downloaded. At the password prompt enter your root user's password then press enter. - After that we need to install the vmware-any-any-update117x.tgz
patch. Ensure you modify this line to reflect the correct patch that you downloaded. To do so, first navigate to the directory where the file was
downloaded. Then extract the file by performing the following:
tar xzvf vmware-any-any-update-117x.tgz
- Once the file is extracted, Ensure you modify this line to reflect the correct patch that you downloaded, then move to the extracted directory by performing the following:
cd vmware-any-any-update117
- Next we need to apply the patch, do so by performing the following:
su -
At the password prompt enter the password for your root user. - Next you need to navigate to the path of the patch directory, then execute the patch, do so by performing the following:
./runme.pl
This will apply a patch to the files installed by the VMware Player RPM allowing it to function properly with Fedora Core. Answer "y" to the initial questions. - Next it will display a message similar to the following:
Before running VMware for the first time after update, you need to configure it for your running kernel by invoking the following command: "/usr/bin/vmware-config.pl". Do you want this script to invoke the command for you now? [yes]
At this prompt type yes then press enter, or press enter for the default answer. - At this prompt press enter. It is recommended that you read the EULA, do so by pressing the spacebar to scroll through the document. Next it will display a yes/no prompt as shown below:
Do you accept? (yes/no)
At this prompt type yes if you agree with the EULA then press enter. - Next it will display the following message:
In which directory do you want to install the mime type icons? [/usr/share/icons]
At this prompt press enter to specify the default value or enter your own path. The default value is recommended.
- Next it will display the following message:
What directory contains your desktop menu entry files? These files have a .desktop file extension. [/usr/share/applications]
At this prompt press enter to specify the default value or enter your own path. The default value is recommended. - Next it will display the following message:
In which directory do you want to install the application's icon? [/usr/share/pixmaps]
At this prompt press enter to specify the default value or enter your own path. The default value is recommended. - Next it will display the following message:
Trying to find a suitable vmmon module for your running kernel. None of the pre-built vmmon modules for VMware Server is suitable for your running kernel. Do you want this program to try to build the vmmon module for your system (you need to have a C compiler installed on your system)? [yes]
At this prompt type yes then press enter. - Next it will display the following message:
Using compiler "/usr/bin/gcc". Use environment variable CC to override. What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.24.3-50.fc8/build/include]
At this prompt press enter to accept the default value (the path listed may vary based on the version of you kernel-devel package installed). - Next it will display the following message:
Extracting the sources of the vmmon module. Building the vmmon module. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vmmon-only' make -C /lib/modules/2.6.24.3-50.fc8/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.24.3-50.fc8-i686' CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o CC [M] /tmp/vmware-config0/vmmon-only/common/hash.o CC [M] /tmp/vmware-config0/vmmon-only/common/memtrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/phystrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/task.o CC [M] /tmp/vmware-config0/vmmon-only/common/vmx86.o CC [M] /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o LD [M] /tmp/vmware-config0/vmmon-only/vmmon.o Building modules, stage 2. MODPOST CC /tmp/vmware-config0/vmmon-only/vmmon.mod.o LD [M] /tmp/vmware-config0/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/kernels/2.6.24.3-50.fc8-i686' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/vmware-config0/vmmon-only' The module loads perfectly in the running kernel. Do you want networking for your virtual machines? (yes/no/help) [yes]
At this prompt type yes if you want your guest images to be have access to network devices, then press enter. - Next it will display the following message:
Configuring a bridged network for vmnet0. Your computer has multiple ethernet network interfaces available: eth0, eth1. Which one do you want to bridge to vmnet0? [eth0] The following bridged networks have been defined: . vmnet0 is bridged to eth0 Do you wish to configure another bridged network? (yes/no) [no]
Answer this question based on your networking needs, most people only need one network bridged. - Next it will display the following message:
Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes]
At this prompt press enter to accept the default value . - Next it will display the following message:
Configuring a NAT network for vmnet8. Do you want this program to probe for an unused private subnet? (yes/no/help) [yes]
At this prompt press enter to accept the default value . - Next it will display a message similar the following:
Probing for an unused private subnet (this can take some time)... The subnet 172.16.223.0/255.255.255.0 appears to be unused. The following NAT networks have been defined: . vmnet8 is a NAT network on private subnet 172.16.223.0. Do you wish to configure another NAT network? (yes/no) [no]
At this prompt press enter to accept the default value unless your networking required more than one NAT network. - Next it will display a message similar the following:
Do you want to be able to use host-only networking in your virtual machines? [yes]
At this prompt press enter to accept the default value. - Next it will display a message similar the following:
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes]
At this prompt press enter to accept the default value. - Next it will display a message similar the following:
Probing for an unused private subnet (this can take some time)... The subnet 172.16.248.0/255.255.255.0 appears to be unused. The following host-only networks have been defined: . vmnet1 is a host-only network on private subnet 172.16.248.0. Do you wish to configure another host-only network? (yes/no) [no]
At this prompt press enter to accept the default value. - Next it will display a message similar the following:
The following host-only networks have been defined: . vmnet1 is a host-only network on private subnet 172.16.248.0. Do you wish to configure another host-only network? (yes/no) [no] Extracting the sources of the vmnet module. Building the vmnet module. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config3/vmnet-only' make -C /lib/modules/2.6.24.3-50.fc8/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.24.3-50.fc8-i686' CC [M] /tmp/vmware-config3/vmnet-only/driver.o CC [M] /tmp/vmware-config3/vmnet-only/hub.o CC [M] /tmp/vmware-config3/vmnet-only/userif.o CC [M] /tmp/vmware-config3/vmnet-only/netif.o CC [M] /tmp/vmware-config3/vmnet-only/bridge.o CC [M] /tmp/vmware-config3/vmnet-only/procfs.o CC [M] /tmp/vmware-config3/vmnet-only/smac_compat.o CC [M] /tmp/vmware-config3/vmnet-only/smac_linux.x386.o LD [M] /tmp/vmware-config3/vmnet-only/vmnet.o Building modules, stage 2. MODPOST CC /tmp/vmware-config3/vmnet-only/vmnet.mod.o LD [M] /tmp/vmware-config3/vmnet-only/vmnet.ko make[1]: Leaving directory `/usr/src/kernels/2.6.17-1.2157_FC5-i686' cp -f vmnet.ko ./../vmnet.o make: Leaving directory `/tmp/vmware-config3/vmnet-only' The module loads perfectly in the running kernel. The default port : 902 is not free. We have selected a suitable alternative port for VMware Server use. You may override this value now. Remember to use this port when connecting to this server. Please specify a port for remote console connections to use [904]
At this prompt press enter to accept the default value or select another port, then press enter. - Next it will display a message similar the following:
WARNING: VMware Server has been configured to run on a port different from the default port. Remember to use this port when connecting to this server. Stopping xinetd: [ OK ] Starting xinetd: [ OK ] Configuring the VMware VmPerl Scripting API. Building the VMware VmPerl Scripting API. Using compiler "/usr/bin/gcc". Use environment variable CC to override. installing the VMware VmPerl Scripting API. The installation of the VMware VmPerl Scripting API succeeded. Do you want this program to set up permissions for your registered virtual machines? This will be done by setting new permissions on all files found in the "/etc/vmware/vm-list" file. [no]
At this prompt press enter to select the defaut setting.
- Next it will display a message similar the following:
Generating SSL Server Certificate In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines]
At this prompt press enter to select the defaut setting. - Next it will display a message similar the following:
Do you want to enter a serial number now? (yes/no/help) [yes]
At this prompt press enter to select the defaut setting. - Next it will display a message similar the following:
Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:
At this prompt enter the serial number you were e-mailed by the VMware team for completing the survey. - Next it will display a message similar the following:
Starting VMware services: Virtual machine monitor [ OK ] Virtual ethernet [ OK ] Bridged networking on /dev/vmnet0 [ OK ] Host-only networking on /dev/vmnet1 (background) [ OK ] Host-only networking on /dev/vmnet8 (background) [ OK ] NAT service on /dev/vmnet8 [ OK ] Starting VMware virtual machines... [ OK ] The configuration of VMware Server 1.0.5 build-80187 for Linux for this running kernel completed successfully.
- Once you get this message your VMware Server installation is complete and should be present in your menu options. For Gnome it will be listed under Applications > System Tools > VMware Server Console.
Troubleshooting
How to test
- Go to the following link http://www.vmware.com/vmtn/appliances/ and get a virtual appliance.
- Follow the instructions in the appliance documentation to install your virtual appliance. Typically this involves downloading the appliance, extracting it, and then placing it in your user's directory. I have created a directory in my user's directory called vmware_images. This helps keep them in one locations that is easy to find.
- There are many open source appliances to choose from. Once installed, fire up VMware Server and check them out.
Common problems and fixes
More Information
Disclaimer
Added Reading
- http://www.vmware.com
- http://www.vmware.com/vmtn/appliances/
- http://www.vmware.com/community/index.jspa
- http://www.fedoraforum.de/viewtopic.php?f=18&t=14557
- http://howtoforge.com/vmware-server-1.0.4-fedora8-kernel-2.6.24
- http://vmkernelnewbies.googlegroups.com/web/
- http://grumpyapache.blogspot.com/2008/12/vmware-and-key-maps-on-fedora-10.html

