Vagrant Een snelle, moeiteloze manier om virtuele machines te maken voor lokale webontwikkeling

Vagrant Een snelle, moeiteloze manier om virtuele machines te maken voor lokale webontwikkeling / Wordpress en webontwikkeling

Als je ooit aan een webontwikkelingsproject hebt gewerkt, weet je dat het moeilijk kan zijn om van start te gaan. Zelfs als je gewoon een eenvoudige WordPress-widget maakt Hoe maak je je eigen basis Wordpress-widgets Hoe maak je je eigen basis Wordpress-widgets Veel bloggers zullen zoeken naar de perfecte Wordpress-widget die precies zal doen wat ze willen, maar met een beetje programmeerervaring misschien vind je het makkelijker om je aangepaste widget te schrijven. Deze week had ik ... Lees meer, je hebt een WordPress-instantie nodig om mee te werken. Dat betekent vaak ergens in de cloud aan werken, of misschien een lokale webserver opzetten Een lokale PHP-webserver uitvoeren op Mac OS X Met Zend Server Een lokale PHP-webserver uitvoeren op Mac OS X Met Zend Server Hosting je eigen PHP-server heeft twee belangrijke voordelen. Allereerst kun je het lokaal hosten, zodat je geen zorgen hoeft te maken over het overbrengen van je bestanden en je hoeft alleen maar de pagina te verversen in ... Lees meer. En als u met iemand samenwerkt, moeten ze ook exact dezelfde instellingen maken.

Dat is vervelend, maar het wordt erger: als je toevallig aan meerdere projecten tegelijk werkt en beide projecten iets verschillende stacks gebruiken (verschillende webservers, versies van PHP, enz.), Kun je jezelf met heel veel problemen bevinden om bij te houden. Gelukkig is er een betere manier: maak kennis met Vagrant, een gratis en krachtige manier om projectspecifieke virtuele machines te maken.

Het eindresultaat, of: waarom moeite doen?

Het concept achter Vagrant klinkt in het begin een beetje lastig. Je draait in principe een VM op die je webserver en alle gerelateerde scripts uitvoert, maar je projectmap is dat wel buiten de VM. U kunt dus elke teksteditor en -browser gebruiken waarmee u gewoonlijk werkt, en u hoeft geen trage VM-GUI aan te nemen. De VM doet gewoon het zware werk: het beheert een lokale webserver en biedt de bestanden die u nodig hebt.

De aantrekkingskracht is gebruiksgemak: als u eenmaal een Vagrant-box hebt geconfigureerd voor uw project, wanneer het tijd is om codering te krijgen, gaat u gewoon naar de projectmap en typt u zwervend op. Dit start de VM op, en klaar. Als je klaar bent, sluit je de VM met zwervers halt en dat is het - niets vervuilends met uw harde schijf en systeemconfiguratie, het is allemaal op zichzelf staand.

Wat nog cooler is, is dat je niet hoeft te begrijpen hoe de magie gebeurt: laten we zeggen dat je deel uitmaakt van een ontwikkelteam voor drie personen. Slechts één man weet echt hoe de omgeving moet worden geconfigureerd (een veel voorkomende situatie). In het verleden moest hij elke machine handmatig instellen. Nu kan hij het gewoon een keer doen, en de rest kan typen zwervend op en krijg een rol - deelcode op GitHub (of BitBucket, zoals Matthew Love GitHub aanbeveelt? 4 Redenen waarom u uw code moet hosten op BitBucket Love GitHub? 4 Redenen waarom u uw code moet hosten op BitBucket U moet nadenken over waar u van plan bent bewaar je code. Het is waarschijnlijk dat je hebt gehoord van GitHub. Dat is niet verrassend. GitHub wordt door individuen en bedrijven gebruikt om code te hosten, samen te werken aan documentatie ... Lees meer) en te coderen op dezelfde setup.

Merk op dat Vagrant naast een broncontrolesysteem moet werken: u stelt uw runtime-omgeving in in Vagrant en u gebruikt Git voor de code. Dus als iemand gewoon jouw Vagrant-doos heeft, kunnen ze er niet veel mee doen, omdat alle bestanden op je website ontbreken: deze bevinden zich in een map buiten de virtuele machine.

Vagrant installeren en een box initialiseren

Vagrant zelf kan eenvoudig worden geïnstalleerd op Windows, OS X en Linux. Ga naar de officiële downloadpagina en pak een installatieprogramma voor uw besturingssysteem naar keuze. Mogelijk moet u VirtualBox en Ruby afzonderlijk installeren, maar dat is afhankelijk van uw specifieke geval.

Zodra je Vagrant hebt geïnstalleerd, is het tijd om de banden te schoppen met de standaardbox. Typ de volgende incantatie:

landlopersdoos add base http://files.vagrantup.com/precise32.box vagrant init vagrant up 

De eerste regel voegt een toe “basisset” naar uw systeem, en het zal nog een tijdje duren omdat het de box daadwerkelijk van de servers van Vagrant downloadt. Je krijgt de 32-bits versie van Ubuntu 12.04, Precise Pangolin. De tweede regel initialiseert het vak en de derde regel start het op.

Ervan uitgaande dat alles goed gaat, zou je console er ongeveer zo uit moeten zien:

Je kunt nu typen zwervende ssh om in je nieuwe doos te slaan, gewoon om te zien dat het werkt.

Deze opdrachten werken vanuit de map met uw Vagrant-vak (ongeacht de map die u hebt uitgevoerd vagrant init in). Dit betekent dat u meerdere Vagrant-VM's naast elkaar kunt hebben (en misschien zelfs kunt gebruiken) - één VM per project, bijvoorbeeld.

Op zich is dit niet het meest opwindende resultaat in de wereld. Ik meen het is netjes dat je nu een Ubuntu VM draait, maar je kunt er niet echt uit de doos mee doen.

Om dingen nuttiger te maken, zou u ofwel uw omgeving op dit vakje moeten instellen (de webserver en ontwikkelstapel installeren die u nodig hebt), of u moet een reeds bestaande doos vinden die al veel heeft wat u nodig hebt . Aangezien het opzetten van een ontwikkelomgeving buiten het bestek van dit artikel valt (en van project naar project verandert), laten we nu eens kijken naar de grote verscheidenheid aan bestaande vakken die u kunt krijgen.

Andere dozen ophalen

Zelfs als je weet hoe je de ontwikkelomgeving moet opzetten die je nodig hebt, is het hele punt van Vagrant dat het dubbel werk bespaart. Als u bijvoorbeeld een WordPress-ontwikkelaar bent, hebt u Apache, PHP, MySQL, PhpMyAdmin en WordPress nodig - en bent u niet de enige. In dit specifieke geval zou je naar een site genaamd Vagrantpress [No Longer Available] kunnen gaan en met een paar snelle regels code alles instellen wat je nodig hebt:

wget -O vagrantpress-master.zip https://github.com/chad-thompson/vagrantpress/archive/master.zip unzip vagrantpress-master.zip cd vagrantpress-master vagrant up 

En dat is alles - u zou nu kunnen gaan http: // localhost: 8080 en zie WordPress draaien. Dit stukje magie (naar de poort 8080 van je lokale host kunnen gaan) vindt plaats dankzij de overbrugde Ethernet-adapters van VirtualBox.

Dit is slechts één van de vele beschikbare Vagrant-dozen uit honderden verschillende vakjes die online zweven. Voor een grote verzameling kunt u Vagrantbox.es bezoeken. Dit is in feite een grote tabel met de vele vakken. Merk op dat Vagrantbox.es de boxen niet echt host - in plaats daarvan zijn de box-bestanden overal verspreid, groot in de mappen Sourceforge, Dropbox of Google Drive. Dit betekent ook dat ze elk moment naar beneden kunnen gaan, dus als je eenmaal een doos hebt gevonden die voor je project werkt, zou je er een lokale kopie van moeten maken - of beter nog, de box exporteren waarmee je werkt (zoals je ongetwijfeld zult maken tweaks en aanpassingen).

Geen einde, maar een begin

Dit bericht was niet bedoeld als algemene gids voor Vagrant - dat is waar de Vagrant-documentatie voor is. In plaats daarvan hoop ik dat je nu een idee hebt van wat een coole tool Vagrant is, en hoe nuttig en benaderbaar het kan zijn. Ga nu een doos maken!

Ontdek meer over: Virtualisatie, Webontwikkeling, Wordpress.