iToverDose/Yazılım· 24 HAZIRAN 2026 · 08:00

Vagrant ile laptopta çoklu makine ortamı kurmak: adım adım rehber

Günlük geliştirme ortamlarınızda VirtualBox ve manuel kurulumların karmaşasından sıkıldıysanız, Vagrant ile her şeyi birkaç komutla otomatikleştirebilirsiniz. Bu rehberde, iki web sunucusu ve bir veritabanını aynı anda çalıştıran bir laboratuvar ortamı nasıl oluşturulur öğreneceksiniz.

DEV Community4 dk okuma0 Yorumlar

Geliştiricilerin çoğu, farklı projeler için çeşitli işletim sistemleri ve yazılımlar üzerinde çalışırken VirtualBox gibi araçlarla çoklu sanal makine (VM) kurulumuna başvurur. Ancak bu süreç, manuel kurulum adımları, yapılandırma dosyalarının yönetimi ve gelecekte aynı ortamı yeniden oluşturmanın zorluğu nedeniyle zaman kaybına yol açabilir. Neyse ki, Vagrant adlı araç sayesinde tüm bu karmaşayı basit bir metin dosyası ve birkaç terminal komutuyla yönetmek mümkün hale geliyor.

Vagrant, otomatik VM yönetimi sağlayan ve geliştiricilerin gerçek dünya senaryolarını kolayca simüle etmelerine olanak tanıyan bir altyapı olarak öne çıkıyor. Bu rehberde, iki web sunucusu ve bir veritabanı sunucusundan oluşan çoklu makine ortamını laptopunuzda nasıl kurabileceğinizi adım adım göstereceğiz.

Vagrant nedir ve neden tercih edilir?

Vagrant, Ruby tabanlı bir araç olarak 2010 yılında ilk kez kullanıma sunuldu ve o günden bu yana geliştirici toplulukları arasında popülerliğini koruyor. Temel amacı, geliştirme ortamlarını standartlaştırmak ve herhangi bir cihazda aynı şekilde yeniden oluşturulabilir hale getirmektir. Bu sayede, takım üyeleri arasında ortam farklılıklarından kaynaklanan sorunlar en aza indirilir.

Vagrant’ın en büyük avantajlarından biri, çeşitli sanal makine sağlayıcılarıyla (VirtualBox, VMware, Hyper-V gibi) entegre çalışabilmesidir. Ayrıca, Vagrantfile adı verilen bir yapılandırma dosyası sayesinde tüm VM ayarlarını tek bir yerden yönetmek mümkündür. Bu dosya, programlama diline benzer bir sözdizimiyle yazılır ve gerektiğinde kolayca değiştirilebilir.

Gereksinimlerinizi belirleyin

Projenizin ihtiyaçlarına göre hangi bileşenlere ihtiyaç duyduğunuzu önceden belirlemek, Vagrant kullanımında ilk adım olmalıdır. Bu rehberde oluşturacağımız ortam için üç temel bileşen gerekiyor:

  • İki adet web sunucusu: Farklı portlarda çalışan Apache veya Nginx gibi web sunucuları.
  • Bir adet veritabanı sunucusu: MySQL ya da PostgreSQL gibi ilişkisel veritabanı sistemleri.
  • Ortak bir ağ yapılandırması: Tüm makinelerin birbirleriyle iletişim kurabilmesi için özel bir ağ arayüzü.

Bu bileşenler, geliştirme sürecinde sıkça karşılaşılan senaryoları simüle etmek için ideal bir temel oluşturur. Örneğin, bir web uygulaması geliştirirken, hem uygulamanın hem de veritabanının yerel olarak çalışmasını sağlamak önemlidir.

Adım adım Vagrant ortamı kurulumu

Vagrant’ı kullanmaya başlamadan önce, sisteminizde aşağıdaki bileşenlerin yüklü olduğundan emin olun:

  • VirtualBox (veya tercih ettiğiniz başka bir sanal makine sağlayıcısı)
  • Vagrant (en son sürüm)
  • Temel bir komut satırı arayüzü (Terminal, PowerShell ya da CMD)

1. Yeni bir proje dizini oluşturun

Öncelikle, projenizin dosyalarını düzenlemek için bir dizin oluşturun. Terminalinizi açın ve aşağıdaki komutları çalıştırın:

mkdir vagrant-multi-vm-lab
cd vagrant-multi-vm-lab

Bu dizin, Vagrant ortamınızın tüm yapılandırma ve kaynak dosyalarını barındıracak.

2. Vagrantfile oluşturun ve yapılandırın

Daha sonra, Vagrantfile adlı yapılandırma dosyasını oluşturun. Bu dosya, tüm VM’lerinizin nasıl yapılandırılacağını tanımlar. Aşağıdaki komutla yeni bir Vagrantfile oluşturun:

vagrant init ubuntu/focal64

Bu komut, Ubuntu 20.04 LTS tabanlı bir sanal makine için varsayılan bir yapılandırma dosyası oluşturur. Ancak, çoklu makine ortamınız için bu dosyayı manuel olarak düzenlemeniz gerekecek. Aşağıda, iki web sunucusu ve bir veritabanı sunucusu içeren bir örnek yapılandırma bulunmaktadır:

Vagrant.configure("2") do |config|
  # Web Sunucusu 1
  config.vm.define "web1" do |web1|
    web1.vm.box = "ubuntu/focal64"
    web1.vm.network "private_network", ip: "192.168.56.10"
    web1.vm.provision "shell", inline: <<-SHELL
      sudo apt-get update
      sudo apt-get install -y nginx
      sudo systemctl start nginx
    SHELL
  end

  # Web Sunucusu 2
  config.vm.define "web2" do |web2|
    web2.vm.box = "ubuntu/focal64"
    web2.vm.network "private_network", ip: "192.168.56.11"
    web2.vm.provision "shell", inline: <<-SHELL
      sudo apt-get update
      sudo apt-get install -y apache2
      sudo systemctl start apache2
    SHELL
  end

  # Veritabanı Sunucusu
  config.vm.define "db" do |db|
    db.vm.box = "ubuntu/focal64"
    db.vm.network "private_network", ip: "192.168.56.12"
    db.vm.provision "shell", inline: <<-SHELL
      sudo apt-get update
      sudo apt-get install -y mysql-server
      sudo systemctl start mysql
      sudo mysql_secure_installation
    SHELL
  end
end

Bu yapılandırma, her bir VM’nin benzersiz bir IP adresi ve farklı bir web ya da veritabanı hizmeti ile başlatılmasını sağlar. Ayrıca, her VM’nin ilk çalıştırılışında gerekli paketlerin otomatik olarak yüklenmesini ve hizmetlerin başlatılmasını da içerir.

3. Ortamı başlatın ve VM’leri çalıştırın

Yapılandırma dosyasını tamamladıktan sonra, tüm VM’leri başlatmak için terminalde aşağıdaki komutu çalıştırın:

vagrant up

Bu komut, VirtualBox üzerinde üç adet sanal makine oluşturacak ve her birine gerekli kurulumları yapacaktır. Süreç birkaç dakika sürebilir, çünkü her VM’nin ilk kez indirilmesi ve yapılandırılması gerekecektir.

Başarılı bir şekilde tamamlandığında, vagrant status komutunu kullanarak tüm VM’lerin durumunu kontrol edebilirsiniz:

vagrant status

Bu komut, her bir VM’nin çalışıp çalışmadığını gösteren bir çıktı döndürecektir.

4. Ortamınıza bağlanın ve test edin

Vagrant, her bir VM’ye bağlanmanızı da kolaylaştırır. Örneğin, web1 adlı VM’ye bağlanmak için:

vagrant ssh web1

Bu komut, terminalinizi doğrudan VM’nin içine aktaracak ve orada çalışan hizmetleri test etmenize olanak tanıyacak. Benzer şekilde, diğer VM’lere de bağlanabilir ve gerektiğinde yapılandırmalarınızı güncelleyebilirsiniz.

Vagrant’ın avantajları ve gelecek öngörüleri

Vagrant kullanmanın en büyük avantajlarından biri, geliştirme ortamlarının tamamen taşınabilir ve yeniden oluşturulabilir olmasıdır. Bu, takım üyeleri arasında ortam farklılıklarından kaynaklanan "çalışmıyor" sorunlarını neredeyse tamamen ortadan kaldırır. Ayrıca, bulut tabanlı ortamlarla uyumlu çalışması sayesinde, üretim ortamlarına benzer koşullarda testler yapabilmenize de olanak tanır.

Gelecekte, Vagrant’ın daha da entegre hale geleceği ve belki de yerini yeni araçlara bırakacağı öngörülüyor. Ancak, şu an için geliştiricilerin elindeki en güçlü araçlardan biri olmaya devam ediyor. Özellikle Docker gibi container teknolojileriyle birlikte kullanıldığında, çoklu ortam senaryolarını yönetmek çok daha basit hale geliyor.

Vagrant’ı kullanmaya başlamak için bugün bir proje oluşturun ve geliştirme sürecinizi standartlaştırın. Hem zaman kazanın hem de ortamlarınız arasındaki tutarlılığı artırın.

Yapay zeka özeti

Laptopunuzda VirtualBox karmaşasından kurtulun. Vagrant ile iki web sunucusu ve bir veritabanını tek bir komutla nasıl kurabilirsiniz? Adım adım rehber.

Yorumlar

00
YORUM BIRAK
ID #TLY3Z1

0 / 1200 KARAKTER

İnsan doğrulaması

6 + 7 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.