Vagrant En rask, uanstrengt måte å lage virtuelle maskiner for lokal webutvikling

Vagrant En rask, uanstrengt måte å lage virtuelle maskiner for lokal webutvikling / Wordpress og webutvikling

Hvis du noen gang har jobbet med et webutviklingsprosjekt, vet du bare at det kan være vanskelig å komme i gang. Selv om du bare lager en enkel WordPress-widget Slik lager du dine egne grunnleggende WordPress-widgets Slik lager du dine egne grunnleggende Wordpress-widgets Mange bloggere vil søke etter den perfekte Wordpress-widgeten som vil gjøre akkurat det de vil ha, men med en liten programmeringserfaring Det kan hende du finner det lettere å skrive din egendefinerte widget. Denne uken vil jeg ... Les mer, du kommer til å trenge en WordPress-instans for å jobbe med. Det betyr ofte at du jobber med et sted i skyen eller kanskje oppretter en lokal webserver. Kjør en lokal PHP-webserver på Mac OS X. Med Zend Server Kjør en lokal PHP-webserver på Mac OS X med Zend Server. Hosting din egen PHP-server har to hovedfordeler. Først av alt kan du være vert for det lokalt, slik at du ikke trenger å bry deg med å overføre filene dine og trenger bare å oppdatere siden i ... Les mer. Og hvis du samarbeider med noen, må de lage akkurat det samme oppsettet også.

Det er irriterende, men det blir verre: Hvis du tilfeldigvis jobber med mer enn ett prosjekt samtidig, og begge prosjektene bruker litt forskjellige stabler (forskjellige webservere, versjoner av PHP, etc.) kan du finne deg selv mye å holde styr på. Heldigvis er det en bedre måte: Meet Vagrant, en fri og kraftig måte å skape prosjekt-spesifikke virtuelle maskiner på.

Sluttresultatet, Eller: Hvorfor bry deg?

Konseptet bak Vagrant høres litt vanskelig ut først. Du spinner i utgangspunktet en VM som kjører din webserver og eventuelle relaterte skript, men prosjektmappen din er utenfor VM. Så du kan bruke hvilken som helst tekstredigerer og nettleser du vanligvis jobber med, og trenger ikke å sette opp en sakte VM GUI. VM gjør bare den tunge løftingen: Den kjører en lokal webserver og serverer hvilke filer du trenger.

Appellen er enkel å bruke: Når du har en Vagrant-boks konfigurert for prosjektet ditt, når det er på tide å få koding, går du ganske enkelt til prosjektmappen og skriver vagrant opp. Dette støtter opp VM, og av deg går. Når du er ferdig, slå VM ned med vagranthalt og det er det - ingenting forurenser harddisken og systemkonfigurasjonen, det er alt selvstendig.

Hva er enda kulere er at du ikke trenger å forstå hvordan magien skjer: La oss si at du er en del av et tre-personers utviklingslag. Bare en fyr vet virkelig hvordan man konfigurerer miljøet (en vanlig situasjon). Tidligere måtte han sette opp hver maskin manuelt. Nå kan han bare gjøre det en gang, og alle andre kan skrive vagrant opp og få rullende delingskode på GitHub (eller BitBucket, som Matthew anbefaler Love GitHub? 4 grunner til at du bør være vert for koden din på BitBucket Love GitHub? 4 grunner til at du bør hoste koden på BitBucket Du må tenke på hvor du har tenkt å lagre koden din. Det er sannsynligvis at du har hørt om GitHub. Det er ikke overraskende. GitHub brukes av enkeltpersoner og bedrifter til å være vertskode, samarbeide med dokumentasjon ... Les mer) og koding på samme oppsett.

Vær oppmerksom på at Vagrant er ment å fungere sammen med et kildekontrollsystem: Du konfigurerer ditt runtime-miljø i Vagrant, og du bruker Git for koden. Så hvis noen bare har din Vagrant-boks, vil de ikke kunne gjøre mye med det, fordi alle nettstedets filer mangler: Disse finnes i en mappe utenfor den virtuelle maskinen.

Installere Vagrant og Initialisere en boks

Vagrant selv kan enkelt installeres på Windows, OS X og Linux. Gå til den offisielle nedlastingssiden og ta et installasjonsprogram for ditt operativsystem. Du må kanskje installere VirtualBox og Ruby separat, men det avhenger av ditt spesielle tilfelle.

Når du har installert Vagrant, er det på tide å sparke dekkene med standardboksen. Skriv inn følgende incantation:

vagrant boks legg base http://files.vagrantup.com/precise32.box vagrant init vagrant up 

Den første linjen legger til a “base boks” til systemet ditt, og kommer til å ta en stund da det faktisk laster ned boksen fra Vagrant-servere. Du får 32-biters versjonen av Ubuntu 12.04, Precise Pangolin. Den andre linjen initialiserer boksen, og den tredje linjen støtter den opp.

Forutsatt at alt går bra, bør konsollen din se slik ut:

Du kan nå skrive inn vagrant ssh å ssh inn i din nye boks, bare for å se at den fungerer.

Disse kommandoene vil fungere fra mappen som inneholder Vagrant-boksen din (hvilken mappe du kjører vagrant init i). Dette betyr at du kan ha flere Vagrant VM'er konfigurert (og kanskje til og med kjører) ved siden av hverandre - en VM per prosjekt, for eksempel.

I seg selv er dette ikke det mest spennende resultatet i verden. Jeg mener det er pent at du nå har en Ubuntu VM som kjører, men du kan egentlig ikke gjøre mye med det ut av boksen.

For å gjøre ting mer nyttig, må du enten sette miljøet ditt opp i denne boksen (installere webserveren og utviklingsbunken du trenger), eller du må finne en eksisterende boks som allerede har mye av det du trenger . Siden etableringen av et utviklingsmiljø er utenfor rammen av denne artikkelen (og endringer fra prosjekt til prosjekt), la oss nå se på det store utvalget av eksisterende bokser du kan få.

Å få andre bokser

Selv om du vet hvordan du konfigurerer utviklingsmiljøet du trenger, er hele punktet med Vagrant at det sparer duplisering av innsats. For eksempel, hvis du er en WordPress-utvikler, trenger du Apache, PHP, MySQL, PhpMyAdmin og WordPress - og du er ikke den eneste. I dette tilfellet kan du gå til et nettsted kalt Vagrantpress [Ikke lenger tilgjengelig] og med noen få raske linjer med kode, sett opp alt du trenger:

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

Og det er det - du vil nå kunne gå http: // localhost: 8080 og se WordPress kjører. Denne biten av magi (å kunne gå til den lokale vertens port 8080) finner sted med høflighet av VirtualBoxs brokoblede Ethernet-adaptere.

Dette er bare en premade Vagrant boks ut av hundrevis av forskjellige bokser som flyter på nettet. For en stor samling kan du besøke Vagrantbox.es, som i utgangspunktet er et stort bord med de mange boksene. Vær oppmerksom på at Vagrantbox.es egentlig ikke er vert for boksene - i stedet er boksfilene spredt over alt, stort i Sourceforge, Dropbox eller Google Drive-mapper. Dette betyr også at de kan gå ned når som helst, så når du finner en boks som fungerer for prosjektet ditt, bør du lage en lokal kopi av det - eller enda bedre, eksporter boksen du ender med å jobbe med (som du vil utvilsomt gjøre noen tweaks og tilpasninger).

Ikke et slutt, men en begynnelse

Dette innlegget var ikke ment som en generell guide til Vagrant - det er det Vagrant docs er der for. I stedet håper jeg at du nå har en følelse av hva et kult verktøy Vagrant er, og hvor nyttig og tilnærmet det kan være. Gjør nå en boks!

Utforsk mer om: Virtualisering, Webutvikling, Wordpress.