Her på Wptuts + har vi dekket en rekke forskjellige arbeidsflyter som folk bruker når de utvikler seg for WordPress. WAMP på Windows, MAMP på Mac eller XAMPP for enten. I dag skal vi forklare noen av problemene med disse metodene, og vise deg en ny tilnærming.
De fleste levende nettsteder kjører på en ekstern webserver du har tilgang til gjennom en hosting plan. Men du ønsker ikke å utvikle på en ekstern maskin. Det er mye enklere og sikrere å utvikle på en lokal maskin du har direkte tilgang til, og deretter distribuere koden til den eksterne serveren.
De fleste eksterne webservere kjører et operativsystem som er spesielt for servere. Dette kan være en variant av Linux, som CentOS, det kan være Microsoft Windows Server, eller til og med Apples OS X Server. De vil også kjøre webserverprogramvare, for eksempel Apache, Nginx eller IIS, og databaseserverprogramvare som MySQL, PostgreSQL eller Microsoft SQL. Deretter er det forskjellige andre ting de kanskje eller kanskje ikke har tilgjengelig, for eksempel PHP, Python eller Ruby tolker, og en mengde andre ting.
De aller fleste av disse tingene er ikke den typen programvare du finner på din gjennomsnittlige bærbare eller stasjonære datamaskin. Ovennevnte WAMP, MAMP eller XAMPP hjelper til med å få Apache, MySQL og PHP kreves for WordPress-utvikling installert der, men da er det de forskjellige andre bitene som ikke nødvendigvis er tilgjengelige, for ikke å nevne selve operativsystemet (kjører en server som opererer systemet er ikke praktisk).
Men ideelt sett vil du utvikle deg i et miljø som er så nært som for webserveren du må distribuere på. Det er bare fornuftig. Du vet hva som er / er ikke tilgjengelig, og du vet at alt skal "bare virke".
Så hvordan får du ditt utviklingsmiljø (lokal maskin) det samme som ditt produksjonsmiljø (ekstern maskin)?
Nå kan du alltid gå ut og kjøpe en annen datamaskin som du kan koble til nettverket ditt, installere Linux, Apache, MySQL og PHP på, og bruk det som utviklingsmiljø. Men da koster det penger, og hva skjer hvis du trenger litt utvikling fra et annet sted? Planen har unraveled.
Heldigvis er det noen genier der ute som har laget programvare som kan etterligne en datamaskin. Du kan deretter installere et operativsystem og programvare på denne "virtuelle maskinen", og til og med koble den til nettverket ditt.
Mind. blåst.
Et slikt stykke programvare er VirtualBox, det er også andre som VMWare og Parallels.
Så du kan ha en virtuell maskin som kjører all nøyaktig samme programvare som den eksterne maskinen du til slutt vil distribuere til. Mens det kjører, vil det bruke ressurser fra din bærbare eller stasjonære maskin, for eksempel CPU-strøm, RAM og harddiskplass, etc. Men nettsteder bruker vanligvis mye mindre ressurser enn moderne bærbare datamaskiner og skrivebord har tilgjengelig, så dette er ikke noe problem.
Nå, hva skjer hvis du har flere eksterne maskiner du distribuerer til for forskjellige kunder eller prosjekter, og de har forskjellige oppsett? Heldigvis kan du ha i hovedsak så mange forskjellige virtuelle maskiner som du vil! En for hvert prosjekt, om nødvendig.
Selvfølgelig, å ha mange virtuelle maskiner på din bærbare eller stasjonære skal begynne å ta sin bompenge. Du må gå gjennom og installere den nødvendige programvaren på hver og en når du konfigurerer den, og de vil alle ta opp harddiskplass, så etter en stund kan du finne det blir litt uhåndterlig. Du kan alltid slette virtuelle maskiner når du er ferdig med et prosjekt, men hvis prosjektet henter sikkerhetskopi, eller hvis klienten kommer tilbake for mer arbeid, må du gå gjennom prosessen med å sette opp alt igjen.
Kanskje det er en måte å klare dette bedre på?
Skriv inn Vagrant. Vagrant er noe programvare som lar deg, i sine ord, "Opprette og konfigurere lette, reproduserbare og bærbare utviklingsmiljøer."
Høres bra ut, riktig?
Hva Vagrant gjør er å administrere de virtuelle maskinene for deg. Den leveres med støtte for VirtualBox innebygd, og du kan også legge til støtte for VMWare.
Alt du trenger å gjøre er å lage en Vagrant konfigurasjonsfil i prosjektet ditt, og det vil fortelle Vagrant hvilken base virtuell maskin å bruke (hvilket operativsystem, etc.), hvilken programvare som skal installeres, og så vil Vagrant lage den for deg! Hvis du er ferdig med prosjektet, kan du da slette maskinen, men hvis du trenger den tilbake, vil Vagrant gjenskape den for deg med samme programvare.
Så forhåpentligvis har jeg i det minste solgt deg på ideen om å bruke en virtuell maskin for utviklingsmiljøet ditt, og bruke Vagrant for å gjøre det mer strømlinjeformet. Men det har ikke vært noen omtale av WordPress-utviklingen spesielt ennå ...
Godt poeng! Men jeg skal lagre det for del to. Vi har dekket begrunnelsen bak "hvorfor", og neste gang jeg tar deg gjennom hele tiden, får du alt dette oppsettet, og jeg er sikker på at du blir solgt helt!