Chef vagrantni o'rnatish va sozlash. Vagrant. O'rnatish, sozlash, foydalanish. Vagrant-vbguest plaginini o'rnatish

Vagrant virtualizatsiya texnologiyasidan foydalangan holda virtual mashinalarni yaratish va boshqarish uchun vositadir.

Foydalanish uchun qulay algoritm va jarayonlarni avtomatlashtirish bilan Vagrant siz ishlayotgan muhitni sozlash va optimallashtirish uchun ketadigan vaqtni qisqartiradi. Qani ketdik.

Windows uchun o'rnatish

O'rnatish Vagrant o'zi juda oddiy, siz foydalanishni rejalashtirgan operatsion tizim uchun mijozni rasmiy veb-saytdan yuklab olishingiz va o'rnatish jarayonini boshlashingiz kerak. Ish uchun Vagrant ham yuklab olish kerak virtual quti rasmiy saytdan.

virtual quti Linux, macOS, Windows va boshqa tizimlarning virtualizatsiya jarayonini (oh, tavtologiya) amalga oshiradigan gipervisor. Dasturiy ta'minotni o'rnatish virtual quti, o'zi kabi Vagrant oddiy va sizga hech qanday savol va muammo tug'dirmaydi va ikkita dasturni o'rnatishingiz bilanoq tizimingizni qayta ishga tushirish tavsiya etiladi.

O'rnatilgandan so'ng, buyruq satrini oching va mavjudligini tekshiring Vagrant quyidagi kod qatorlari bilan:

$ vagrant Foydalanish: vagrant -v, --version Versiyani chop eting va chiqing. -h, --help Ushbu yordamni chop eting. # ...

Vagrant bilan virtual mashinani o'rnatishda birinchi qadam yaratishdir Vagrantfayl , unda barcha kerakli sozlamalar mavjud. Quyidagi buyruqni kiriting:

mkdir vagrant_demo && cd vagrant_demo vagrant init ubuntu/trusty64

Vagrantfayl fayl hisoblanadi yoqut, bu virtual mashinani qanday sozlash va ta'minlashni tavsiflaydi.

Biroq, virtual mashinani noldan yaratish o'rniga, dasturiy ta'minot sizga asosiy tasvirlardan foydalanishni taklif qiladi " andozalar" virtual mashinaning. Vagrant-dagi bu asosiy tasvirlar deyiladi Vagrant qutisi, ular Vagrant qutisini qo'shish vositasi yordamida Vagrantga qo'shiladi, bu Vagrant qutisini ma'lum bir nom ostida saqlaydi va uni bir nechta muhitda qayta ishlatishga imkon beradi. Ajoyib, shunday emasmi?

$ vagrant qutisiga hashicorp/precise64 qo'shing

Ushbu buyruq yordamida siz tugallanganni yuklab olishingiz mumkin bo'ladi Vagrant qutisi sarlavha bilan "hashicorp/precision64" katalogdan Vashgrant buluti , tayyor tasvirlarni almashish uchun ishlab chiquvchilar tomonidan taqdim etilgan. Shuni ham ta'kidlash kerakki, mahalliy fayllardan yoki maxsus URL-dan rasmlar qo'shish mumkin.

"Qutilar" har bir foydalanuvchi uchun alohida saqlanadi. Har bir loyiha Vagrant qutisi"quti" ning yangi nusxasini yaratadi va asl tasvirni hech qachon o'zgartirmaydi. Bu shuni anglatadiki, agar sizda bir xil tasvirdan foydalanadigan ikkita loyiha bo'lsa Vagrant qutisi hashicorp/precision64, bitta virtual mashinaga fayllarni qo'shish boshqasiga ta'sir qilmaydi.

Qachon Vagrant qutisi ga qo'shildi Vagrant, uni asos sifatida ishlatish uchun sozlashingiz mumkin. Vagrantfile-ni oching va tarkibni quyidagilarga o'zgartiring:

Vagrant.configure("2") |config|ni bajaring config.vm.box = "hashicorp/precise64" oxiri

Ko'rsatib, "quti" versiyasini belgilashingiz mumkin config.vm.box_version, masalan:

Vagrant.configure("2") |config|ni bajaring config.vm.box="hashicorp/precise64" config.vm.box_version="1.1.0" oxiri

Bundan tashqari, URL manzilini ko'rsatish mumkin config.vm.box_url :

Vagrant.configure("2") |config|ni bajaring config.vm.box = "hashicorp/precise64" config.vm.box_url = "https://vagrantcloud.com/hashicorp/precise64" oxiri

Biz birinchi Vagrant virtual mashinasini yuklaymiz va buyruqni kiritamiz: $ vagrant up

Bir daqiqa ichida bu buyruq tugallanadi va siz uchun Ubuntu virtual mashinasini ishga tushiradi. Yuklab olish jarayoni quyidagicha ko'rinadi:

Ishlayotganligini tekshirish uchun SSH-ni virtual mashinaga ulang: $ vagrant ssh .

Ushbu buyruq sizni to'liq SSH seansiga qo'yadi. Endi siz virtual mashina bilan ishlash imkoniyatiga egasiz. SSH seansi klaviatura yorlig'i bilan tugatilishi mumkin CTRL+D.

[elektron pochta himoyalangan]:~$ chiqish 127.0.0.1 ga ulanish yopildi.

Virtual mashina bilan ishlash oxirida siz buyruqni bajarishingiz kerak vagrant yo'q qilish va Vagrant VM tomonidan iste'mol qilinadigan har qanday resurslardan foydalanishni to'xtatadi.

Ubuntu-ga o'rnatish:

Aytgancha, darhol Ubuntu omborlarida mavjud bo'lgan Virtualbox-ni o'rnating: > sudo apt virtualbox-ni o'rnatish

Maslahat: Shuni ta'kidlash kerakki, Ubuntu omborlarida mavjud bo'lgan Vagrant va Virtualbox eng so'nggi versiya bo'lmasligi mumkin, bu dasturlarning so'nggi versiyalarini o'rnatish uchun ularni ishlab chiquvchilarning rasmiy veb-saytlaridan yuklab oling.

O'rnatish muvaffaqiyatli bo'lganligini tekshirish uchun biz Vagrant dasturining versiyasini quyidagi buyruq bilan tekshirishimiz mumkin: vagrant --version

Siz shunga o'xshash narsani ko'rishingiz kerak: Vagrant 2.0.2

Vagrant Ubuntu tizimida o'rnatilganligiga ishonch hosil qilganimizdan so'ng, biz ushbu dastur uchun eng keng tarqalgan foydalanish holati bo'lgan ishlab chiqish muhitini yaratishimiz mumkin.

Birinchi qadam loyihaning asosiy katalogi bo'ladigan katalog yaratishdir. Va biz Vagrantfayl qilamiz.

Loyiha katalogini yarating va unga o'ting:

Mkdir ~/mening-birinchi-vagrant-loyiham cd ~/mening-birinchi-vagrant-loyiham

Keyingi qadam vagrant init buyrug'i yordamida yangi Vagrantfaylni ishga tushirishdir. Ushbu misolda bizda CentOS 7 mavjud. Yangi Vagrantfaylni ishga tushirish uchun quyidagi buyruqni bajaring:

Vagrant init centos/7

“Vagrantfayl” ushbu katalogga joylashtirilgan. Endi siz o'zingizning birinchi virtual muhitingizni "vagrant qilishga" tayyorsiz! Iltimos, Vagrant faylidan foydalanish bo'yicha qo'shimcha ma'lumot olish uchun "vagrantup.com" dagi hujjatlar bilan bir qatorda Vagrantfile sharhlarini o'qing.

Vagrantni ishga tushirish orqali biz Vagrantfile fayliga muvofiq muhitni yaratishimiz va sozlashimiz mumkin.

Vagrant up ==> sukut bo'yicha: Tarmoq interfeyslarini sozlash va yoqish... standart: SSH manzili: 192.168.121.74:22 birlamchi: SSH foydalanuvchi nomi: vagrant standart: SSH autentifikatsiya usuli: shaxsiy kalit ==> sukut bo'yicha: Rsinxronlash papkasi: /home/ linuxize/Vagrant/my-first-vagrant-project/ => /vagrant

Yuqoridagi ma'lumotlardan ko'rinib turibdiki, Vagrant shuningdek, virtual mashinadagi /vagrant ichiga loyiha katalogini kiritadi, bu esa sizning loyiha fayllaringiz bilan xost kompyuteringizda ishlash imkonini beradi.

Atrof muhitga kirish uchun uni buyruq bilan boshlash kifoya:

Vagrant ssh

Atrof-muhitni to'xtatish:

Vagrant to'xtash

Quyidagi qator atrof-muhitni to'xtatadi va uning ishlashi uchun zarur bo'lgan barcha ma'lumotlarni tozalaydi:

