Japh, i sin tidligere artikkel, har forklart begrunnelsen - og til slutt overbevist oss - å sette vårt utviklingsmiljø så nær den eksterne webserveren ved hjelp av Vagrant. Artikkelen er mer enn to år gammel, men ideen er fortsatt aktuell i dag. Enda mer, har Vagrant nylig fått traction i WordPress-fellesskapet med en spesiell Vagrant-konfigurasjon kalt VVV, kort for Varying Vagrant Vagrants.
VVV er en forhåndsinnstilling av Vagrant-konfigurasjonen rettet mot WordPress-sentrale prosjekter som å utvikle et tema, et plugin eller bidra til WordPress Core. VVV er også fullpakket med en håndfull verktøy som WP-CLI, PHP Code Sniffer og Composer som overlater våre utviklings arbeidsflyter.
Ikke desto mindre har bruk av et program som MAMP, WAMP eller XAMPP gitt et tilstrekkelig praktisk nivå for mange utviklere; disse verktøyene har kanskje betjent dem så godt at det ikke virker nødvendig å migrere til VVV.
Av den spesielle grunnen er denne opplæringen rettet mot de som har lenge vært brukere av disse tradisjonelle stakkapplikasjonene for å utvikle WordPress, og nå føler at appen ikke lenger klarer å håndtere de mer omfattende og komplekse prosjekter.
Kanskje du leser et sted om Vagrant som kalles et godt alternativ, men du vet ikke hvor du skal begynne, og om Vagrant er det rette verktøyet for deg. Så før vi dykker videre, vil vi skissere vårt prosjektutviklingsscenario der bruk av VVV vil være hensiktsmessig.
La oss begynne.
Først av alt, har vi et team utviklere som hjelper oss med dette prosjektet. Teamet vårt er distribuert over hele verden, og alle har sin egen preferanse - noen bruker Windows, mens andre bruker OS X. Vi vedtar Vagrant og VVV slik at alle har samme miljø og gjør testutgangen mer relevant.
Prosjektet vårt er å skape et tema og et plugin som vi vil sende til deres respektive WordPress.org-depot.
Temaet bør være kompatibelt med noen populære plugins som Jetpack, WooCommerce, EDD og BBPress. Vi vil også teste pluginet mot en rekke andre plugins, noe som ikke sikrer konflikter eller feil når de er aktive sammen.
Videre skal temaet og pluginet også være kompatibelt med de nyeste samt to tidligere versjoner av WordPress, og bør være klar for fremtidige WordPress-utgivelser ved å teste dem gjennom Beta-versjonen.
Følgende tabell viser hvor vårt tema og plugin skal være kompatibelt med WordPress-versjoner, samt med en rekke plugins.
kompatibilitet: | Acme-StoreFront (tema) | Acme-LocalCurrency (plugin) |
---|---|---|
WordPress 4.2 | √ | - |
WordPress 4.3 | √ | - |
WordPress Latest | √ | √ |
WordPress Beta | √ | √ |
jetpack | √ | - |
bbPress | √ | - |
Easy Digital Downloads (EDD) | √ | √ |
WooCommerce | √ | √ |
Videre kan vi ha en lokal nettside på jetpack.wordpress.dev
som vil være vert for temaene (eller plugin) som er avhengig av en eller flere av Jetpack-modulene som uendelig rulling og deling.
For å unngå mulige forstyrrelser fra andre plugins, kobler den aktive pluginene inn jetpack.wordpress.dev
er bare Jetpack, med noen unntak for noen få støtte plugins for utvikling som Query Monitor, VIP Scanner og Debug Bar.
Til slutt kan vi også lage woo.wordpress.dev
, bbp.wordpress.dev
, og så videre for å bygge og teste våre prosjekter rundt disse plugins funksjonalitetene.
Nå som vi har en grov ide om hva vi skal gjøre, og du har disse verktøyene installert, vil vi nå fortsette å sette VVV opp og ned. La oss komme i gang!
Første ting først, vi trenger en virtuell maskin (VM) for å være vert for våre utviklingsmiljøer opprettet gjennom Vagrant. I denne opplæringen velger vi VirtualBox; Det er gratis og fungerer på tvers av plattformen. Et installasjonsprogram er tilgjengelig for hver plattform, Windows, OSX og et par Linux-distribusjoner - på nedlastingssiden.
Start installasjonsprogrammet og følg trinnene helt til slutten av prosessen. Alternativt kan OS X-brukere installere VirtualBox gjennom Homebrew Cask, som gjør at du kan installere VirtualBox mer bekvemt med en enkelt kommandolinje som følger.
brew cask installere virtuell boks
Når VirtualBox er installert, noe som kan ta litt tid, fortsetter vi å installere Vagrant.
Tilsvarende er en Vagrant installer tilgjengelig for OS X, Windows og Linux. Last ned en til plattformen din og følg trinnene gjennom. OS X-brukere kan installere det gjennom Homebrew Cask med følgende kommandolinje.
brew cask install vagrant
Når det er installert, bør du få tilgang til vagrant
CLI.
Installere følgende vagrant plugins er valgfritt, men det er vanligvis en god ide å ha dem installert for å strømlinjeforme prosessen med å få VVV utviklingsmiljø, inkludert de lokale nettstedene, opp og ned.
Vagrant Hosts Updater: Denne plugin vil tillate Vagrant å oppdatere verter
fil for å registrere domenenavnet for de lokale nettstedene. Ellers må vi legge til det på egen hånd, noe som høres litt ubeleilig ut.
Kjør følgende kommando for å installere plugin:
vagrant plugin installere vagrant-hostsupdater
Vagrant Triggers: Denne plugin vil tillate VVV å automatisere en rekke prosesser som sikkerhetskopiering av databaser. For å installere det, kjør:
vagrant plugin installere vagrant-triggers
Forutsetningene-VirtualBox og Vagrant sammen med plugins-er satt. Så vi kan begynne å installere VVV.
Først klon VVV fra GitHub-depotet til en lokal katalog.
git klone git: //github.com/Varying-Vagrant-Vagrants/VVV.git
Når klonen er på plass, navigerer du til katalogen hvor den ligger. Deretter får du det oppe med følgende kommandolinje:
cd vvv; vagrant opp
VVV vil laste ned og installere Ubuntu som det virtuelle operativsystemet som vil være vert for våre lokale nettsteder. På et tidspunkt må du kanskje også skrive inn passordet ditt for å la Vagrant skrive vertsfilen din.
VVV initialisert for første gangHusk, dette er første gang vi setter VVV opp og går. Prosessen vil ta ganske lang tid; Det kan ta 30 minutter til en time eller så for å fullføre. Ta en spasertur, en kopp kaffe, eller ta litt hvile mens prosessen pågår.
Når VVV er oppe, gir den oss et par WordPress-standardinstallasjoner, som følger:
Du bruker en utviklingsversjon (4.5-RC1-37169)
i bunnteksten.Logg inn på disse nettstedene med admin
som brukernavn og passord
som passordet.
Nå som vi har VVV oppe, kan vi sparke våre nye prosjekter. Vi skal lage et eksempeltema og et plugin. Og det har alltid vært min preferanse å starte et tema med Underscores og å bruke WPPB for et plugin.
Vi legger til disse kjelen i deres respektive katalog i / Wp-content /
katalog av local.wordpress.dev
, ligger ved VVV-katalogen / www / wordpress-default / wp-content /
.
Fortsett med å utvikle temaet og plugin-modulen; legg til noen funksjoner, legg til en Innstillingsside for temaet, legg til dypere integrasjon med Customizer for temaet, og til slutt gjøre dem klar til WordPress neste utgivelser.
Envato Tuts + har utgitt mange ressurser som kan komme til nytte under utviklingen. Følgende er et utvalg av mine favoritter:
Som vi nevnte tidligere, skal vi lage noen flere lokale nettsteder der vi skal utvikle vårt tema og plugin for integrasjon med flere plugins som Jetpack, WooCommerce, EDD og BBPress. Vi skal også sette et par nettsteder for å teste våre prosjekter mot WordPress tidligere versjoner, i dette tilfellet 4.3 og 4.2. På dette punktet har vi bare hatt local.wordpress-trunk.dev
up, som er vert for WordPress nattlig, beta eller release-kandidat (RC) versjon.
Opprette og sette opp et lokalt nettsted tar vanligvis flere trinn. Først må vi laste ned WordPress-kopien, pakke ut og plassere den i roten til vår lokal vert, opprett en database, kjør WordPress installasjonen, og endre vertsfilen for å registrere domenenavnet. Hvis vi tar prosessen i å skape, si tre eller flere lokale nettsteder, vil vi snart finne prosessen ineffektivt tidkrevende.
Med VVV og utvidelsen heter VV, kort for Variabel VVV, Vi vil være i stand til å være mer produktive med mindre innsats. La oss ta en titt på hvordan du distribuerer VV.
Siden prosessen med å installere VV i OS X og Windows varierer, er denne delen delt i to seksjoner. Du kan hoppe umiddelbart til delen av plattformen du bruker.
Den enkleste måten å installere VV på OSX er gjennom Homebrew. Skriv bare følgende kommando.
bryg installa bradp / vv / vv
I Windows må du først klone VV-depotet, et sted i datamaskinkatalogen din.
git klon https://github.com/bradp/vv.git vv
Da trenger vi Windows for å gjenkjenne vv
kommando.
For å gjøre det, høyreklikk Min datamaskin eller Denne PC og velg Eiendommer… . Så gå til Avanserte systeminnstillinger> Miljøvariabler. Velg "Path" fra listen System variabel og klikk Redigere… .
Legg til vv
katalogbanen du klonte før. For eksempel:C: \ Users \ thoriq \ nettsteder \ vv
.
Når installert, bør vi få tilgang til vv
kommandoen globalt. Kommandoen vil tillate oss å sette inn nye WordPress-installasjoner opp og ned, blant annet som du kan finne detaljene i gjennom vv - hjelp
kommando.
I Windows er CLI tilgjengelig både gjennom Kommandoprompt (cmd.exe) og Bash Git.
VV har gjort installasjon av et nytt WordPress-nettsted like enkelt som å skrive følgende kommando:
vv opprette
Når det er utført, vil det stille noen spørsmål underveis for å konfigurere det nye nettstedet, nemlig:
For MAMP-brukere ligner det på å opprette en ny mappe i MAMP-dokumentrotten på / MAMP / htdocs /
. Dette er mappen der alle nettstedets eiendeler ligger. I dette trinnet skriver du inn navnet katalogen uten mellomrom, helst i små bokstaver, for eksempel:
Sett domenet for vår nye nettside. Et domene for en lokal nettside slutter ofte med enten .dev
eller .lokal
. I dette tilfellet vil jeg nevne vår 42.wordpress.dev
. Det er et underdomene med nummeret 42
, som refererer til WordPress versjonen, 4.2.x, som vi skal installere.
Her installerer vi WordPress 4.2.8, som er den siste iterasjonen innen 4.2-grenen. Den komplette listen over WordPress-utgivelser finnes på Utgivelsesarkiv-siden.
Det spør oss om vi vil aktivere WordPress Multisite-modus. Vi velger N
.
For tiden er det ikke topp prioritet å støtte WordPress Multisite for våre temaer og plugins. Hvis vi noensinne trenger å bygge og teste prosjekter under multisite-miljøet, kan vi senere opprette et annet nettsted under et nytt domene, f.eks.. mu.wordpress.dev
.
The WordPress wp-innhold
kataloget er vanligvis vert for en rekke underkataloger, for eksempel temaer, plugins og opplastinger av kataloger. Noen ganger kan jeg også lage noen ekstra mapper for å lagre noen vilkårlig filer. Hvis du har et forhåndsinnstilt innhold som er hostet på et Git-depot, kan du skrive inn nettadressen og la VV klone depotet.
For nå, la vi det tomt.
Vi har ikke en SQL-database å importere, så vi vil også la denne ledelsen være tom. Men hvis du har en, spesifiser du katalogen hvor SQL-filen ligger, for eksempel: /Sites/db/wp.sql
.
WordPress kommer med standardtemaene (for eksempel Tjuefifteen, Tjuefixen osv.) Og plugins (Akismet og Hello Dolly) som vi ofte ikke vil bruke. I dette trinnet kan vi passere y
til å spørre VV om å fjerne dem helt.
Vi kan fortelle VV å installere prøveinnhold fra WPTest. Det er et omfattende sett med innhold som inkluderer innlegg, sider og kommentarer. Dette innholdet kommer til å være nyttig for å finne eventuelle feiljusteringer, kompatibilitetsproblemer eller feil i våre temaer og plugins. Deretter skriver du y
.
Vi skal definitivt aktivere WP_DEBUG for å la WordPress skrive ut eventuelle PHP-feil under utviklingen. Deretter skriver du y
på spørsmålet.
Til slutt, bekreft alle definerte konfigurasjoner er riktige før VV fortsetter med installasjonen. Hvis alt ser bra ut, skriv inn y
å fortsette. Hvis ikke, skriv inn n
å avbryte operasjonen, og du kan gjenta vv opprette
fra starten.
Når en gang er ferdig, viser VV siden og legitimasjons-brukernavnet og passordet - for å logge inn som følger.
Gjenta disse trinnene for å installere de andre nevnte nettstedene i delen "Prosjektoppsummering" i denne opplæringen.
Vi har nå flere nettsteder med varierende miljøer for å teste våre prosjekter-temaer eller plugins. Antallet av våre nettsteder vil vokse over tid, opp til det punktet hvor kopiering av prosjektkatalogene rundt til disse testmiljøene ville være et ubeleilig foretak.
Av den grunn vil vi trenge en enkelt mappe der vi kunne kaste prosjektet vårt til disse nettstedene samtidig, noe som til slutt gjør arbeidsflyten mer organisert.
Vagrant lar oss synkronisere kataloger til den virtuelle maskinen. Faktisk utnytter Vagrant sin egen funksjon under hetten. Hvis vi ser på Vagrantfile
Under delen "Kjør kartlegging" finner vi det synkroniserer en rekke kataloger, inkludert www /
der alle våre nettsteders installasjon er vert.
Til å begynne med må vi først opprette to kataloger, henholdsvis for å være vert for våre plugins og temaer. Du kan plassere disse katalogene hvor som helst på datamaskinen. I mitt tilfelle har jeg en katalog som heter dev
som inneholder alle mine prosjekter, som følger.
. └── dev └── library ├── plugins └── temaer
Deretter registrerer vi kart over disse katalogene. Vi har tre WordPress-nettsteder installert på local.wordpress.dev
og local.wordpress-trunk.dev
. Så, disse katalogene vil bli kartlagt, peker og synkroniserer til hver av / plugins /
og / temaer /
katalog over disse nettstedene i den virtuelle maskinen.
Det bør imidlertid alltid unngås å endre standardsystemfilen. Derfor istedenfor å modifisere Vagrantfile
, Vi legger til kartleggingskonfigurasjonen i en fil som heter Customfile
-ser på Vagrantfile
, på omtrent linje 241, finner vi det lastet for å søke på egendefinert måte eller tilsidesette standardkonfigurasjonene.
Opprett Customfile
filen på samme sted som Vagrantfile
.
. └──vvv └── Vagrantfile ├── Customfile
Legg til følgende kodelinjer, som jeg er sikker på, er ganske selvforklarende, inn i filen.
## Plugins config.vm.synced_folder "/ Brukere / Thoriq / Nettsteder / dev / plugins /", "/ srv / www / wordpress-default / wp-content / plugins",: owner => "www-data" mount_options => ["dmode = 775", "fmode = 774"] config.vm.synced_folder "/ Brukere / Thoriq / Nettsteder / dev / plugins /", "/ srv / www / wordpress-develop / wp-content / plugins ",: owner =>" www-data ",: mount_options => [" dmode = 775 "," fmode = 774 "] config.vm.synced_folder" / Brukere / Thoriq / Sites / dev / plugins / "," / srv / www / wordpress-42 / htdocs / wp-content / plugins ",: owner =>" www-data ",: mount_options => [" dmode = 775 "," fmode = 774 "] ## Temaer config.vm .synced_folder "/ Brukere / Thoriq / Nettsteder / dev / temaer /", "/ srv / www / wordpress-default / wp-content / themes",: owner => "www-data",: mount_options => ["dmode = 775 "," fmode = 774 "] config.vm.synced_folder" / Brukere / Thoriq / Nettsteder / dev / temaer / "," / srv / www / wordpress-trunk / wp-content / themes " "www-data",: mount_options => ["dmode = 775", "fmode = 774"] config.vm.synced_folder "/ Brukere / Thoriq / Sites / dev / themes /", "/ srv / www / wordpress- 42 / htdocs / wp-con telt / temaer ",: eier =>" www-data ",: mount_options => [" dmode = 775 "," fmode = 774 "]
Oppdater Vagrant ved å kjøre vagrant reload
, ellers vagrant opp
hvis den ikke kjører. Våre plugins og temaer i / Dev / plugins /
og / Dev / temaer /
bør nå bli oppført på alle nettstedene.
På dette tidspunktet har vi satt Vagrant og VVV opp og går. Vi er nå i stand til å skape et nytt lokalt nettsted i løpet av noen få minutter uten å sjonglere rotet ved å laste ned WordPress .glidelås
pakke, pakke ut pakken og redigere verter filoppføringer.
De fleste av våre operasjoner til dette punktet har blitt gjort gjennom kommandolinjegrensesnittet. Det kan forståelig nok være litt skremmende for førstegangsarbeidere, spesielt for de som kommer fra grafiske grensesnittapplikasjoner som MAMP eller WAMP. Det tar tid å bli vant til det.
Noen operasjoner i Vagrant kan imidlertid erstattes med en GUI-motpart. Det er noen utvidelser tilgjengelig som legger til gode GUI-lag til Vagrant og VVV, noe som gjør å gjøre noen ting så enkelt som et klikk. Noen av dem inkluderer:
The Vagrant Dashboard på vvv.dev
er kanskje et ekvivalent med MAMPs localhost / MAMP /
side, bortsett fra den vises i vanlig hvit.
Heldigvis kan vi leve det opp med en forlengelse. Det er noen valg, og jeg velger VVV Dashboard av topdown. For å distribuere utvidelsen, naviger til / Www / default /
katalog og dra utvidelsesarkivet:
git klon https://github.com/topdown/VVV-Dashboard.git dashbord
Så kopier /dashboard/dashboard-custom.php
inn i / defaults /
, som følger.
. ─ - dashboard ├── dashboard-custom.php (det tilpassede dashbordet) ├── database-admin ├── index.php ├── memcached-admin ├── opcache-status ├── phpinfo └── webgrind
Du trenger ikke å laste om Vagrant. Bare oppdater VVV Dashboard på vvv.dev. Du bør nå finne mange andre detaljer om vår Vagrant-konfigurasjon på dashbordet, bortsett fra bare å oppgi de installerte nettstedene.
Tilpasset VVV Dashboard.Et annet verktøy du kan installere er Vagrant Manager.
Vagrant Manager er relatert til MAMP og WAMP, hvor det i dette tilfellet tillater oss å løpe, stoppe og laste Vagrant på nytt med noen få klikk. Vagrant Manager er tilgjengelig i OS X gjennom Homebrew Cask og .dmg
, og i Windows gjennom .exe
installasjonspakke. Derfor skal installeringen av applikasjonen være en no-brainer.
Når Vagrant Manager er installert og kjører, kan du finne en liste over Vagrant-konfigurasjonene og som for øyeblikket er aktiv.
Vagrant kommer også med phpMyAdmin innebygd, tilgjengelig på vvv.dev/database-admin/. Jeg er imidlertid ikke en fan av phpMyAdmin. Bortsett fra det unlovely grensesnittet, er det trist å behandle en spørring i en stor database. Dette er de grunnene til at jeg foretrekker å bruke en innfødt applikasjon som Sequel Pro, eller SQL Workbench for Windows. Vi må imidlertid først koble programmet til MySQL.
Her bruker jeg Sequel Pro for OS X. Likevel, legitimasjonene som kreves for å få forbindelse til MySQL, gjelder uansett hvilke applikasjoner du bruker. De er de samme.
127.0.0.1
rot
rot
local.wordpress.dev
(gjelder også for alle domener registrert i VVV)vagrant
vagrant
Hvis du ser en advarsel som vist nedenfor, kan du ignorere den og bare klikke "Ja" eller "OK" for å fortsette. Vi kobler bare til en virtuell maskin på vår egen datamaskin, så det bør ikke være noe å bekymre seg for.
Når vi er koblet til, kan vi se databasen over våre nettsider. Nå kan vi gjøre noen ting som å importere og eksportere en database, eller sannsynligvis utføre noen SQL-spørringer.
Som nevnt kommer VVV med en pakke med verktøy, inkludert PHP CodeSniffer, som lar deg utføre koderevisjon på prosjektene dine mot WordPress Coding Standards. Det er noe jeg tror du burde gjøre, spesielt før prosjektlanseringen.
Men siden PHP CodeSniffer er noe utenfor omfanget av denne opplæringen, har jeg satt sammen et par referanser for å hjelpe deg med å komme i gang på emnet.
Vi har kommet langt for å sette VVV opp og løp så vel som forbedre den med en rekke utvidelser. I siste instans strømlinerer det vår arbeidsflyt når det gjelder å skape et nytt lokalt nettsted eller testmiljøer med WordPress, selv om det kan ta litt tid å bli vant til det.
WordPress har en utrolig aktiv økonomi. Det er temaer, plugins, biblioteker og mange andre produkter som hjelper deg med å bygge opp ditt nettsted og prosjekt. Plattformens åpen kildekode gjør det også til et flott alternativ som du kan forbedre programmeringsevnen din. Uansett kan du se alt vi har tilgjengelig på Envato Marketplace.
Jeg håper du finner denne opplæringen et nyttig referanse for å komme i gang med Vagrant og VVV.