In meiner aktuellen Entwicklungsumgebung nutze ich Vagrant in Kombination mit VirtualBox, Docker und DDEV, um meine Projekte sauber und portabel zu isolieren. Die Konfiguration ist speziell auf Webentwicklung ausgelegt und umfasst die gängigsten Dienste und Ports, die ich benötige.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "../images/vagrant-dev.box"
config.vm.box_check_update = false
config.vm.network "forwarded_port", guest: 80, host: 80, host_ip: "127.0.0.1", id: "http"
config.vm.network "forwarded_port", guest: 443, host: 443, host_ip: "127.0.0.1", id: "https"
config.vm.network "forwarded_port", guest: 3306, host: 3306, host_ip: "127.0.0.1", id: "mysql"
config.vm.network "forwarded_port", guest: 9000, host: 9000, host_ip: "127.0.0.1", id: "php-fpm"
config.vm.network "forwarded_port", guest: 8025, host: 8025, host_ip: "127.0.0.1", id: "mail"
config.vm.network "forwarded_port", guest: 8026, host: 8026, host_ip: "127.0.0.1", id: "mail-secure"
config.vm.network "forwarded_port", guest: 10999, host: 10999, host_ip: "127.0.0.1", id: "debug"
config.vm.network "forwarded_port", guest: 22, host: 2222, host_ip: "127.0.0.1", id: "ssh"
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider "virtualbox" do |vb|
vb.cpus = 2
vb.memory = "2048"
vb.customize ["modifyvm", :id, "--ioapic", "on"] # Verbesserte IO-Leistung
vb.name = "developer-build"
end
end
Details:
Port-Weiterleitungen:
Um meine Entwicklungsdienste bequem von meinem Host-System zu erreichen, leite ich wichtige Ports weiter:
- HTTP (80), HTTPS (443): Für Webserver wie Apache oder Nginx.
- MySQL (3306): Zugriff auf die Datenbank.
- PHP-FPM (9000): Für PHP-Dienste.
- Mail-Testing (8025 & 8026): Testen von Mails ohne echte Zustellung.
- SSH (2222): Zugriff auf die VM per Terminal.
- Debugging (10999): Platz für Debugging-Dienste oder Tools.
Ressourcenmanagement:
Die VM ist mit 2 CPU-Kernen und 2048 MB RAM ausgestattet. Durch ioapic wird die I/O-Leistung optimiert.
ioapic? keine Ahnung, kam von ChatGPT
Deaktivierter Sync-Folder:
Ich verzichte bewusst auf den synchronisierten Standardordner (/vagrant), davon abgesehen hab ich keine guest additions für VirtualBox installiert
Kompakte Box:
Als Basis dient eine vorgefertigte Box (vagrant-dev.box), die ich selbst vorbereite und versioniere. Dadurch bleibt das Setup reproduzierbar und flexibel.
Dieses Vagrantfile bietet mir eine stabile Basis für Webentwicklungsprojekte. Egal, ob ich an LAMP-Stacks, PHP-Anwendungen oder Datenbanktests arbeite – mit wenigen Anpassungen kann ich die Umgebung schnell erweitern oder anpassen.
Falls ihr auch mit Vagrant arbeitet: Welche Features oder Tricks nutzt ihr in euren Vagrantfiles? Schreibt’s mir gerne in die Kommentare! 😊
*als ob, die Kommentarfunktion ist deaktiviert
Plugin Empfehlung: https://wpdeveloper.com/plugins/disable-comments/