Ich habe (mal wieder) einen Ubuntu 12.04 LTS-Server mit einem VMware Server 2.0.2 versorgt. Dieses Produkt ist seit 2010 eingestellt, funktioniert aber immer noch prächtig. Allerdings ist die Installation unter einem neueren Linux nicht so einfach. Die Vorgehensweise ist für Fedora
hier beschrieben. Unter Ubuntu macht man Folgendes:
Zuerst die notwendigen Pakete installieren:
apt-get -y install linux-headers-$(uname -r) build-essential patch unp module-assistant
Dann das Paket
VMware-server-2.0.2-203138.x86_64.tar.gz auspacken und installieren:
unp VMware-server-2.0.2-203138.x86_64.tar.gz
cd vmware-server-distrib
./vmware-install.pl
Hierbei alle Werte auf den Vorgaben belassen, aber 'vmware-config.pl' noch nicht starten lassen. In der Datei '/etc/default/grub' diesen Eintrag setzen, um den NMI Watchdog zu deaktivieren:
GRUB_CMDLINE_LINUX="nmi_watchdog=0"
und die Änderung mit
update-grub2
aktivieren und rebooten. Danach diese Befehle eingeben, um VMware auf den neueren Kernel vorzubereiten:
cd ~
m-a prepare
ln -s /usr/src/linux-headers-`uname -r`/include/generated/autoconf.h /usr/src/linux-headers-`uname -r`/include/linux/autoconf.h
ln -s /usr/src/linux-headers-`uname -r`/include/generated/utsrelease.h /usr/src/linux-headers-`uname -r`/include/linux/utsrelease.h
Die obigen Befehle muss man auch eingeben, nachdem ein neuer Kernel installiert wurde.
wget http://www.jlbond.com/downloads/vmware-server-2.0.2-203138-linux_2.6.42+.tar.bz2
tar xvjf vmware-server-2.0.2-203138-linux_2.6.42+.tar.bz2
patch -d /usr/bin -p0 < vmware-config.pl.patch
pushd /usr/lib/vmware/modules/source
mkdir backups; cp -a *.tar backups/
mkdir working; ls *.tar | xargs -n 1 tar -C working/ -xf
pushd working
patch -p1 < ~/vmware-server-2.0.2-203138-linux-2.6.42.patch
tar cf ../vmci.tar vmci-only
tar cf ../vmmon.tar vmmon-only
tar cf ../vmnet.tar vmnet-only
tar cf ../vsock.tar vsock-only
popd; rm -rf working/ ;popd
pushd /usr/lib/vmware/lib; mv libxml2.so.2 SKIP-libxml2.so.2 ; popd
Danach kann VMware konfiguriert werden
vmware-config.pl
Hierzu benötigt man einen gültigen Lizenzschlüssel. Er beschwert sich auch über die Version des GCC Compilers - hier einfach die Frage, ob der Compiler ok ist, mit "yes" beantworten. Nach dem Ende des Skriptes läuft der Server schon und kann unter
http://<server>:8222/
oder
https://<server>:8333/
erreicht werden. Anmelden kann man sich mit den Zugangsdaten von Root, sprich Benutzername "root" und dessen Passwort. Hat er noch keines, muss eines mit
passwd root
vergeben werden. Sinnvollerweise erlaubt man als erstes einem anderen die Administration und entfernt dann wieder das Passwort für root beispielsweise mit
passwd -l root
Standardmäßig sind die Ports 902/TCP, 8222/TCP und 8333/TCP für alle offen. Sollte der Server am Internet betrieben werden, dann am besten über die Firewall sperren, z.B. so alle Zugriffe über eth0:
iptables -A INPUT -i eth0 -p tcp --dport 902 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 8222 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 8333 -j DROP
Will man dann selbst zugreifen kann man beispielsweise einen SSH-Tunnel aufbauen:
ssh -L 8222:localhost:8222 <server>
dann kann man über
http://localhost:8222/
auf den Server zugreifen.