Anzeige
Anzeige
Software & Entwicklung
Artikel merken

Entwicklungsumgebung mit VirtualBox und Ubuntu Server einrichten: Virtuelle Entwicklung mit Ubuntu

Webentwicklung unter realen Bedingungen ist bestenfalls direkt auf dem späteren Produktivserver möglich. Eine WAMPP-Umgebung unter Windows wird sich nie genau so verhalten, wie unter einem nativen Linux. Daher ist eine Entwicklungsumgebung in einer virtuellen Maschine der richtige Schritt zu mehr Verständnis, Kontrolle und Zuverlässigkeit der selbst entwickelten Lösungen. Dieser Artikel zeigt, wie man dieses Ziel mit VirtualBox und Ubuntu erreichen kann.

9 Min. Lesezeit
Anzeige
Anzeige

Virtualisierung wird von Hosting-Unternehmen schon seit Jahren eingesetzt. Aber auch im Heimbereich erfreut sie sich inzwischen dank steigender Verfügbarkeit von Virtualisierungslösungen immer größerer Beliebtheit. In diesem Artikel werden VirtualBox Version 1.5.4 [1] (für den Privatgebrauch kostenlos) und Ubuntu Server 7.10 [2] verwendet. Ebenso gut könnte man eine andere Virtualisierungssoftware wie VMWare Server (Windows/Linux) oder VMWare Fusion (Mac OS X) mit einer der zahllosen Linux-Distributionen kombinieren.

Aller Anfang ist leicht

Anzeige
Anzeige

Nach Download und Installation von VirtualBox [3] und dem Download des ISO-Abbilds der „Ubuntu Server Edition“ kann es losgehen. Starten Sie VirtualBox und legen Sie mittels „Neu“ eine neue virtuelle Maschine (im folgenden VM genannt) mit folgenden Daten an:

  • Name: Entwicklung
  • BS-Typ: Linux 2.6
  • Größe Hauptspeicher: 256 MB
  • Boot Festplatte: Neu, Dynamisch wachsend, 4,45 GB, Dateiname und Position nach Belieben
  • Erstellung abschließen

Jetzt sollte in der linken Spalte eine neue VM namens „Entwicklung“ erscheinen. Wählen Sie diese aus und klicken Sie im rechten Fenster auf „CD/DVD-ROM“, setzen Sie einen Haken bei „Laufwerk einbinden“ und wählen Sie „ISO-Abbild“. Klicken Sie rechts auf den kleinen Ordner und im folgenden Fenster auf „Hinzufügen“. Wählen Sie das vorher heruntergeladene ISO-Abbild „ubuntu-7.10-server-i386.iso“ von Ihrer Festplatte. Wählen Sie zum Schluss dieses Abbild aus der Liste und bestätigen Sie mit „Auswählen“ und „OK“.

Anzeige
Anzeige

Virtuell durchstarten

Ihre virtuelle Maschine ist jetzt bereit für den ersten Start und nach kurzer Ladezeit begrüßen Sie auch schon das Ubuntu-Logo und eine Auswahlliste. Klicken Sie in das neue Fenster und wählen Sie mittels „F2“ die deutsche Sprache aus. Tipp: Beim Klick in das Fenster verschwindet der Mauszeiger. Er kann mittels „STRG+Rechte-Maustaste“ wieder befreit werden.

Anzeige
Anzeige

Wählen Sie jetzt den ersten Punkt „Installiere auf Festplatte“. Wenn alles gut geht, ist das nächste Eingabefeld der Rechnername, in das Sie „entwicklung“ eintragen. Bei der Festplattenpartitionierung im nächsten Schritt wählen Sie die erste Option und dann die vorhandene Platte. Das Ganze bestätigen Sie und warten wieder.

Da Ihr System wahrscheinlich nicht auf UTC steht, wählen Sie hier „Nein“. Nach Eingabe von Name, Nutzername und Passwort wird das Grundsystem installiert. Nach ein paar Minuten fordert das System zur „Software Selection“ auf. Wählen Sie hier mit Hilfe der Leertaste LAMP Server, Mail Server, OpenSSH Server und den Samba File Server aus. Nach Eingabe des MySQL-Root-Passworts wählen Sie für das E-Mail-System „Nur lokale Zustellung“ und anschließend als System-E-Mail-Name einfach „entwicklung“. Bei diesem Schritt gab es beim Autor einen Fehler im Installer, die Optionen für das E-Mail-System wurden nicht angezeigt. In diesem Fall sollten Sie mit den Cursortasten einfach ganz nach unten scrollen und bestätigen.