Vagrant yo'q qilish

Bizning maqolamiz tufayli siz kompyuteringizda virtual mashinani o'rnatish va sozlash jarayonini ko'rdingiz Windows yoki Ubuntu 18.04, shuningdek, maqola virtual mashinani yaratish va sozlash jarayonini aniq ko'rsatib beradi. Foyda!

Ushbu maqola siz uchun foydalimi?

Iltimos, ayting-chi, nega?

Maqola siz uchun foydali bo'lmagani uchun uzr so'raymiz: (Agar qiyin bo'lmasa, nima sababdan ko'rsating? Batafsil javob uchun juda minnatdormiz. Bizni yaxshilashga yordam berganingiz uchun tashakkur!

Vagrant virtual mashinalar bilan ishlaydi, ya'ni virtualizatsiya uchun qandaydir "provayder" kerak. Va bizning misolimiz uchun VirtualBox mos keladi.

Windows 10-da VirtualBox 5-ni o'rnatish

Birinchidan, VirtualBox-ni rasmiy saytdan yuklab oling oxirgi versiyasi (hozirda 5.2.18). Buning uchun yuklab olish sahifasiga havolani bosgandan so'ng, Windows xostlari havolasini bosing:

Yuklab olingan VirtualBox-5.2.18-124319-Win.exe fayli VirtualBox-ni o'rnatish uchun ishga tushiriladi. O'rnatish jarayonining o'zi bir nechta "Keyingi" tugmachalarini bosish va jarayon tugashini kutish uchun qisqartiriladi. O'rnatuvchini ishga tushirgandan so'ng, quyidagi oyna paydo bo'ladi:

Bu erda biz Keyingiga bosing.

Keyingi bosqichda o'rnatiladigan barcha komponentlarni tanlang (sukut bo'yicha tanlangan) va Keyingiga bosing:

Keyingi bosqichda qo'shimcha sozlamalarni belgilang (agar kerak bo'lsa) yoki hamma narsani sukut bo'yicha qoldiring va "Keyingi" tugmasini bosing:


Keyingi bosqichda biz virtual adapterni o'rnatishni tasdiqlaymiz (ya'ni Ha ni bosing):

Va oxirgi bosqichda "O'rnatish" tugmasini bosing:

O'rnatish jarayonida, agar foydalanuvchi hisobini boshqarish yoqilgan bo'lsa, quyidagi tasdiqlash oynasi paydo bo'lishi mumkin. Unda "Ha" tugmasini bosing. Shundan so'ng, haqiqiy o'rnatish jarayoni boshlanadi.

Bundan tashqari, Windows 10-da VirtualBox 5-ni o'rnatish vaqtida qo'shimcha dasturiy ta'minotni o'rnatishni tasdiqlovchi dialog oynasi paydo bo'ladi:

Bu erda biz "O'rnatish" tugmasini bosing.

Va o'rnatish tugallangandan so'ng, dialog oynasi paydo bo'ladi:

Bu Windows 10 da VirtualBox o'rnatish jarayonini yakunlaydi.

Windows 10 da Vagrantni o'rnatish

Vagrantni o'rnatish uchun siz o'rnatish fayllari bilan paketni yuklab olishingiz kerak, bu havolada mavjud. Ko'rsatilgan oynada o'rnatuvchining so'nggi versiyasini tanlang (ushbu yozish paytida 2.1.5):


Va Windows-da o'rnatish uchun .msi kengaytmali faylni tanlang:

Yuklab olgandan so'ng, vagrant_2.1.5_x86_64.msi faylini ishga tushiring. Natijada, xush kelibsiz dialog oynasi paydo bo'ladi:

Keyingi bosqichda biz foydalanish shartlariga rozimiz ("Men qabul qilaman ..." katagiga belgi qo'ying) va "Keyingi" tugmasini bosing:

Keyingi bosqichda dastur o'rnatiladigan katalogni belgilang. Siz standart yo'lni qoldirishingiz mumkin, faqat biz uni qaerga o'rnatganimizni unutmang (yo'lni nusxalashingiz mumkin):

Va keyingi oynada "O'rnatish" tugmasini bosing:

O'rnatish tugashini kutamiz:

Shundan so'ng, o'rnatishni yakunlash natijalari bilan oyna paydo bo'ladi:

Vagrant-ni Windows 10-da o'rnatish tugallangandan so'ng, kompyuteringizni qayta ishga tushirishingizni so'ragan oyna paydo bo'ladi:

Bu erda biz "Ha" tugmasini bosing va kompyuterni qayta ishga tushirishni kutamiz. Agar siz boshqa dasturlarni qo'lda yopishingiz kerak bo'lsa (yoki muhim hujjatlardagi o'zgarishlarni saqlashingiz kerak), keyin "Yo'q" tugmasini bosing va keyin kompyuterni qo'lda qayta ishga tushiring.

Atrof-muhit o'zgaruvchilariga o'zgartirishlar kiritish

Kompyuterni qayta ishga tushirgandan so'ng, tizim o'zgaruvchilariga vagrant o'zgaruvchini qo'shishni unutmang. Bu buyruq satrida bitta buyruq bilan Vagrantga qo'ng'iroq qilishingiz uchun kerak: vagrant.

Biz buyruq qatori yordamida muhit o'zgaruvchilariga o'zgartirishlar kiritamiz va xususan PATH o'zgaruvchisiga biz Vagrant o'rnatilgan katalogga yo'lni qo'shamiz (bizning holatlarimizda bu: C:\HashiCorp\Vagrant\bin).

Biz buyruq qatorini quyidagicha chaqiramiz:

1. "Ishga tushirish" oynasini ochish uchun klaviaturadagi Ctrl+R tugmalarini bosing.
2. Ko'rsatilgan oynada buyruqni kiriting: cmd
3. OK tugmasini bosing:

Natijada siz quyidagilarni olishingiz kerak:

Buyruqlar qatori oynasida quyidagi buyruqni qo'shing: PATH=%PATH%;C:\HashiCorp\Vagrant\bin o'rnating.

va Enter tugmasini bosing:


Va endi, atrof-muhit o'zgaruvchilarida Vagrant-ga yo'lni o'rnatganimizni tekshirish uchun xuddi shu buyruq qatori oynasida biz buyruqni yozamiz: vagrant -v

va Enter tugmasini bosing:


Va bu buyruq bilan biz o'rnatilgan Vagrant versiyasi haqida ma'lumot olamiz. Agar hamma narsa maqoladagidek bo'lsa, unda hamma narsa to'g'ri bajarilgan.

Bu Windows 10 da Vagrant va VirtualBox-ni o'rnatish va sozlash jarayonini yakunlaydi.

Windows 10 da Vagrant-da virtual mashina yaratish

Virtual mashina yaratish uchun avval alohida katalog yarating, masalan, VagrantVM:

Ushbu katalogni buyruq satrida oching. Buning uchun biz cd buyrug'idan foydalanamiz. Bizning holatda, katalog quyidagi yo'lda joylashgan:

C:\VM"s\VagrantVM

Shunday qilib, buyruq satrida quyidagi buyruqni bajaring:

CD C:\VM"s\VagrantVM

Natijada biz quyidagilarni olamiz:


Masalan, biz ubuntu/trusty64 assambleyasidan foydalanamiz . Uni virtual mashinada ishga tushirish uchun avval ushbu yig'ilish bilan qutini ishga tushirishingiz kerak. Buni amalga oshirish uchun buyruq satrida quyidagi buyruqni bajaring:

Vagrant init ubuntu/trusty64

Natijada biz quyidagi xabarni olamiz:



Endi ishga tushirilgan qutini ishga tushiramiz:

Vagrant

Ushbu buyruqni ishga tushirgandan so'ng, virtual mashinani yuklash va sozlash boshlanadi. Ushbu operatsiyani bajarish tugagandan so'ng, VirtualBox-da yangi virtual mashina paydo bo'ladi:



Ushbu virtual mashina bilan SSH orqali ishlashingiz mumkin. Buning uchun bizga PuTTY dasturi kerak, uni bu yerdan yuklab olish mumkin (biz o'rnatish jarayonini tasvirlamaymiz, bu juda oddiy).

Vagrant virtual mashinalari bilan buyruq satridan ham ishlashingiz mumkin. Xuddi shu buyruq qatori oynasida buyruqni bajaring:

Vagrant ssh

Bu sizga parolni kiritishingizni so'raydi:

Standart parol: vagrant. Foydalanuvchi nomi: vagrant. Shuning uchun biz parolni bu erga kiritamiz: vagrant. Va Enter tugmasini bosing.

Natijada, parolni kiritgandan so'ng, biz quyidagi oynani olamiz:

ya'ni biz Ubuntu qobig'iga kiramiz. Bu erda siz to'g'ridan-to'g'ri virtual mashina bilan buyruq satridan foydalanib ishlashingiz mumkin.

Ushbu rejimdan Windows buyruq qatorining normal rejimiga qaytish uchun buyruqni bajaring: chiqish

PuTTY dasturi orqali virtual mashina bilan ishlash uchun virtual mashinaga ulanish uchun quyidagi parametrlarni belgilang:



Va Ochish tugmasini bosing. Ko'rsatilgan dialog oynasida Ha ni bosing:


Natijada biz quyidagilarni olamiz:



Bu erda siz login va parolingizni kiritishingiz kerak (biz ilgari aniqlaganimizdek, sukut bo'yicha vagrant / vagrant):



***Eslatma: parolni kiritishda belgilar ko'rsatilmaydi (hech qanday yo'l, hatto yulduzcha ham).

Ishlayotgan qutini o'chirish uchun buyruq qatori oynasida quyidagi buyruqni bajaring:

Vagrant to'xtash

*** Agar buyruq satri oynasi ilgari yopilgan bo'lsa, uni qayta ishga tushirishingiz va cd buyrug'i yordamida virtual mashinamiz joylashgan katalogni ochishingiz kerak.

Bu maqolani yakunlaydi. Keyingi maqolalarda biz Vagrant virtual mashinasida veb-serverni qanday sozlashni batafsil ko'rib chiqamiz.

Vagrant 2.2 - Baza qutisini yaratish

Asosiy qutini yaratish

"Asosiy qutilar" deb nomlanuvchi qutilarning maxsus toifasi mavjud. Bu maydonlar Vagrant ishlashi uchun zarur bo'lgan minimal miqdorni o'z ichiga oladi, odatda mavjud Vagrant muhitini qayta o'rash orqali amalga oshirilmaydi (shuning uchun "asosiy quti"dagi "tayanch").

Masalan, Vagrant loyihasi tomonidan taqdim etilgan Ubuntu qutilari (masalan, "exact64") asosiy hisoblanadi. Ular mavjud muhitni qayta to'plash uchun emas, balki ISO-dan Ubuntu-ning minimal o'rnatilishidan yaratilgan.

Asosiy qutilar kelajakdagi rivojlanish muhitini qurish mumkin bo'lgan toza boshlang'ich nuqtaga ega bo'lish uchun juda foydali. Vagrant loyihasi kelajakda ko'plab boshqa operatsion tizimlar uchun baza qutilarini taqdim etishga umid qilmoqda. O'sha vaqtga qadar ushbu sahifada siz o'zingizning asosiy qutingizni qanday yaratishingiz mumkinligi hujjatlashtirilgan.

Kengaytirilgan mavzu! Asosiy blokni yaratish ko'p vaqt talab qiladigan va zerikarli jarayon bo'lishi mumkin va yangi Vagrant foydalanuvchilari uchun tavsiya etilmaydi. Agar siz Vagrant-ni endigina boshlayotgan bo'lsangiz, avvalo mavjud asosiy maydonlarni topishni tavsiya qilamiz.

Asosiy qutida nima bor?

Asosiy blok odatda Vagrantni ishga tushirish uchun minimal dasturlar to'plamidan iborat. Masalan, Linux maydoni faqat quyidagilarni o'z ichiga olishi mumkin:

  • Paket menejeri
  • Vagrant ulanishi uchun SSH foydalanuvchisi
  • Ehtimol, oshpaz, qo'g'irchoqboz va boshqalar, lekin shart emas.

Bunga qo'shimcha ravishda, har bir provayder qo'shimcha dasturiy ta'minotni talab qilishi mumkin. Misol uchun, agar siz VirtualBox uchun asosiy blokni qurayotgan bo'lsangiz, umumiy papkalarning to'g'ri ishlashi uchun mehmon virtual foydalanuvchi qo'shimchalarini yoqishni xohlaysiz. Ammo agar siz asosiy AWS qutisini qurayotgan bo'lsangiz, bu shart emas.

Asosiy qutini yaratish

Asosiy maydonni yaratish aslida provayderga xosdir. Bu VirtualBox, VMware, AWS va hokazolardan foydalanayotganingizga qarab, asosiy qutini yaratish jarayoni boshqacha ekanligini anglatadi. Shu sababli, ushbu hujjat asosiy blokni qurish uchun to'liq qo'llanma bo'la olmaydi.

Biroq, ushbu sahifada asosiy qutilarni qurish bo'yicha ba'zi umumiy ko'rsatmalar tasvirlanadi va asosiy qutilarni qurish uchun sotuvchiga xos qo'llanmalarga havolalar taqdim etiladi.

Asosiy qutilarni yaratish bo'yicha maxsus qo'llanmalar quyida keltirilgan:

Packer va hobo bulut

Asosiy qutilaringiz uchun takrorlanadigan tuzilmalarni yaratish, shuningdek Atlas yordamida avtomatlashtirishni yaratish uchun Packer-dan foydalanishni tavsiya etamiz. Atlas hujjatlarida qadoqlovchi bilan boks qutilarini yaratish haqida ko'proq bilib oling.

Disk maydoni

Asosiy maydonni yaratishda foydalanuvchi bezovta qilmasdan qiziqarli narsalarni qilish uchun etarli disk maydoniga ega ekanligiga ishonch hosil qiling. Masalan, VirtualBox-da katta maksimal o'lchamli dinamik o'lchamdagi diskni yaratishingiz kerak. Bu diskning haqiqiy hajmini dastlab kichik bo'lishiga olib keladi, lekin oxirgi foydalanuvchi uchun maksimal moslashuvchanlikni ta'minlab, disk maydoni kerak bo'lganda maksimal hajmgacha dinamik ravishda o'sib boradi.

Agar siz AWS asosiy blokini qurayotgan bo‘lsangiz, AMI ni EBS xotirasining terabaytlarini ajratishga majburlamang, masalan, foydalanuvchi buni o‘zi qilishi mumkin. Lekin siz sukut bo'yicha vaqtinchalik drayverlarni o'rnatishingiz kerak, chunki ular bepul va juda ko'p disk maydonini ta'minlaydi.

Xotira

Diskdagi bo'sh joy kabi, standart saqlash joyining to'g'ri balansini topish muhimdir. Aksariyat provayderlar uchun foydalanuvchi xotirani Vagrantfile bilan o'zgartirishi mumkin, shuning uchun sukut bo'yicha juda ko'p foydalanmang. Agar asosiy qutidan vagrant bir zumda ko'p gigabayt operativ xotirani talab qilsa, bu yomon foydalanuvchi tajribasi (va biroz hayratda qoldiradigan) bo'lar edi. Buning o'rniga, 512 MB kabi biror narsani tanlang, bu odatda vagrant mashinada o'ynash va ajoyib narsalarni qilish uchun etarli, ammo agar kerak bo'lsa, osongina ko'paytirilishi mumkin.

Periferik qurilmalar (audio, USB va boshqalar)

Asosiy blokdagi audio va USB kontrollerlar kabi keraksiz jihozlarni o'chiring. Ular odatda Vagrant-dan foydalanish uchun kerak emas va ko'p hollarda Vagrantfile orqali osongina qo'shilishi mumkin.

Foydalanuvchi standart sozlamalari

Vagrantning deyarli barcha jihatlarini o'zgartirish mumkin. Biroq, Vagrant sizning asosiy blokingizni qutidan "shunchaki ishlay oladigan" ba'zi bir sukut saqlashni kutadi. Agar siz qutingizni ommaga tarqatmoqchi bo'lsangiz, ularni standart sifatida yaratishingiz kerak.

Agar siz shaxsiy foydalanish uchun asosiy quti qurayotgan bo'lsangiz, bunga harakat qilishingiz kerak emas Ularga rioya qiling, chunki ular sizning asosiy blokingizni xavfsizlik xavfiga duchor qiladi (ma'lum foydalanuvchilar, parollar, shaxsiy kalitlar va boshqalar).

rouming foydalanuvchisi

Odatiy bo'lib, Vagrant vagrant SSH foydalanuvchisidan mashinaga kirishni kutadi. Bu foydalanuvchi Vagrant SSHga urinish uchun sukut boʻyicha foydalanadigan xavfli kalit juftligi bilan sozlanishi kerak. Bundan tashqari, Vagrant sukut bo'yicha kalitga asoslangan autentifikatsiyadan foydalansa ham, umumiy qoida "vagrant" foydalanuvchi uchun parolni "vagrant" ga o'rnatishdan iborat. Bu, agar kerak bo'lsa, foydalanuvchilarga qo'lda foydalanuvchi sifatida kirish imkonini beradi.

Ishonchsiz kalit juftligi bilan SSH kirishini sozlash uchun, ochiq kalitni noto'g'ri foydalanuvchi uchun ~/.ssh/authorized_keys fayliga joylashtiring. Shuni esda tutingki, OpenSSH faylga ruxsat berishda juda tanlanadi. Shunday qilib, ~/.ssh ruxsatnomalari 0700 va vakolatli kalitlar faylida 0600 ruxsati borligiga ishonch hosil qiling.

Vagrant qutini yuklaganida va xavfli kalit juftligini aniqlaganida, quti ishlayotgan vaqtda qo'shimcha xavfsizlik uchun uni avtomatik ravishda tasodifiy yaratilgan kalit juftligiga almashtiradi.

Ildiz paroli: "vagrant"

Vagrant aslida root parolini ishlatmaydi yoki kutmaydi. Biroq, ommaga ma'lum bo'lgan ildiz paroliga ega bo'lish, agar kerak bo'lsa, keng jamoatchilikka mashinani o'zgartirishni osonlashtiradi.

Ommaviy baza bloklari odatda narsalarni tartibga solish uchun "vagrant" ildiz parolidan foydalanadi.

Parol yo'q

bu muhim! Vagrantning ko'p jihatlari standart SSH foydalanuvchisini sudo parolisiz sozlashni kutadi. Bu Vagrant-ga tarmoqlarni o'rnatish, sinxronlangan papkalarni o'rnatish, dasturiy ta'minotni o'rnatish va boshqalarga imkon beradi.

Yangi boshlanuvchilar uchun, ba'zi minimal operatsion tizim o'rnatishlari sudo'ni o'z ichiga olmaydi. Sudo-ni qandaydir tarzda o'rnatganingizga ishonch hosil qiling.

Sudo-ni o'rnatganingizdan so'ng, uni "vagrant" foydalanuvchi uchun sudo paroliga ruxsat berish uchun sozlang (odatda visudo bilan). Buni konfiguratsiya faylining oxiridagi quyidagi qator yordamida amalga oshirish mumkin:

vagrant ALL=(ALL) NOPASSWD: HAMMA

Bundan tashqari, SSH orqali ulanishda Vagrant sukut bo'yicha pty yoki tty dan foydalanmaydi. Unda talab qilinadigan chiziq yo'qligiga ishonch hosil qilishingiz kerak. Agar mavjud bo'lsa, uni olib tashlang. Bu sudo ga ttysiz yaxshi ishlashiga imkon beradi. E'tibor bering, siz Siz .. qila olasiz; siz ... mumkin Vagrant-ni ushbu konfiguratsiyani saqlashga imkon beruvchi pty-ni so'rash uchun sozlang. Ammo vagrant sukut bo'yicha buni qilmaydi.

SSH Tweaks

Kompyuteringiz yoki Vagrant mashinangiz Internetga ulanmagan bo'lsa ham SSH tezligini oshirish uchun SSH server konfiguratsiyasida UseDNS konfiguratsiyasini yo'q ga o'rnating.

Bu ulanuvchi SSH mijozida teskari DNS qidiruvidan qochadi, bu bir necha soniya vaqt olishi mumkin.

Windows uchun qutilar

Qo'llab-quvvatlanadigan Windows mehmon operatsion tizimlari: - Windows 7 - Windows 8 - Windows Server 2008 - Windows Server 2008 R2 - Windows Server 2012 - Windows Server 2012 R2

Windows Server 2003 va Windows XP emas qo'llab-quvvatlanadi, lekin agar siz qattiq XP muxlisi bo'lsangiz, bu sizga yordam berishi mumkin.

Windows-ning asosiy konfiguratsiyasi

  • UAC-ni o'chiring
  • Murakkab parollarni o'chirib qo'ying
  • "O'chirish kuzatuvchisi" ni o'chirib qo'ying
  • Tizimga kirishdan boshlab "Server menejeri" ni o'chiring (yadro bo'lmagan uchun)

Boshqaruv panelida UAC-ni o'chirishdan tashqari, ro'yxatga olish kitobida ham UAC-ni o'chirib qo'yishingiz kerak. Bu Windows versiyasidan Windows versiyasiga farq qilishi mumkin, ammo Windows 8/8.1 quyidagi buyruqdan foydalanadi. Bu ba'zi narsalar, masalan, avtomatik qo'g'irchoqni o'rnatish, asosiy Vagrant Windows qutilarida ishlashga imkon beradi.

reg qo'shing HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /d 0 /t REG_DWORD /f /reg:64

Asosiy WinRM konfiguratsiyasi

WinRM-ni yoqish va sozlash uchun siz WinRM xizmatini avtomatik ravishda ishga tushirish va shifrlanmagan asosiy autentifikatsiyaga ruxsat berish uchun sozlashingiz kerak (shubhasiz xavfsiz emas). Oddiy Windows buyruq satridan quyidagi buyruqlarni bajaring:

winrm quickconfig -q winrm seti winrm/config/winrs @(MaxMemoryPerShellMB="512") winrm seti winrm/config @(MaxTimeoutms="1800000") winrm seti winrm/config/service @(AllowUnencrypted="rruer" winrm) /config/service/auth @(Basic="true") sc konfiguratsiyasi WinRM start= auto

Qo'shimcha WinRM 1.1 konfiguratsiyasi

Ushbu qo'shimcha konfiguratsiya bosqichlari Windows Server 2008 (WinRM 1.1) uchun xosdir. Windows Server 2008 R2, Windows 7 va Windowsning keyingi versiyalari uchun ushbu bo'limni e'tiborsiz qoldirishingiz mumkin.

  1. Windows PowerShell xususiyati o'rnatilganligiga ishonch hosil qiling
  2. WinRM portini 5985 ga o'zgartiring yoki WinRM 2.0 ga yangilang

Quyidagi buyruqlar WinRM 1.1 portini Vagrant kutganiga o'zgartiradi:

netsh xavfsizlik devori ochuvchi TCP 5985 "Port 5985" winrm to'plami winrm/config/listener? Manzil=*+Transport=HTTP @(Port="5985")

Boshqa dasturiy ta'minot

Ayni paytda sizda mutlaqo umumiy dasturiy ta'minot mavjud zarur Vagrant bilan ishlash uchun asosiy qutingiz uchun. Biroq, agar xohlasangiz, o'rnatishingiz mumkin bo'lgan qo'shimcha dasturlar mavjud.

Kelajakda buni rejalashtirayotgan bo'lsak-da, Vagrant hali ham ushbu provayderlardan foydalanganda Chef yoki Puppet-ni avtomatik ravishda o'rnatmaydi. Buni amalga oshirish uchun foydalanuvchilar qobiq provayderidan foydalanishlari mumkin, lekin agar siz Chef/Puppet-ning faqat qutidan tashqarida ishlashini istasangiz, ularni asosiy qutiga o'rnatishingiz kerak bo'ladi.

Ushbu parametrni o'rnatish ushbu sahifa doirasidan tashqarida, lekin juda oddiy bo'lishi kerak.

Bunga qo'shimcha ravishda, ushbu asosiy blok uchun sukut bo'yicha istalgan boshqa dasturiy ta'minotni o'rnatishingiz va sozlashingiz mumkin.

Qutili qadoqlash

Bir qutini quti fayliga qadoqlash yetkazib beruvchiga bog'liq. Asosiy blokni qurish uchun sotuvchining maxsus hujjatlariga qarang. Ba'zi provayderga oid qo'llanmalar ushbu sahifaning yuqori qismida joylashgan.

Qutining tarqalishi

Windows faylini xohlaganingizcha tarqatishingiz mumkin. Ammo, agar siz bir xil URL manziliga bir nechta provayderlarni joylashtirish, yangilanishlar, tahlillar va h.k.lar kiritish orqali versiya yaratishni qoʻllab-quvvatlamoqchi boʻlsangiz, HashiCorp’s Vagrant Cloud-ga quti qoʻshishingizni tavsiya qilamiz.

Ushbu xizmatga ham umumiy, ham shaxsiy maydonlarni yuklashingiz mumkin.

Quti sinovi

Qutini sinab ko'rish uchun o'zingizni yangi Vagrant foydalanuvchisi sifatida ko'rsating va rasmga oling:

$ vagrant box add --name my-box /path/to/the/new.box ... $ vagrant init my-box ... $ vagrant up ...

Agar siz boshqa provayderga murojaat qilsangiz, vagrant up uchun --provider variantini qo'shganingizga ishonch hosil qiling. Muvaffaqiyatli bo'lsa, qutingiz ishlagan!

Sizning birinchi Vagrant virtual muhitingiz

  • Vagrantdan foydalanishning afzalliklari
  • Yagona dasturchining afzalliklari
  • Rivojlanish guruhi uchun imtiyozlar
  • Kompaniya uchun imtiyozlar

Loyihani sozlash

  • Vagrantfayl
  • Vagrant loyihasini o'rnatish
  • Veb loyihani sozlash

Virtual mashina tasvirlari (Virtual qutilar)

  • Virtual mashinaning asosiy tasvirini olish
  • Virtual qutilarni olib tashlash
  • Loyihani kerakli virtual qutidan foydalanish uchun sozlash
  • Sozlama tekshirilmoqda

SSH sozlamalari

Virtual qutilar uchun ta'minot (ta'minot)

Portni yo'naltirish

Qadoqlash

Virtual qutilarni to'xtatish (parchalash)

  • To'xtatib turish - tizimning joriy holatini saqlash vaqtida uyquga o'ting
  • To'xtash - normal o'chirish
  • Yo'q qilish - barcha quti fayllarini tozalash bilan ishlashni yakunlash

Tez qayta yig'ish

Boshlash

Vagrant - bu virtual ishlab chiqish muhitlaringiz uchun menejer. Aslida, bu Oracle VirtualBox dasturi uchun qo'shimcha bo'lib, virtual mashinalarni tez yaratish va sozlash imkonini beradi. Shu tarzda yaratilgan virtual mashinalar - qutilar (qutilar) veb-ilovalarni ishlab chiquvchilari tomonidan kerakli ishlab chiqish muhitini yaratish uchun ishlatiladi. Keyin ular jamoadagi boshqa ishlab chiquvchilar tomonidan o'rnatish va foydalanish uchun maxsus idishlarga (qutilarga) qadoqlanishi mumkin.

VirtualBox-ni qayerdan olish mumkin

Vagrant butunlay VirtualBox dasturiga bog'liq va virtual tasvirlarni yaratish uchun undan foydalanadi. VirtualBox-ning asosiy maqsadi x86 uskunasini to'liq virtualizatsiya qilishdir. Bu professional darajadagi virtualizatsiyani ta'minlovchi ochiq manbali loyiha bo'lib, virtual muhitlarni yaratish uchun serverlarda ham, ish stollarida ham foydalanish mumkin. VirtualBox Windows, Mac OS X, Linux va Solaris uchun mavjud.

Vagrant hozirda VirtualBox 4.0.x, 4.1.x va 4.2.x-ni qo'llab-quvvatlaydi.

Vagrant o'rnatilmoqda

Vagrant ni o'rnatish uchun siz tegishli paketni yoki o'rnatuvchini yuklab olishingiz kerak ushbu yuklab olish sahifasi va uni tizimingizda standart ilovalarni o'rnatish protsedurasidan foydalanib o'rnating. Windows va Mac OS X operatsion tizimlarida dasturni o'rnatgandan so'ng, buyruq satridan Vagrant buyrug'i mavjud bo'ladi. Boshqa tizimlarda PATH muhit oʻzgaruvchisiga oʻzingiz /opt/vagrant/bin qoʻshishingiz kerak boʻladi.

Agar tizimingiz uchun Vagrant o'rnatuvchisini topmasangiz, uni gem install vagrant bilan RubyGems yordamida o'rnatishingiz mumkin. Lekin unutmangki, paketlardan yoki o'rnatuvchi orqali o'rnatish ilovani o'rnatishning afzal usuli hisoblanadi.

DA Sizning birinchi Vagrant virtual muhitingiz

Buyruqlar qatorida quyidagilarni kiriting:

$ vagrant init precise32-box

$ vagrant up

Ushbu buyruqlar virtual mashinani Vagrant bilan ishga tushirish uchun talab qilinadi. Yuqoridagi buyruqlar Ubuntu 12.04LTS aniq operatsion tizimida 512 MB standart xotira hajmiga ega to'liq ishlaydigan virtual mashinani ishga tushirishini unutmang.

P Vagrantdan foydalanishning afzalliklari

Ko'pgina veb-ishlab chiquvchilar o'zlarining veb-ilovalarini ishlab chiqish uchun virtual muhitdan foydalanadilar. EC2, Rackspace Cloud-dan EngineYard va Heroku kabi ixtisoslashganlarga qadar ishlab chiqarish va ishlab chiqish uchun virtual muhitlarni yaratish va joylashtirish uchun bulut xizmatlari tobora ommalashib bormoqda. Vagrant mahalliy ishlab chiqish va ilovalaringizni ishlab chiqarish kompyuterida sinab ko'rish uchun virtual mashinalarni yaratishda shunga o'xshash printsiplarni amalga oshiradi. Ishning bunday tashkil etilishi veb-ilovalarni ishlab chiqishda sizning ham, jamoangizning ham moslashuvchanligi va samaradorligini oshiradi.

Virtual muhitlarni o'rnatish va sozlash uchun Vagrant Oracle'ning VirtualBox ko'rinishidagi yaxshi o'rnatilgan virtualizatsiya texnologiyalaridan va Chef va Puppet kompaniyalarining avtomatlashtirilgan ilovalarni joylashtirish texnologiyalaridan foydalanadi.

P bitta ishlab chiquvchi uchun imtiyozlar

Dasturlash tillari va ramkalarining turli versiyalari uchun mo'ljallangan turli loyihalar uchun bir xil turdagi ishlab chiqish muhitidan foydalanish ko'pincha juda qiyin vazifadir. Agar bitta loyiha PHP4 da, ikkinchisi PHP 5.2.x da, uchinchisi PHP 5.3.x yoki 5.4.x da ishlayotgan bo‘lsa va u ishlab chiqilgan til versiyasida sinovdan o‘tkazilishi kerak bo‘lsa-chi?

Tillar va xizmatlarning turli xil versiyalarini qo'yish va ishlaydigan mashinani yuklash variant emas, chunki. ertami-kechmi sizning tizimingiz uzoq vaqt davomida yuklashni boshlaydi, sekinlashadi va muvaffaqiyatsiz bo'ladi. Yana bir nuqta shundaki, har bir ishchi loyiha ishlab chiqarishda ma'lum muhit mavjud bo'lgan serverda ishlaydi, shuning uchun bunday loyihani ishlab chiqishda ishlab chiquvchining kompyuteridagi muhit ishlab chiqarish serveridagi muhitga to'liq mos kelishi kerak. Dasturchi o'z veb-ilovasini ishlab chiqarish serveriga joylashtirishda yoqimsiz kutilmagan hodisalarga duch kelmasligiga to'liq ishonch hosil qilishi mumkin.

Vagrant bu muammolarni hal qiladi. Uning yordamida siz har bir aniq loyiha uchun zarur bo'lgan muhitga ega virtual mashinalarni yaratishingiz mumkin. Bir loyihadan ikkinchisiga o'tishda siz bir nechta buyruqlar bilan bitta virtual mashinani to'xtatib, boshqa loyiha uchun zarur bo'lgan boshqasini yuklaysiz. Hammasi aqlli va sodda!

P rivojlanish jamoasi uchun imtiyozlar

Jamoaning barcha a'zolari ideal tarzda bir xil rivojlanish muhitiga ega bo'lishi kerak: bir xil versiyalar, bog'liqliklar, sozlamalar va boshqalar. Axir, nazariy jihatdan, jamoa umumiy loyihalar ustida ishlamoqda. Ammo jamoaning bir qismi ma'lumotlar bazasining bitta versiyasi, masalan, MySQL bilan loyiha ustida ishlayotgan bo'lsa va boshqa qismi PostgreSQL yoki MSSQL ishlatiladigan loyihada ishlayotgan bo'lsa-chi. Agar jamoa a'zolaridan biri til yoki ma'lumotlar bazasining boshqa versiyasiga ega bo'lgan boshqa loyihani ishlab chiqishni boshlashi kerak bo'lsa-chi? Umuman olganda, rivojlanishning sekinlashishiga va jamoaning samaradorligini pasayishiga olib keladigan doimiy bosh og'rig'i.

Bunday holda, Vagrant jamoaga o'zlarining tegishli loyihalari uchun tayyor virtual muhit tasvirlarini yaratish va ulardan foydalanish imkonini beradi. Boshqa bir guruh a'zosi boshqa loyihani ishlab chiqishga qo'shilsa, u shunchaki hamkasblaridan ushbu loyiha uchun virtual mashina tasvirini oladi va bu tasvirni o'ziga joylashtiradi. Har bir narsa, bir necha daqiqada ishlab chiquvchi tayyor muhitni oladi va to'g'ridan-to'g'ri ishning o'z qismiga xavfsiz tarzda o'tishi mumkin.

P kompaniya uchun imtiyozlar

Agar sizning yirik kompaniyangiz bo'lsa va siz yirik loyiha ustida ishlayotgan bo'lsangiz, unda siz doimiy ravishda dastur infratuzilmasiga ba'zi yangi komponentlarni qo'shishingiz kerak, masalan, turli xil keshlash tizimlari, hodisalarni ishlovchilar, ma'lumotlar bazasi serverlari va boshqalar. Bunday holda, Vagrant sizga tayyor ishlab chiqish muhitini yaratish va tarqatish vositasini taqdim etadi. Endi, agar sizning kompaniyangizga yangi xodim kelsa, u ilovani ishlab chiqishga qo'shilish uchun butun tizimini dastlabki sozlash uchun ko'p vaqt sarflashi shart emas.

H loyihani sozlash

Vagrantni tizimingizga o'rnatganingizdan so'ng, uning barcha boshqaruvi vagrant buyrug'i orqali amalga oshiriladi. Bu buyruqda ko'plab kerakli kichik buyruqlar mavjud, masalan, vagrant up - virtual mashinani ishga tushirish, vagrant ssh - ssh orqali ulanish, vagrant paket - boshqa kompyuterda joylashtirishga tayyor joriy virtual muhit paketini yaratish va hokazo. Barcha mavjud buyruqlarni ko'rish uchun buyruq satriga vagrant so'zini kiriting.

Vagrantfayl

H Vagrant loyihasini o'rnatish

Har qanday Vagrant loyihasi uchun birinchi qadam loyihaning ildiz katalogini yaratish va loyihani ishga tushirishdir:

$ mkdir my_vagrant_project

$ cd my_vagrant_project

$ vagrant init

vagrant init buyrug'i Vagrantfaylni yaratadi. Hozircha biz bu faylni avvalgidek qoldiramiz, lekin loyihamizning virtual mashinasini sozlash uchun uni keyinroq tahrirlaymiz.

H veb-loyihani sozlash

Endi Vagrant o'rnatilgan bo'lsa, keling, kichik veb-loyiha yarataylik, undan keyin Vagrant qanday ishlashini namoyish qilish uchun foydalanamiz. Vagrant loyihasining ildizida (Vagrantfile joylashgan) indeks html faylini yarating:

$echo"

Vagrant VM dan salom

" > index.html

Asosan, bu veb-loyihaning konfiguratsiyasini yakunlaydi.

O virtual mashina tasvirlari (Virtual qutilar)

Loyihani ishga tushirgandan keyingi qadam asosiy qutini yaratishdir. Vagrant noldan virtual mashina yaratmaydi. U virtual mashinaning asosiy tasvirini import qiladi va uni ishga tushiradi, so'ngra Vagrantfile konfiguratsiya faylida ko'rsatilgan barcha kerakli sozlamalarni qo'llaydi. Bu Vagrant foydalanuvchilari uchun hayotni osonlashtiradi. ajratilgan virtual xotira, disk maydoni, tarmoq interfeyslari va boshqalar kabi virtual mashina sozlamalarini sozlash uchun vaqt sarflashlari shart emas.

P Virtual mashinaning asosiy tasvirini olish

Maqolaning boshida biz Ubuntu 12.04LTS aniq 32 bitli asosiy tasvirni yuklab oldik va uni Vagrant-ga qo'shdik. Shuni esda tutingki, agar siz allaqachon rasmni yuklab olgan bo'lsangiz, uni har safar ishga tushirganingizda uni qayta yuklab olishingiz shart emas. Vagrant Internetdan ham, qattiq diskdan ham rasmlarni yuklab olishni qo'llab-quvvatlaydi. Maqolaning boshida biz quyidagi buyruqni bajardik:

$ vagrant box precise32-box qo'shing http://files.vagrantup.com/precise32.box

Uni amalga oshirgandan so'ng, Vagrant tasvirni yuklab oldi va uni diskdagi foydalanuvchining tizim papkasiga saqladi. Shu bilan birga, ushbu rasm sizning kompyuteringizdagi joriy Vagrant o'rnatilishining global maydoniga avtomatik ravishda qo'shildi, ya'ni. Endi siz yaratadigan barcha loyihalar uchun ushbu rasm virtual muhitni o'rnatishda tanlash uchun mavjud bo'ladi. Bundan tashqari, shu tarzda qo'shilgan har bir rasm noyob nomga ega, bu misolda, precise32-box .

Manzil http://files.vagrantup.com/precise32.box biz boshida faqat bir marta foydalanganmiz, endi biz qattiq diskdagi mahalliy xotiradan asosiy tasvirni ulaymiz.

Da masofaviy virtual qutilar

Qo'shish kabi oddiygina virtual qutilarni olib tashlash mumkin. Buning uchun buyruqdan foydalaning:

$ vagrant box my_box olib tashlang

Bunday holda, quti diskdan jismonan chiqariladi. Shundan so'ng, ushbu quti asosida ilgari yaratilgan virtual mashinalarning hech birini ishga tushirish mumkin emas.

H loyihani kerakli virtual qutidan foydalanish uchun sozlash

Vagrant-ga precise32-box nomli virtual quti qo'shilganligi sababli, biz uni loyihalarimizga qo'shishimiz mumkin. Bu Vagrantfile konfiguratsiya fayliga quyidagi qatorni yozish orqali amalga oshiriladi:

P Sozlama tekshirilmoqda

Ayni paytda biz virtual muhitimizni eng asosiy sozlashni amalga oshirdik. Biz portni yo'naltirish, atrof-muhitni ta'minlash va hokazolarni o'rnatmadik. Ammo ushbu asosiy sozlash bilan ham bizda to'liq ishlaydigan virtual mashina mavjud. Buni loyihaning asosiy katalogidan quyidagi vagrant buyrug'ini kiritish orqali tasdiqlashingiz mumkin. Ushbu buyruq virtual mashinani ishga tushiradi. Ishlayotgan virtual mashinani to'xtatish va u egallagan disk maydonini tozalash uchun siz vagrant destroy buyrug'ini bajarishingiz kerak:

$ vagrant up

$ vagrant yo'q qilish

SSH sozlamalari

Vagrant vagrant ssh buyrug'i yordamida SSH protokoli orqali virtual mashinaga to'liq kirishni ta'minlaydi. Ushbu buyruqni ishga tushirgandan so'ng, terminal ochiladi va siz quyidagi buyruq satriga o'xshash narsani ko'rasiz:

$ vagrant ssh

[elektron pochta himoyalangan]:~$

OGOHLANTIRISH: Windows foydalanuvchilari uchun

Chunki Ssh mijozi Windows platformasida sukut bo'yicha taqsimlanmaganligi sababli, Windows mashinasida vagrant shh buyrug'ini ishga tushirganda, Vagrant terminal oynasi o'rniga virtual mashinaga shh protokoli orqali ulanish uchun kerakli ma'lumotlarga ega oynani ko'rsatadi. PuTTY ssh mijozi:

PuTTY standart openssh kalitlarini tanimaydi, shuning uchun PuTTY bilan birga kelgan puttygen yordam dasturidan foydalanib, ushbu shaxsiy kalitni .ppk formatiga aylantirishingiz kerak bo'ladi.

D virtual mashinadan loyiha fayllariga kirish

Vagrant orqali ishga tushirilgan virtual mashinada siz loyiha fayllaringiz joylashgan umumiy katalogni topasiz. Ushbu katalog virtual mashinada ushbu yo'lda joylashgan: /vagrant . Virtual mashinadan ushbu katalogning mazmuni ham o'qish, ham yozish uchun mavjud.

O virtual qutilar uchun ta'minot (Provisioning)

Vagrant yordamida virtual mashinani ishga tushirdik, ssh orqali ulanishni o'rnatdik va keyin nima bo'ladi? Biz uchun, ishlab chiquvchilar sifatida, bu mashina hech qanday qiziqish bildirmaydi, chunki. Hozircha unga Ubuntu operatsion tizimidan boshqa hech narsa o'rnatilmagan. Veb-loyihamizni ishlab chiqish uchun biz hosil bo'lgan virtual mashinadan to'liq huquqli virtual muhitni yaratishimiz kerak - bu bizning ishchi serverimizdagi narsalarning eng aniq nusxasi. Buning uchun biz kerakli dasturlarni, masalan, nginx yoki Apache, php, ruby, MySQL va boshqalarni o'rnatishimiz kerak, ya'ni virtual qutimizni kerakli narsalar bilan ta'minlashimiz kerak. Ta'minlash

Ushbu maqsadlar uchun Vagrant sizga ikkita echimdan birini ishlatishga imkon beradi - Chef (Chef-Solo) yoki Qo'g'irchoq . Bundan tashqari, agar kerak bo'lsa, siz Vagrantni kengaytirishingiz va boshqa avtomatlashtirilgan ilovalarni joylashtirish vositalaridan foydalanishingiz mumkin (lekin bu endi ushbu maqolaning mavzusi emas).

H Chef va Vagrant sozlamalari

Ushbu maqolada biz foydalanamiz Chef uchun oldindan pishirilgan retseptlar virtual mashinani joylashtirishni namoyish qilish uchun. Buning uchun Vgarantfile konfiguratsiya faylini tahrirlang:

Vagrant::Config.run |config|

config.vm.box="precise32-box"

# Oshpazning yakkaxon provayderini yoqing va sozlang

Config.vm.provision:chef_solo do |chef|

# Biz oshxona kitoblarimizni internetdan yuklab olamiz

Chef.recipe_url = "http://files.vagrantup.com/getting_started/cookbooks.tar.gz"

# Oshpazga qaysi retseptni ishlatishni ayting. Bunday holda, `vagrant_main` retsepti

# barcha sehrlarni qiladi.

Chef.add_recipe("vagrant_main")

Ish boshlash!

Virtual mashina uchun shartlarni o'rnatganingizdan so'ng, shunchaki vagrant up buyrug'ini bajaring. Vagarnt virtual mashinani tasvirdan ishga tushiradi va retseptlarda ko'rsatilgan kerakli dasturlarni o'rnatadi. Agar virtual mashinangiz allaqachon ishlayotgan bo'lsa va siz uni o'chirmagan bo'lsangiz, o'zgarishlar kuchga kirishi uchun uni vagrant reload buyrug'i bilan qayta yuklang.

Vagrant barcha kerakli harakatlar va tizim sozlamalarini bajargandan so'ng, siz virtual mashinada to'liq sozlangan veb-serverga ega bo'lasiz. Biroq, hozircha siz o'z veb-loyihangizni ishchi kompyuteringizdagi brauzer orqali ko'ra olmaysiz, chunki. biz hali o'rnatmaganmiz portni yo'naltirish.

Bizning oddiy saytimiz allaqachon ishlayotganiga ishonch hosil qilish uchun siz virtual mashinaga ssh orqali ulanishingiz va ssh terminalining buyruq qatoriga quyidagilarni kiritishingiz mumkin:

$ vagrant ssh

[elektron pochta himoyalangan]:~$ wget -qO- 127.0.0.1

Vagrant VM dan salom

[elektron pochta himoyalangan]:~$

P portni yo'naltirish

Portni yo'naltirish mehmon mashinasida (bu holda, bizning virtual mashinamiz) port raqamini o'rnatishga imkon beradi, unga tashqi tomondan xost mashinasida (ya'ni, bizning ish kompyuterimizda) kirish mumkin bo'ladi. Bu bizga virtual mashinada o'rnatilgan veb-serverga ish kompyuterimizdagi brauzer orqali kirish imkonini beradi.

V yo'naltirish uchun port raqamini o'rnatish

Bunday holda, biz Apache serveri ishlayotgan portni yo'naltirmoqchimiz. Portni yo'naltirish Vagrantfileda quyidagicha sozlangan:

Vagrant::Config.run |config|

# 80-sonli mehmon portini 4567-portga yo'naltiring

config.vm.forward_port 80, 4567

Ko'rib turganingizdek, biz virtual mashinadagi 80-portdan (mehmon posrt) ishlaydigan kompyuterimizdagi 4567-portga (host-port) portni yo'naltirishni o'rnatdik. Endi siz virtual mashinani vagrant up buyrug'i bilan ishga tushirishingiz kerak yoki u allaqachon ishlayotgan bo'lsa, vagrant reload buyrug'i bilan qayta ishga tushiring. Shundan so'ng, siz brauzerning manzil satriga http://127.0.0.1:4567/ ni kiritishingiz mumkin va u bizning xush kelibsiz sahifamizni ochadi:

Vagrant VM dan salom

P qadoqlash

Shunday qilib, biz veb-loyihamiz uchun foydalanishga tayyor virtual muhitga ega bo'ldik. Ammo vaziyatni tasavvur qiling-a, siz yolg'iz emassiz, balki jamoaning bir qismisiz va siz hamkasblaringizni xuddi o'zingiz kabi virtual muhit bilan ta'minlashingiz kerak. Nima qilish kerak? Vagrant bu holda virtual muhit paketlarini (paketlarini) yaratish imkoniyatini beradi. Siz ushbu tayyor paketlarni hamkasblaringizga berasiz va ular ularni kompyuterlariga o'rnatadilar.

Paketlar virtual muhitingizning o'rnatishga tayyor tasvirlari bo'lib, ular tezda boshqa kompyuterlarga joylashtirilishi mumkin. Ular odatda .box kengaytmasiga ega va qutilar deb ataladi. Majburiy emas, Vagrantfile konfiguratsiya faylining o'zini ushbu qutiga kiritishingiz mumkin.

Qutini yaratishdan oldin virtual muhitingiz ishga tushirilganligiga va vagrant up buyrug'i bilan boshlanganiga ishonch hosil qiling.

VagrantFile yaratish

Biz avval Vagrantfile konfiguratsiya faylini yaratishimiz kerak, keyin u yaratilgan virtual qutiga joylashtiriladi. Ushbu bosqichda virtual muhitingiz vagrant up buyrug'i bilan ishga tushirilganligiga va unga HTTP kirish ishlayotganiga ishonch hosil qilish muhimdir. Endi biz Vagrantfile.pkg faylini yaratamiz, u faqat yaratilgan quti uchun Vagrantfile sifatida ishlatiladi. Fayl quyidagi konfiguratsiyani o'z ichiga olishi kerak:

Vagrant::Config.run |config|

# oldinga apache

config.vm.forward_port 80, 8080

$ vagrant to'plami --vagrantfile Vagrantfile.pkg

vagrant to'plami hozirda ishlayotgan virtual muhitni oladi va uni buyruq ishga tushirilgan joriy katalogdagi (ya'ni Vagrant loyihamizning ildizida) package.box-ga joylashtiradi. --vagrantfile opsiyasi qutiga Vagrantfile.pkg faylini o'z ichiga olishi kerakligini bildiradi, shuning uchun boshqa mashinaga o'rnatilganda portni yo'naltirish avtomatik ravishda amalga oshiriladi (qarang).

Yaratilgan quti endi boshqa jamoa a'zosiga berilishi mumkin, shunda u uni ish kompyuteriga ko'chiradi va uni o'rnatadi yoki Internetga qo'yadi, keyin uni shunchaki kerakli kompyuterga yuklab olish va ishga tushirish mumkin. Boks boshqa kompyuterda quyidagicha ishga tushiriladi:

$ vagrant box my_box /path/to/box/package.box qo'shing

$ vagrant init my_box

$ vagrant up

Ushbu buyruqlarni bajarganingizdan so'ng, jamoangizning boshqa a'zosi ishlashga tayyor virtual muhitga ega bo'ladi (virtual muhitingizning aniq nusxasi).

O virtual qutilarni o'rnatish (parchalash)

Vagrant-da ishlaydigan virtual muhitni tugatish uchun S uspend - tizimning joriy holatini saqlash vaqtida uyquga o'ting

Kutish rejimida o'chirish vagrant to'xtatib turish buyrug'i bilan amalga oshiriladi. Bu virtual muhitning joriy holatini saqlab qoladi va keyin uning ishini tugatadi. Ishni davom ettirish uchun shunchaki vagrant resume buyrug'ini bajaring.

Ushbu o'chirish rejimining asosiy afzalligi shundaki, ishni qayta boshlash juda tez, boshqa barcha o'chirish rejimlariga qaraganda tezroq. virtual mashinaning oldingi holati saqlanadi. Biroq, bu rejim qo'shimcha qattiq disk maydonini talab qiladi - tizim holatini saqlash uchun taxminan 1 GB.

H alt - normal o'chirish

Ushbu o'chirish vagrant stop buyrug'i bilan amalga oshiriladi. Bu odatiy o'chirishni amalga oshiradi (to'xtatish buyrug'ini bajarishda oddiy Linux tizimidagi kabi). Bunday o'chirishdan keyin virtual muhitni davom ettirish uchun siz vagrant up buyrug'ini ishga tushirishingiz kerak.

Ushbu tugatish bilan, qo'shimcha disk maydoni talab qilinmaydi, chunki. tizim holati saqlanmaydi. Bu holatda ishni qayta boshlash avvalgi holatga qaraganda bir oz ko'proq vaqt talab etadi, chunki. Virtual muhit xuddi oddiy kompyuterni yuklayotgandek ishga tushadi.

D estroing - barcha quti fayllarini tozalash bilan o'chirish

Va nihoyat, oxirgisi virtual muhitni o'chirishning uchinchi usuli. Vagrant destroy buyrug'i bilan boshqaring. Shu bilan birga, ish virtual muhit egallagan disk maydonini to'liq tozalash bilan yakunlanadi. Ishni davom ettirish uchun oldingi holatda bo'lgani kabi vagarnt up buyrug'ini ham ishga tushirishingiz kerak.

Ushbu usulning asosiy afzalligi shundaki, siz qattiq diskda 1 Gb gacha bo'sh joyni tejashingiz mumkin. Lekin shu bilan birga, ishni qayta tiklash eng uzoq jarayon bo'ladi, chunki. Vagrant retseptlardan barcha kerakli dasturlarni qayta o'rnatishi kerak bo'ladi.Agar siz qattiq diskdagi joyni har qanday narxda tejashga harakat qilmasangiz, odatda bu o'chirish usulidan foydalanish tavsiya etilmaydi, bu zamonaviy qattiq disklarning hozirgi o'lchamlari bilan juda kam uchraydi. haydovchilar.

B tez qayta qurish

Keling, quyidagi vaziyatni faraz qilaylik: siz loyiha bo'yicha ishni tugatdingiz, uni mijozga topshirdingiz, to'lov oldingiz. Yarim yil, bir yil o'tdi va endi xo'jayin sizga ushbu mijoz uchun loyiha ustida ishlashni davom ettirishingiz kerakligini aytadi. Bu vaqt ichida ishlaydigan kompyuteringizda ko'p narsa o'zgarishi mumkin edi, siz operatsion tizimni buzdingiz va qayta o'rnatdingiz, dasturiy ta'minotni yangiladingiz, ammo yana nima bo'lishi mumkin?

Xavotir olmang! Loyiha ustida ishlashni davom ettirish uchun virtual qutini vagrant up buyrug'i bilan qayta ishga tushirish kifoya. Ana xolos. Besh daqiqa ichida, ehtimol, ko'proq yoki kamroq, Vagrant virtual mashinani ishga tushirganda va barcha kerakli dasturlarni o'rnatganida, siz eski loyihangizni xavfsiz tarzda ishlab chiqishni boshlashingiz mumkin.

  • Mavjud Vagrant qutilari - mavjud Vagrant tasvirlari
  • www.vagrantbox.es - ko'proq Vagrant tasvirlari

Men darhol VM atamasini belgilamoqchiman - virtual mashina, bu (mehmon-mashina).

1. Avvalo, bizga allaqachon o'rnatilgan o'q kerak, siz vagrantcloud.com veb-saytida ro'yxatdan o'tishingiz va keyin tanlashingiz mumkin. Kashf qiling kerakli BOXni toping. Lekin, men boshqa odamlarning BOXlariga ishonmayman va o'zimnikilarni yarataman. Shuning uchun, misol tarqatish uchun ISO ni yuklab olaylik debian . Endi bizga VirtualBox kerak (agar sizda yo'q bo'lsa, uni o'rnating), unda biz yuklab olingan Debian.ISO ni ulaymiz va o'rnatishni davom ettiramiz.

2. Siz Debian o'rnatish jarayonini boshladingiz, bu erda sizdan turli xil ma'lumotlarni kiritish so'raladi va bu asosiy moment, chunki. Vagrant ishlab chiquvchilari tanishtirdilar:

  • Xost nomi: vagrant-, masalan: vagrant- debian-wheezy-86
  • Domen: vagrantup.com
  • Ildiz paroli: vagrant
  • Asosiy hisobga kirish: vagrant
  • Asosiy hisob paroli: vagrant

a) VM ga SSH serverini o'rnatishingiz kerak:

sudo apt-get install openssh-server

aks holda Vagrant shunday qasam ichadi:

VM ga ulanib bo'lmadi!
SSH orqali VM ga ulanib bo‘lmadi. Iltimos, VM muvaffaqiyatli yuklanganligini tekshiring
VirtualBox GUI-ga qarash orqali.

b) Ma'lum bo'lishicha, biz vagrant foydalanuvchi yaratganimizga va barcha foydalanuvchilarga vagrant parol tayinlaganimizga qaramay,KERAKSSH kalitlaridan foydalanish, shubhasiz, ahmoqdir, lekin nima qila olasiz.Vagranta hamjamiyatida Vagrant VM ga ulanish uchun shaxsiy kalitdan foydalanishi haqida kelishuv mavjud.https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant Va biz VM-dagi vagrant foydalanuvchiga ochiq kalit qo'shishimiz kerak.https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub o'zining ~/.ssh/authorized_keys sahifasida. Agar bu bajarilmasa, undaVagrant shunday qasam ichadi:

SSH autentifikatsiyasi amalga oshmadi! Bunga odatda davlat/xususiy sabab bo'ladi
SSH foydalanuvchisi uchun kalit juftligi mehmon VM da to'g'ri o'rnatilmagan. Iltimos
mehmon VM to'g'ri ochiq kalit bilan o'rnatilganligini tekshiring va bu
Vagrant uchun shaxsiy kalit yo'li ham to'g'ri sozlangan.

c) (ehtimol kerak emas) Endi virtual quti mehmon qo'shimchalarini o'rnatishni boshlaylik. Buning uchun n Ba'zi sarlavha paketlarini o'rnatishingiz kerak:

sudo apt-get -y install linux-headers-$(uname -r) build-essential dkms

VMni o'chiring va VirtualBox oynasida "Qurilmalar" va "Mehmon qo'shimchalarini o'rnatish" -ni tanlang. Bu sizning VM urug'ingizga "Mehmon qo'shimchalari" ni biriktiradi. Endi VMni yoqish, uni sidr bilan o'rnatish va "Mehmon qo'shimchalari" ni o'rnatish qoladi.

sudo apt-get -y install linux-headers-$(uname -r) build-essential
mkdir /media/cdrom
o'rnatish /dev/cdrom /media/cdrom
sudo sh /media/cdrom/VBoxLinuxAdditions.run

d) (ehtimol kerak emas) negadir biz administrator guruhini yaratamiz, uning foydalanuvchilari, men tushunganimdek, parolsiz SSH orqali tizimga kirishlari mumkin:

qo'shuvchi vagrant admin

Sudo Debian da sukut bo'yicha o'rnatilmagan, shuning uchun men uni o'rnatishim kerak:

va /etc/sudoesr faylini tahrirlash uchun dasturni ishga tushiring

standart matn muharriri ochiladi (mening holimda, nano) va faylning eng oxirida siz qo'shishingiz kerak:

Birlamchi qiymatlar env_keep="SSH_AUTH_SOCK" %admin ALL=NOPASSWD: ALL Standart:vagrant !requiretty

3. VM (virtual mashina) yaratishda men unga nom berdimdebian-wheezy-86, mos ravishda, VirtualBox o'rnatilgan katalogimda katalog yaratildidebian-wheezy-86u yerga boramiz:

cd /home/dasturlar/VirtualBox

4. Vagrantni o'rnating

sudo apt-get install vagrant

5. Vagrant BOX yaratishni boshlashingiz mumkin:

vagrant paketi --tayanch debian-wheezy-86

va bir daqiqadan so'ng biz fayl paketini olamiz. quti

6. T Endi biz vagrantga ushbu quti haqida aytib berishimiz kerak:

vagrant box debian-wheezy-86 package.box qo'shing

sintaksis : vagrant qutisiga NAME FILE.box qo'shing

7. Debian o'rnatish katalogini o'chirishingiz mumkin:

rm -rf /home/programs/VirtualBox/debian-wheezy-86

8. Vagrant loyihasini yarating va sozlang

mkdir vagrant_getting_started
cd vagrant_getting_started
vagrant init

8. Vagrantfile-ga kerakli sozlamalarni yozing

# biz foydalanmoqchi bo'lgan virtual mashinaning nomi
config.vm.box = "debian-wheezy-86"

# virtual mashinaning yuklanishini kuzatishingiz uchun
config.vm.boot_mode = :gui

# bu IP virtual mashinaga kirish uchun ishlatilishi mumkin
config.vm.network:hostonly, "11.11.11.11"

# portni yo'naltirish (host mashinasidan 8080-portda biz mehmon mashinasining 80-portiga o'tamiz)
config.vm.forward_port 80, 8080

# Jildni ulashish. Argumentlar tartibi: identifikator, mehmon mashinasidagi katalog, xost mashinasidagi katalog
config.vm.share_folder "myShareFolder", "/var/www", "./"

9. Mashinani ishga tushiring:

va u shunday ko'rinadi:

$ vagrant up
VM allaqachon yaratilgan. Agar u hali ishlamayotgan bo'lsa, yuklanmoqda...
Oldin o'rnatilgan boshqa portlar tozalanmoqda...
Portlar yoʻnaltirilmoqda...
-- 22 => 2222 (adapter 1)
-- 80 => 8080 (adapter 1)
Umumiy jildlar metamaʼlumotlari yaratilmoqda...
Oldin oʻrnatilgan tarmoq interfeyslari tozalanmoqda...
Konfiguratsiya asosida tarmoq interfeyslari tayyorlanmoqda...
VM yuklanmoqda...
VM yuklanishi kutilmoqda. Bu bir necha daqiqa vaqt olishi mumkin.
VM ishga tushirildi va foydalanishga tayyor!
Tarmoq interfeyslarini sozlash va yoqish...
Umumiy jildlar oʻrnatilmoqda...
-- v-root: /vagrant
-- myShareFolder: /var/www
$

Maqola yoqdimi? Do'stlar bilan baham ko'rish uchun: