~~NOTOC~~
====== LU10a - Setup: VirtualBox & Vagrant installieren ======
**Ziel:** Du kannst die nötigen Tools (**VirtualBox**, **Vagrant**) korrekt installieren, die **Hardware-Virtualisierung** prüfen/aktivieren und ein erstes **Vagrant-Testprojekt** starten, um das Setup zu verifizieren.
===== Übersicht =====
Bevor wir mit **Multi-Node Labs** (LU10b) und **Provisioning mit Ansible** (LU10c) starten, muss dein Rechner als „Host“ bereit sein:
* Virtualisierung ist aktiv (CPU/BIOS/UEFI)
* VirtualBox läuft
* Vagrant ist installiert und im Terminal verfügbar
* Ein Test-VM-Start funktioniert
===== Was muss installiert sein? =====
^ Bestandteil ^ Pflicht? ^ Wozu? ^
| **VirtualBox** | Ja | Virtualisierung (Provider) für unsere VMs |
| **VirtualBox Extension Pack** | Optional | Zusätze wie USB/weitere Features (nicht zwingend für Basics) |
| **Vagrant** | Ja | VMs als Code (Vagrantfile), Multi-VM-Labs, Lifecycle-Commands |
| **Git** | Optional | Projekte/Unterlagen klonen, Versionsverwaltung |
| **Editor (VS Code o.ä.)** | Optional | Vagrantfile/Playbooks bearbeiten |
**Wichtig:** Für LU10b verwenden wir (empfohlen) **ansible_local**. Dann muss Ansible **nicht** auf deinem Host installiert sein, sondern wird in der VM genutzt.
===== Schritt 0: Hardware-Virtualisierung prüfen (sehr häufige Fehlerquelle) =====
==== Windows (10/11) ====
* Task-Manager → **Leistung** → **CPU** → „**Virtualisierung: Aktiviert**“
* Wenn dort „Deaktiviert“ steht: im BIOS/UEFI einschalten (Intel VT-x / AMD-V)
==== macOS ====
* Intel-Macs: Virtualisierung ist in der Regel ok.
* Apple Silicon (M1/M2/M3…): VirtualBox Support ist erst in neueren Versionen da – achte darauf, dass du eine passende VirtualBox-Version verwendest.
==== Linux ====
* Quick-Check im Terminal:
egrep -c '(vmx|svm)' /proc/cpuinfo
* Ergebnis > 0 bedeutet: CPU unterstützt Virtualisierung.
Wenn Virtualisierung im BIOS/UEFI aus ist, funktionieren VMs oft gar nicht oder extrem langsam. Das ist der #1-Showstopper.
===== Schritt 1: VirtualBox installieren =====
==== Download (offiziell) ====
* VirtualBox von der offiziellen Download-Seite beziehen.
* Nach Installation: VirtualBox einmal starten.
==== Windows ====
1) Installer ausführen
2) Standard-Optionen ok
3) Nach der Installation VirtualBox starten → es soll ohne Fehlermeldung öffnen
==== macOS ====
* Intel & Apple Silicon: achte darauf, dass du das richtige Paket für deine Plattform installierst.
* Falls macOS Sicherheitsdialoge zeigt: System-Einstellungen → Datenschutz/Sicherheit → Systemerweiterung erlauben (falls verlangt).
==== Linux ====
* Je nach Distribution gibt es Pakete/Repos.
* Wichtig: Kernel-Module müssen korrekt gebaut/geladen sein (Fehler zeigen sich beim Start der VM).
===== Schritt 2 (optional): VirtualBox Extension Pack =====
Das Extension Pack kann nützlich sein, ist für unseren Standard-Workflow aber meist nicht nötig.
Für Unterricht/Labs gilt: **Installiere das Extension Pack nur, wenn du es wirklich brauchst** (z.B. USB-Passthrough).
===== Schritt 3: Vagrant installieren =====
==== Installation (offiziell) ====
* Installiere Vagrant mit dem offiziellen Installer für dein OS.
* Danach Terminal neu öffnen (damit PATH/Umgebungsvariablen sauber geladen sind).
==== Verifikation ====
vagrant --version
Wenn du eine Versionsausgabe bekommst, ist Vagrant korrekt installiert.
Wenn `vagrant` „nicht gefunden“ wird: Terminal neu starten oder ab-/anmelden. Unter Windows ist das der häufigste Stolperstein.
===== Schritt 4: Testprojekt erstellen (Smoke Test) =====
Wir erstellen ein Minimalprojekt und starten eine VM.
==== 1) Projektordner anlegen ====
mkdir vagrant-test
cd vagrant-test
==== 2) Vagrantfile initialisieren ====
Variante A (Standard-Box, wenn verfügbar):
vagrant init ubuntu/jammy64
==== 3) VM starten ====
vagrant up
==== 4) Einloggen ====
vagrant ssh
==== 5) In der VM prüfen ====
uname -a
ip a
ls -la /vagrant
==== 6) Beenden ====
exit
vagrant halt
**Erwartung:**
* `vagrant up` lädt beim ersten Mal eine Box (kann dauern)
* `vagrant ssh` funktioniert
* `/vagrant` enthält deinen Projektordner
===== Schritt 5: Häufige Fehler & Fixes =====
==== Problem: „VT-x/AMD-V not available“ oder VM startet nicht ====
Ursache: Virtualisierung im BIOS/UEFI aus (oder Hypervisor-Konflikt).
Fix:
* BIOS/UEFI: Intel VT-x / AMD-V aktivieren
* Danach neu starten
==== Problem (Windows): Hyper-V / WSL / Windows Hypervisor blockiert VirtualBox ====
Symptome:
* VM startet extrem langsam oder gar nicht
* Fehlermeldungen rund um Hypervisor
Fix-Ideen (je nach Schulgerät/Policy):
* Windows-Features: Hyper-V / Virtual Machine Platform / Windows Hypervisor Platform prüfen
* Falls nötig: deaktivieren (und neu starten)
In Schulumgebungen kann das durch Policies eingeschränkt sein. Wenn du keine Adminrechte hast: früh melden, damit wir eine Lösung finden (Alternativ-Setup / Schulgeräte / Remote-VM).
==== Problem: „Port already in use“ ====
Ursache: Port-Forwarding kollidiert mit einem Dienst auf deinem Host.
Fix:
* anderen Host-Port wählen
* oder den belegenden Dienst stoppen
==== Problem: Download/Box-Fehler ====
Fix:
* Internet/Proxy prüfen
* `vagrant box list` ansehen
* Box neu laden:
vagrant box remove ubuntu/jammy64
vagrant up
===== Apple Silicon Hinweis (M1/M2/M3/…) =====
Auf Apple Silicon ist Virtualisierung grundsätzlich möglich – aber:
* Du brauchst eine VirtualBox-Version, die Apple Silicon unterstützt.
* Deine Vagrant-Box muss zur Architektur passen (ARM64 vs x86_64).
Wenn du auf Apple Silicon Probleme hast, melde dich früh: Dann entscheiden wir gemeinsam, ob du
* mit kompatiblen ARM-Boxen arbeitest,
* oder einen alternativen Provider/Remote-Setup nutzt.
===== Abgabe/Checkliste (Selbstkontrolle) =====
^ Check ^ OK? ^
| Virtualisierung aktiv (Windows Task-Manager / Linux vmx/svm) | ☐ |
| VirtualBox startet ohne Fehler | ☐ |
| `vagrant --version` funktioniert | ☐ |
| `vagrant up` im Testprojekt klappt | ☐ |
| `vagrant ssh` klappt | ☐ |
| `/vagrant` ist in der VM vorhanden | ☐ |
----
{{tag>M321-LU10}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Kevin Maurizi