Anzeige
Anzeige

Das System fordert jetzt einen Neustart, um die Installation abzuschließen. Leider gibt es einen Fehler in VirtualBox und/oder Ubuntu, sodass der Bootvorgang mit „PANIC: CPU too old for this kernel.“ abbricht. Hier hilft nur die nachträgliche Installation des „Generic Kernels“, was nur mit einem erneuten Boot vom ISO-Abbild gelingt. Also einfach auf „Weiter“ klicken, beim Startbildschirm von Ubuntu zunächst auf Deutsch umstellen und den Punkt „Ein beschädigtes System reparieren“ nehmen. Wählen Sie als Root-Dateisystem „/dev/sda1“ und führen Sie eine Shell darin aus. Mit diesen Befehlen installieren Sie anschließend den Generic-Kernel:

SHELL
# aptitude update
# aptitude install linux-386
# aptitude remove linux-server
# exit

Listing 1

Nach Abschluss dieser Prozedur wählen Sie „System neustarten“ und landen wieder beim Ubuntu-Startbildschirm. Klicken Sie mit rechts auf die CD am unteren Rand des VM-Fensters und wählen Sie „CD/DVD-ROM trennen“, damit das System nicht immer mit dem ISO-Abbild startet. Anschließend wählen Sie den Punkt „Boot from first hard disk“, um Ihre VM zum ersten Mal zu booten.

Über die Brücke zum Netzwerk

Bisher greift die VM mittels NAT (Network Address Translation) auf das Netzwerk zu und kann somit nicht mit dem Hostrechner kommunizieren. Gleichzeitig soll die VM aber auch auf das Internet zugreifen können beziehungsweise von dort erreichbar sein.

Anzeige
Anzeige

Um das zu erreichen, muss die VM über ein Hostinterface in das Heimnetzwerk eingebunden werden. Klicken Sie daher auf „Netzwerk“ im Eigenschaftsfenster der VM und wählen Sie unter „Netzwerk-Adapter“ den Punkt „Hostinterface“ aus. Da es wahrscheinlich noch kein passendes Interface gibt, fügen Sie unten einfach ein neues hinzu und bestätigen den Dialog. Standardmäßig ist die VM mit DHCP konfiguriert. Wenn Ihr internes Netzwerk ebenfalls damit arbeitet, können Sie den folgenden Teil zur Konfiguration der VM überspringen. Sie müssen dann nur noch die Netzwerkbrücke (siehe unten) einrichten. Wenn Sie jedoch lieber mit festen IP-Adressen arbeiten, müssen Sie die VM entsprechend konfigurieren. Starten Sie dazu die VM und loggen Sie sich ein. Mit folgendem Befehl editieren Sie jetzt die entsprechende Datei:

SHELL
$ sudo nano /etc/network/interfaces

Listing 2

In dieser Datei sehen Sie eine Auflistung der vorhandenen Interfaces, also „lo“ und „eth0“. Ändern Sie jetzt den Eintrag für „eth0“ folgendermaßen ab, wobei Sie die Daten eventuell durch die Ihres Heimnetzwerks ersetzen müssen:

/etc/network/interfaces
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.20
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

Listing 3

Tipp: Wenn es nach einem Neustart Probleme gibt und „eth0“ nicht mehr gefunden wird, kann das an den wechselnden MAC-Adressen der Interfaces liegen. Hier hilft ein einfaches Löschen der Datei „/etc/udev/rules.d/70-persistent-net.rules“. Damit löschen Sie alle bisher benutzten MAC-Adressen. Nach einem „sudo shutdown -h now“ und erneutem Starten der VM sollte „eth0“ wieder zur Verfügung stehen.
Anschließend tragen Sie noch einen Nameserver in die Datei „/etc/resolv.conf“ ein. Hier empfiehlt sich die IP des heimischen Routers oder eines anderen Nameservers.

