Vagrant Ett snabbt och enkelt sätt att skapa virtuella maskiner för lokal webbutveckling

Vagrant Ett snabbt och enkelt sätt att skapa virtuella maskiner för lokal webbutveckling / Wordpress & Webbutveckling

Om du någonsin har arbetat med ett webbutvecklingsprojekt, vet du att bara att komma igång kan vara tufft. Även om du bara gör en enkel WordPress-widget Hur man skapar egna Basic Wordpress-widgets Hur man skapar egna Basic Wordpress-widgets Många bloggare söker efter den perfekta Wordpress-widgeten som gör exakt vad de vill, men med lite programmeringserfarenhet Det kan hända att det är lättare att skriva din anpassade widget. Den här veckan skulle jag ... Läs mer, du kommer att behöva en WordPress-instans att arbeta med. Det betyder ofta att man arbetar på någonstans i molnet eller kanske skapar en lokal webbserver. Kör en lokal PHP-webbserver på Mac OS X. Med Zend Server Kör en lokal PHP-webbserver på Mac OS X med Zend Server. Hantera din egen PHP-server har två huvudsakliga fördelar. Först och främst kan du vara värd det lokalt, så du behöver inte bry dig om att överföra dina filer och behöver bara uppdatera sidan i ... Läs mer. Och om du samarbetar med någon, måste de skapa exakt samma inställning också.

Det är irriterande, men det blir värre: Om du råkar arbeta på mer än ett projekt samtidigt, och båda projekten använder lite olika staplar (olika webbservrar, versioner av PHP etc.) kan du hitta dig själv mycket hålla koll på. Lyckligtvis finns det ett bättre sätt: Meet Vagrant, ett gratis och kraftfullt sätt att skapa projektspecifika virtuella maskiner.

Slutresultatet, Eller: Varför stör?

Konceptet bakom Vagrant låter lite knepigt först. Du spinner i princip en VM som kör din webbserver och eventuella relaterade skript, men din projektmapp är utanför VM. Så du kan använda vilken textredigerare och webbläsare du vanligtvis arbetar med, och behöver inte lägga upp en långsam VM GUI. VM gör det tunga: Det kör en lokal webbserver och serverar alla filer du behöver.

Appellen är enkel att använda: När du har en Vagrant-låda konfigurerad för ditt projekt, när det är dags att få kodning, går du helt enkelt till projektmappen och skriver vagrant upp. Detta stöter upp VM, och av dig går. När du är klar, stäng VM ner med vagranthalt och det är det - ingenting förorenar din hårddisk och systemkonfiguration, det är allt självständigt.

Vad som är ännu kallare är att du inte behöver förstå hur magiken händer: Låt oss säga att du är en del av ett tre-personers utvecklingslag. Bara en kille vet verkligen hur man konfigurerar miljön (en gemensam situation). Tidigare skulle han behöva ställa in varje maskin manuellt. Nu kan han bara göra det en gång, och alla andra kan skriva vagrant upp och få rullande delningskod på GitHub (eller BitBucket, som Matthew rekommenderar Love GitHub? 4 Anledningar till varför du borde vara värd för din kod på BitBucket Love GitHub? 4 Anledningar till varför du borde vara värd för din kod på BitBucket Du måste tänka på var du tänker lagra din kod. Det är troligt att du har hört talas om GitHub. Det är inte förvånande. GitHub används av individer och företag att vara värdkod, samarbetar om dokumentation ... Läs mer) och kodar på samma inställning.

Observera att Vagrant är tänkt att fungera vid sidan av ett källkontrollsystem. Du ställer in din runtime-miljö i Vagrant, och du använder Git för koden. Så om någon bara har din Vagrant-låda, kommer de inte kunna göra mycket med det, eftersom alla dina webbplatsens filer skulle saknas: Dessa finns i en mapp utanför den virtuella maskinen.

Installera Vagrant och Initialisera en ruta

Vagrant själv kan enkelt installeras på Windows, OS X och Linux. Gå till den officiella nedladdningssidan och ta ett installationsprogram för ditt operativsystem. Du kan behöva installera VirtualBox och Ruby separat, men det beror på ditt specifika fall.

När du har installerat Vagrant är det dags att sparka däcken med standardrutan. Skriv följande incantation:

vagrant box lägg till bas http://files.vagrantup.com/precise32.box vagrant init vagrant up 

Den första raden lägger till en “baslåda” till ditt system, och kommer att ta ett tag eftersom det faktiskt hämtar lådan från Vagrants servrar. Du får 32-bitarsversionen av Ubuntu 12.04, Precise Pangolin. Den andra raden initierar lådan, och den tredje raden startar upp den.

Om du antar att allt går bra, bör konsolen se ut så här:

Du kan nu skriva vagrant ssh att ssh till din nya låda, bara för att se att den fungerar.

Dessa kommandon fungerar från den mapp som innehåller din Vagrant-box (vilken mapp du sprang vagrant init i). Det betyder att du kan ha flera Vagrant VM-konfigurationer (och kanske till och med springande) bredvid varandra - en VM per projekt, till exempel.

I sig är detta inte det mest spännande resultatet i världen. Jag menar det är snyggt att du nu har en Ubuntu VM köra, men du kan inte riktigt göra mycket med det ur lådan.

För att göra sakerna mer användbara, skulle du antingen behöva ställa in din miljö på den här rutan (installera webbservern och utvecklingsstacken du behöver), eller du måste hitta en befintlig låda som redan har mycket av det du behöver . Eftersom upprättandet av en utvecklingsmiljö ligger utanför ramen för denna artikel (och ändringar från projekt till projekt), låt oss nu titta på det stora utbudet av befintliga lådor du kan få.

Få andra rutor

Även om du vet hur man ställer in den utvecklingsmiljö du behöver, är hela punkten med Vagrant att det sparar dubbelarbete. Om du till exempel är en WordPress-utvecklare behöver du Apache, PHP, MySQL, PhpMyAdmin och WordPress - och du är inte den enda. I det här fallet kan du gå till en webbplats som heter Vagrantpress [No longer available] och med några raka linjer med kod, sätta upp allt du behöver:

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

Och det är det - du skulle nu kunna gå http: // localhost: 8080 och ser WordPress igång. Denna bit av magi (att kunna gå till din lokala värd port 8080) äger rum med VirtualBoxs överbryggade Ethernet-adaptrar.

Det här är bara en premade Vagrant box ur hundratals olika lådor flytande online. För en stor samling kan du besöka Vagrantbox.es, vilket är i grunden ett stort bord med de många rutorna. Observera att Vagrantbox.es faktiskt inte är värd för lådorna - istället är lådfilerna spridda överallt, stora i Sourceforge, Dropbox eller Google Drive-mappar. Det betyder också att de kan gå ner när som helst, så när du hittar en låda som fungerar för ditt projekt, borde du göra en lokal kopia av det - eller exportera fortfarande den låd du slutar arbeta med (som du utan tvekan kommer att göra några tweaks och anpassningar).

Inte ett slut, men en början

Det här inlägget var inte tänkt som en allmän guide för Vagrant - det är vad Vagrant docs finns för. Istället hoppas jag att du nu har en känsla av vad ett coolt verktyg Vagrant är, och hur användbart och tillvägagångssätt det kan vara. Nu gör du en låda!

Utforska mer om: Virtualisering, webbutveckling, Wordpress.