3 min read

Виртуализация, от която се нуждаем

Виртуализация, от която се нуждаем

Напоследък, все по-често чувам, за виртуализацията на работният процес. Което, само по себе си, е супер полезно. Това е необходимо зло, както се казва. Проблем, ако то може да се нарече такъв, то това е само времето, което ще е нужно, за да се разберат ползите му.

Понеже, аз вече активно използвам такива виртуални кутии, бих искал и аз да направя една кратка статийка, за това как да започнете. Може би, по-рано трябваше да кажа, че това се отнася за Windows потребителите, понеже все пак идеята е, да подкараме Linux, на Windows машина. :)

За начало е нужно да си изтеглите Oracle VM VirtualBox, като естествено изберете според нуждите си.

Оттам, остава да си изтеглим и Vagrant.

И воала, тегленията (поне "ръчните") приключиха. След като сме ги инсталирали, и рестартирали при нужда, то остава да подкараме и нашият Debian в случая. Разбира се, аз си пропагандирам за моя debian virtual box, който съм си направил, но Вие спокойно може да си изтеглите какъвто и да е било. По принцип, стандартните image-и са с по 10гб динамично заделена памет, което в някои случаи е недостатъчно, а да се extend-не текущото място си е доста играчка. Моята "кутия" е с направо 50гб, за да задоволи всякакви нужди.

И така, Let's do it :)
Отваряте си една конзола, и изпълнявате следната команда

git clone https://github.com/desertknight/vagrant.git linux

Тук е важно да кажем, че е нужно малко корекция на настройките на Vagrant конфигурационният файл. В противен случай, моите настройки по подразбиране, може и да не Ви паснат. :) За да редактирате настройките, просто отворете файла Vagrantfile от репозиторите, което току що свалихте с любимият си редактор.

git_name = "Zlatko Hristov"

git_email = "[email protected]"

php_timezone = "Europe/Sofia"

mysql_password = "mysecretmysqlpassword"

Това, естествено трябва да бъде сменено, за да нямате ядове по-нататък. Останалите настройки са:

config.vm.box = "desertknight/debian8-x64"

това е моята въпросна виртуалка, която е качена за публично сваляне, ако нямате нещо друго предвид, оставете така

config.vm.hostname = "development"

всеки линукс си има такъв хостнейм, чрез който се определя и който се използва за някои настройки. мен много ми харесва идеята с development, но може да е всичко

config.vm.provision :shell, :path => "bootstrap.sh", :args => [mysql_password, php_timezone, git_name, git_email]

този ред е допълнение, с което при първоначалното инсталиране, чрез него ще се инсталират и допълнителните пакети (като nginx, mysql, node, и etc). Отново казвам, ако искате само да пробвате, не е нужно никаква редакция на този ред

config.vm.network "forwarded_port", guest: 80, host: 80

config.vm.network "forwarded_port", guest: 443, host: 443

config.vm.network "forwarded_port", guest: 3306, host: 3306

с тези редове, настройваме кои портове ще бъдат видими и на хост машината (в случая нашият уиндоус). По подразбиране, аз съм оставил стандартните 80ти, 443 за SSL и 3306 за MySQL конекциите.

config.vm.network "public_network"

Тук има много опции, за DHCP, за PPoE настройки и прочие, които може да видите в официалната документация на vagrant.

config.vm.synced_folder "e:/www", "/var/www", nfs: true, owner: "www-data", group: "www-data"

Това, също е много важно и е редно да го настроите според Вашите нужди. Променете "E:/www" с директорията, в която смятате (или вече използвате) за директория на уеб сървъра си. Останалите настройки отново са ОК, за повечето случаи, така че не е нужно да ги редактирате.

config.vm.provider "virtualbox" do |v, override|

v.customize [ "modifyvm", :id, "--cpus", "2" ]

v.customize [ "modifyvm", :id, "--memory", "2048" ]

end

Е също хубаво да редактирате, аз съм се поолял тук, но ако имате повече RAM и CPU cores, е добре да ги оставите така.

И така с настройките, сега влизаме в новосъздадената директория (linux в случая)

cd linux

и остава само да напишем

vagrant up

и да изчакаме изтеглянето на бокса, и инсталирането на виртуалната машина. След това, вече имаме един работещ debian, в който можем да влезем, чрез командата

vagrant ssh