Anzeige
Anzeige

Der letzte Schritt ist die Einrichtung einer Netzwerkbrücke, um der VM den Zugriff sowohl auf das Internet wie auch auf das lokale Netzwerk zu ermöglichen. Sie sollten in den Windows-Netzwerkverbindungen jetzt Ihre normale LAN-Verbindung und das „Virtualbox Hostinterface 1“ sehen. Schauen Sie zunächst in die Eigenschaften Ihrer LAN-Verbindung und notieren Sie sich die vorhandenen Einstellungen unter TCP/IP. Wählen Sie danach beide Verbindungen aus und klicken Sie mit rechts auf eine der Verbindungen. Hier wählen Sie „Verbindungen überbrücken“. Nach kurzer Wartezeit sollten Sie eine Netzwerkbrücke haben, die Sie jetzt noch konfigurieren müssen. Dazu genügt Rechtsklick –> Eigenschaften –> TCP/IP-Protokoll und dort die vorher notierten Daten Ihrer LAN-Verbindung eintragen.

Fertig: Sie können Ihre VM jetzt starten. Testen Sie, ob Sie mittels „ping google.de“ und „ping 192.168.0.1“ eine Namensauflösung und Verbindung ins Internet sowie ins lokale Netzwerk bekommen. Die IP ersetzen Sie bitte durch die lokale Kennung Ihres Netzwerks, beispielsweise 192.168.0.0. Damit ist die Netzwerkkonfiguration abgeschlossen und Ihre VM erscheint jetzt im Heimnetzwerk wie ein eigenständiger Rechner. Wenn Sie die IP der VM in Ihrem Browser aufrufen, sollte bereits der Verzeichnisinhalt des Apache-Webservers zu sehen sein.

Tanze Samba mit mir

Samba wurde bereits bei der Auswahl der Pakete während des Installationsvorgangs installiert, es muss allerdings noch konfiguriert werden. Dafür benutzen wir wieder den Editor:

Anzeige
Anzeige
SHELL
$ sudo nano /etc/samba/smb.conf

Listing 4

Samba bietet sehr flexible Konfigurationsmöglichkeiten, der Artikel beschränkt sich jedoch auf die Einbindung in ein Windows-Netzwerk und die Freigabe des Apache-Hauptverzeichnisses für den Lese- und Schreibzugriff von außen. Dafür scrollen Sie bis an das Ende der Datei „smb.conf“ und fügen dort diesen Code-Block ein:

/etc/samba/smb.conf
[webroot]
		comment = Apache Webroot
		writable = yes
		path = /var/www
		public = no

Listing 5

Ändern Sie zusätzlich ganz oben in der Datei im Abschnitt „global“ den Eintrag „workgroup“ zu der Arbeitsgruppe, die Sie in Ihrem heimischen Windows-Netzwerk benutzen. Anschließend speichern Sie die Datei und beenden den Editor. Sie müssen jetzt noch Ihren Benutzer in die Samba-Benutzerliste aufnehmen, damit Sie von Ihrem Windows-Rechner aus auf die Freigaben der VM zugreifen können. Sie können dafür den gleichen Benutzernamen und das gleiche Passwort wie für Ihre Anmeldung an der VM benutzen.

SHELL
$ sudo smbpasswd -a IHR_NAME
$ sudo /etc/init.d/samba restart

Listing 6

Ihre VM erscheint nun im Netzwerk und bietet den Ordner „webroot“ an. Momentan können Sie allerdings keine Dateien anlegen oder bearbeiten, da „/var/www/“ dem User „root“ gehört. Wechseln Sie daher die Besitzrechte auf Ihren Samba-Benutzer:

Anzeige
Anzeige
SHELL
$ cd /var
$ sudo chown -R IHR_NAME.IHR_NAME www
$ sudo /etc/init.d/apache2 restart

Listing 7

Mit Putty auf die VM

Zum Abschluss prüfen Sie noch den Zugriff per SSH auf die VM. Der SSH-Server wurde schon während der Installation von Ubuntu ausgewählt und läuft bereits im Hintergrund. Für eine SSH-Verbindung bietet sich Putty [4] an, wer es etwas komfortabler mag, der sollte sich den „Putty Connection Manager“ [5] anschauen. Einfach die IP der VM eintragen, Port 22 (Standard) auswählen und verbinden. Zum Einloggen nutzen Sie die gewohnten Daten.

Domains zum Nulltarif

Es ist nicht gerade komfortabel, die eigenen Webprojekte auf der VM via IP-Adresse aufzurufen. Um beliebig viele Domains zur Verfügung zu haben, können Sie die Windows-Hosts-Datei und den Apache auf der VM benutzen. Die Datei finden Sie im Windows-Systemverzeichnis unter „[WINDOWS]\system32\drivers\etc\hosts“. Sie kann mit einem gängigen Editor bearbeitet werden und enthält standardmäßig nur eine Zeile für den localhost.

Hier können Sie die IP Ihrer VM eintragen und jede beliebige Domain dahinter. Bei Aufruf dieser Domain wird dann statt einer entfernten Domain Ihre VM aufgerufen. Ein Eintrag in die „hosts“-Datei sieht beispielsweise so aus:

Anzeige
Anzeige
c:\WINDOWS\system32\drivers\etc\
[...]
127.0.0.1       localhost
192.168.0.20    www.lokale-entwicklung.de

Listing 8

Diese Domain müssen Sie dann nur noch im Apache in einen vHost eintragen und das Verzeichnis (DocumentRoot) im webroot der VM anlegen beziehungsweise in der Apache-Datei eintragen.

Erstellen Sie ein Verzeichnis für die Domain, wechseln Sie in das Konfigurationsverzeichnis des Apache (/etc/apache2/) und legen Sie eine Kopie des Standard-Virtualhosts an. Anschließend bearbeiten Sie diese Datei nach Ihren Wünschen:

Shell
$ mkdir /var/www/entwicklung
$ cd /etc/apache2/sites-available
$ sudo cp default entwicklung
$ sudo nano entwicklung

Listing 9

Tragen Sie ganz oben in der Datei unter „ServerAdmin“ die Domain ein, die Sie in der „hosts“-Datei von Windows eingetragen haben. In diesem Beispiel sieht die „vHost“-Datei so aus:

/etc/apache2/sites-available/entwicklung
[...]
ServerName www.lokale-entwicklung.de
DocumentRoot /var/www/entwicklung
[...]
<Directory /var/www/entwicklung>
[...]

Listing 10

Anschließend müssen Sie den vHost noch aktivieren und den Apache neu laden:

Shell
$ sudo a2ensite entwicklung
$ sudo /etc/init.d/apache2 reload

Listing 11

Nach einem Aufruf von http://www.lokale-entwicklung.de erscheint jetzt das leere Verzeichnis auf der VM, vorausgesetzt, Sie haben die „hosts“-Datei bereits gespeichert. Auf diese Art können Sie beliebig viele Webprojekte mit unterschiedlichen Domains auf Ihrer VM ansteuern und bearbeiten.

Fazit

Eine virtuelle Entwicklungsumgebung bietet sehr viele Möglichkeiten, fordert aber auch einen entsprechenden Einarbeitungs- und Konfigurationsaufwand. Wer sowieso mit Linux arbeitet, wird damit keine Probleme haben. Alle anderen sollten die Chance nutzen, um ihre ersten Gehversuche mit Linux in einer sicheren Umgebung zu machen. Wenn die VM mal zerschossen wird, ist das nicht weiter tragisch, auf einem Produktivserver kann das hingegen sehr unangenehm sein.

Später bietet es sich an, das virtuelle Entwicklungssystem zu erweitern. Der Autor nutzt sein System zum Beispiel für die Versionsverwaltung mit Subversion, zur Programmierung mit Ruby(OnRails), PHP und Python, zur Shell-Programmierung, zum Debuggen von Produktivsystemen und zu vielem mehr. Was bei der Konstellation aus VirtualBox und Ubuntu etwas störend wirkt, ist die leicht wackelige Installation der Ubuntu Server Edition – im laufenden Betrieb gab es hingegen keine Probleme. Alternativ bietet sich die Kombination aus Ubuntu Server und VMware Server/Fusion. Die Schritte zur Installation und Konfiguration sind (zumindest unter Windows) nahezu identisch.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige