•Vagrant ile alakalı tüm yapılandırmamız Vagrantfile adındaki dosyamızda tanımlanacak.
•Bu dosyayı oluşturmak için izlenecek komutlar şöyledir:
3.1 Vagrantinit
•Vagrantfile adındaki dosyayı, yeni bir dosya oluşturup ismini “Vagrantfile” yaparak oluşturabilirsiniz. Ancak bize ek faydalar sağlaması sebebiyle, Vagrantfile dosyasını komut satırında oluşturacağız.
•Vagrantfile oluşturmak için kullanacağımız komut taslağı şudur;
• Kutu-adı: Eğer bilgisayarınıza daha önceden vagrant box add komutu ile tanımlamış olduğunuz temel kutular varsa, o kutulardan kullanmak istediğinizin ismini bu parametre yerine yazıyorsunuz.
• Kutu-url: Kullanacağınız temel kutunun url’sini, Vagrantfile oluştururken belirtmek isteyebilirsiniz. Bu gibi durumlarda bu parametreyi kullanabilirsiniz.
•Seçenekler
•–force : Vagrantfile oluşturmak istediğiniz dizinde daha önceden oluşturulmuş Vagrantfile varsa ve biz “Vagrant init” komutunu çalıştırmışsak üzerine yazmadan hata veriyor. Ancak bu parametreyi kullanırsanız, var olan dosyanın üzerine yazabilirsin demiş oluyorsunuz.
•–minimal : Bu parametreyi kullanmazsak Vagrantfile içerisinde açıklama satırları ile belirtilmiş bazı tanımlamalar geliyor (Aşağıda daha net açıkladım). Eğer bu parametreyi kullanırsanız, Vagrantfile içeriği minimize ediliyor ve içeriğine şu üç satır yazılıyor.
•–output FILE : Bu komut, Vagrant tanımlamalarını içerisinde barındıracak olan Vagrantfile dosyasının farklı bir isimle kaydedilmesini sağlar. FILE kısmına ne yazarsanız dosya isminiz o olacaktır.
3.2 VagrantUp
•Sanal sunucumuzu her ayağa kaldırmak istediğimizde bu komutu kullanacağız.
•Bu komut, verildiği dizinde Vagrantfile isimli dosyayı arar.
•Bulursa içindeki tanımlamaları, Provider’a yani kullanmış olduğumuz VirtualBox yazılımına iletir. VirtualBox da bu bilgiler ışığında bize lazım olan sunucuyu hazır eder.
3.3 Vagrant Halt
•Bu komut çalışır durumda olan sanal makinenizi tamamen kapatmanızı sağlar.
•Bilgisayarınızın bir sonraki açmanıza dek kapalı durması gibi düşünebilirsiniz.
•Eğer herhangi bir sebep ile kapanmıyorsa {seçenek} parametresi olarak –force veya kısaca -f verilebilir ve sunucu kapatılmaya zorlanabilir.
3.4 VagrantReload
•Sanal makinenizi yeniden başlatmanızı sağlar.
3.5 VagrantSuspend
•Makinenizin aktif durumu kaydedilir ve uyku moduna almanızı sağlar.”Resume” komutunu kullanana kadar makineniz güzel güzel uyur.
3.6 VagrantResume
•”Suspend” ile uyuttuğunuz makinenizi uyandırmanızı ve kaldığı yerden çalışmaya devam etmesini sağlar.
3.7 VagrantDestroy
•İlgili makinenin komple silinmesini sağlar.
•Eğer bu komutu makineniz çalışır durumdayken verirseniz, makine tanımınız VirtualBox içerisinden silinir.
•Ancak, disk üzerindeki VirtualBox ın yapılandırdığı sanal makine dosyaları silinmez. Çünkü o dosyalar o an kullanımdadır. O yüzden bu komutu vagrant halt komutundan sonra kullanmak daha mantıklıdır.
4. Vagrant Box Çıktı Alma
•Kendi oluşturuduğumuz yada düzenlendiğimiz Box’ı çalışma arkadaşlarımız yada sanal ortamda herkese açmak için ilgili dosyayı çıktı alarak .box uzantılı dosyayı oluşturuyoruz.
4.1 Vagrant Box Paylaşım İçin Hesap Oluşturma: (1/4)
•https://app.vagrantup.com/account/new
•Adres girip önce forum bilgilerini dolduruyoruz ve maile linkle hesabımızı onaylatıyoruz.
4.1 Vagrant Box Paylaşım İçin Hesap Oluşturma: (2/4)
•Sağ üst Yeni Vagrant Kutu butonundan yeni sayfaya geçiş yapıyoruz.
•2. ile işaretli alana kutu ismimizin url’sini oluşturacak kısmı dolduruyoruz.
4.1 Vagrant Box Paylaşım İçin Hesap Oluşturma: (3/4)
•Oluşturacağımız kutu için .box dosyasını yükleme yapmadan önce Box’ın hangi version olduğunu ve varsa ek açıklamaları ekliyoruz ardından create version deyip diğer adıma geçiyoruz.
•Üst bölümden Provider’ı seçip yani bu Box’ın hangi Provedir’da çalışacağını belirtiyoruz çünkü başka provider’da kullananlar olabilir.
•Contiune to upload deyip diğer adıma geçiş yapıyoruz.
4.1 Vagrant Box Paylaşım İçin Hesap Oluşturma: (4/4)
•Provider seçildikten sonra .box uzantılı dosyamızı ilgili yerden ekliyoruz.
4.2 Paylaşılan VagrantBox’u kurma:
•Terminale •Vagrant box add muhammedpolat/isletimsistemleribox \ –box-version 1.1
•Yazıp box’umuzu ekliyoruz.
•Vagrant init muhammedpolat/isletimsistemleribox \ –box-version 1.1
•İle vagrantfile dosyasını oluşturup vagrant up ile çalıştırıyoruz.
4.2.1 Kendi Box’umuzu local makinede kurmak: (1/2)
•<Vagrant package> komutu ile kendi box’umuzun çıktısını alıyoruz.
4.2.1 Kendi Box’umuzu local makinede kurmak: (2/2)
•<vagrant box add package.box –name vagrant> •Komutu ile de local’de ki .box uzantılı box’umuzu vagranta ekliyoruz.
4.3 SyncedFolder (Senkronizasyon Klasörleri)
•Vagrant size kendi makineniz ile sanal sunucu olarak çalışan makine arasında dosya senkronizasyonu yapmanızı sağlıyor. Kendi makinenizde kaynak klasörünüz var, birde sanal makinede hedef klasörünüz. İşte Vagrant bu ikisini birbirine eşitliyor.
4.3.1 Syncing İşlemleri: (1/2)
•Vagrantfile dosyasının içerisinde aşağıda ki kodu ilgili satıra yazdıktan sonra kaydediyoruz.
•config.vm.synced_folder “./ortak/”, “/ortak/ortak”
4.3.1 Syncing İşlemleri: (2/2)
•İlk başta Vagrant’ı çalıştırdığımızda «ls –al» komutu ile çalıştırdığımız da dosya listesi ile daha sonra ki komutlarla oluşturduğumuz dosyalar en son ki «ls –al» komutu ile görünüyor.
4.4 Çoklu İşletim Sistemi Çalıştırma (1/9)
•Vagrant’ın bize sunduğu özelliklerden biriside çoklu işletim sistemi çalıştırma.
•Test ettiğimiz bir projeyi aynı anda çalışan birden çok işletim sisteminde deneyebilme özelliğine sahip oluyoruz.
4.4 Çoklu İşletim Sistemi Çalıştırma (2/9)
•Örneğin Windows’ta test ettiğiniz bir projenizi aynı şekilde herhangi bir Linux dağıtımında çalışıp çalışmadığı kontrol edebilmek için iki makinenin çalışır halde olması bizlere avantaj sunacaktır.
4.4 Çoklu İşletim Sistemi Çalıştırma (3/9)
•Bu işlemi vagrantfile isimli dosyada gerekli değişiklikler yaparak gerçekleştirebiliriz.
•Yandaki vagrantfile dosyasında olduğu gibi;
•Vagrant.configure(‘’2’’) do
•Komutu ile gerekli konfigrasyonları sağlayarak 2 adet işletim sistemi eklenir.
4.4 Çoklu İşletim Sistemi Çalıştırma (4/9)
•Burada örnek olarak 2 adet işletim sistemi eklenmiştir ama istenirse daha fazla işletim sistemi de eklenebilir.
•Burada lb1 1. işletim sistemi web1 ise ikinci işletim sistemini temsil etmektedir. Bu isimleri değiştirip kendimize göre isimler koyabilir fakat bu isimler makineye bağlanılırken kullanılacak isimler olduğu için dikkatli seçmekte fayda vardır.
4.4 Çoklu İşletim Sistemi Çalıştırma (5/9)
•Eğer ki vagrantfile isimli dosyaya eklediğimiz işletim sistemleri daha önce indirilmemiş ise vagrant up komutu verildiğinde inmemiş olan işletim sistemi de UP komutu gerçekleştirilmeden önce inmeye başlayacaktır.
4.4 Çoklu İşletim Sistemi Çalıştırma (6/9)
•Vagrant up komutu ile 2 adet işletim sistemimi çalışıyor görselde görüldüğü gibi.
4.4 Çoklu İşletim Sistemi Çalıştırma (7/9)
•İlk olarak Pardus işletim sistemimize bağlanıyoruz.
•Pardus işletim sistemini vagrantfile’da web1 olarak ayalardığımız için.
•Vagrant ssh web1 yazdığımızda Pardus işletim sistemimize bağlanıyor ve bu sırada 2 işletim sistemi de çalışır durumda.
4.4 Çoklu İşletim Sistemi Çalıştırma (8/9)
•Burada da 2. işletim sistemimiz olan Ubuntu’ya bağlanıyoruz.
•Vagrantfile’da lb1 olarak adlandırdığımız içinde
•Vagrant ssh lb1 ile makinemize bağlanıyoruz.