Japh, în articolul său anterior, a explicat rațiunea - și în cele din urmă ne-a convins - să stabilim mediul nostru de dezvoltare cât mai aproape de serverul web de la distanță folosind Vagrant. Articolul este mai vechi de doi ani, dar ideea este încă relevantă astăzi. Chiar mai mult, Vagrant a câștigat recent tracțiune în comunitatea WordPress cu o configurație specială Vagrant numită VVV, scurtă pentru Varying Vagrant Vagrants.
VVV este o presetare a configurației vagabonde orientate către proiectele centrate pe WordPress, cum ar fi dezvoltarea unei teme, a unui plugin sau a contribuției la WordPress Core. VVV este, de asemenea, ambalat cu o multime de instrumente cum ar fi WP-CLI, PHP Code Sniffer si Composer care suprasolicite fluxurile de lucru pentru dezvoltare.
Cu toate acestea, utilizarea unei aplicații precum MAMP, WAMP sau XAMPP oferă un nivel suficient de comoditate pentru mulți dezvoltatori; aceste instrumente le-ar fi servit atât de bine încât migrarea la VVV nu pare necesară.
Din acest motiv special, acest tutorial vizează aceia dintre voi care au fost de mult timp utilizatori ai acestor aplicații tradiționale de stivă pentru dezvoltarea WordPress și acum simțiți că aplicația nu se mai poate ocupa de proiectele dvs. mai extinse și complexe.
Poate citești undeva despre faptul că Vagrantul este numit o alternativă excelentă, dar nu știi de unde să începi și dacă Vagrantul este instrumentul potrivit pentru tine. Deci, înainte de a ne scufunda în continuare, vom sublinia scenariul nostru de dezvoltare a proiectului, în care utilizarea VVV va fi adecvată.
Sa incepem.
În primul rând, avem o echipă de dezvoltatori care ne ajută în acest proiect. Echipa noastră este distribuită pe tot globul și toată lumea are propria preferință - unii folosesc Windows, în timp ce alții folosesc sistemul OS X. Noi adoptăm Vagrant și VVV astfel încât toată lumea să aibă același mediu și să facă testul mai pertinent.
Proiectul nostru este de a crea o temă și un plugin pe care le vom trimite la propriul depozit WordPress.org.
Tema ar trebui să fie compatibilă cu câteva pluginuri populare, cum ar fi Jetpack, WooCommerce, EDD și BBPress. De asemenea, vom testa pluginul împotriva unui număr de alte pluginuri, garantând că nu există conflicte sau bug-uri atunci când acestea sunt active împreună.
În plus, tema și plugin-ul ar trebui să fie, de asemenea, compatibile cu ultimele versiuni ale WordPress și să fie pregătite pentru versiuni WordPress viitoare, prin testarea lor prin versiunea Beta.
Următorul tabel arată unde tema și plugin-ul nostru ar trebui să fie compatibile cu versiunile WordPress, precum și cu un număr de pluginuri.
Compatibilitate: | Acme-StoreFront (temă) | Acme-LocalMonitor (plugin) |
---|---|---|
WordPress 4.2 | √ | - |
WordPress 4.3 | √ | - |
WordPress Latest | √ | √ |
WordPress Beta | √ | √ |
jetpack | √ | - |
bbPress | √ | - |
Descărcări Easy Digital (EDD) | √ | √ |
WooCommerce | √ | √ |
În plus, este posibil să avem un site web local la jetpack.wordpress.dev
care va găzdui temele (sau pluginurile) care depind de unul sau mai multe dintre modulele Jetpack, cum ar fi Infinite Scroll and Sharing.
Pentru a evita posibilele interferențe de la alte pluginuri, plug-in-urile active se află înăuntru jetpack.wordpress.dev
sunt doar Jetpack, cu câteva excepții pentru câteva plugin-uri de dezvoltare, cum ar fi Query Monitor, Scanner VIP și Debug Bar.
În cele din urmă, putem crea, de asemenea woo.wordpress.dev
, bbp.wordpress.dev
, și așa mai departe pentru a construi și a testa proiectele noastre în jurul funcționalităților acestor pluginuri.
Acum că avem o idee grosolană despre ceea ce vom face și dacă aveți aceste instrumente instalate, vom continua să setăm VVV în funcțiune. Să începem!
În primul rând, avem nevoie de o mașină virtuală (VM) pentru a găzdui mediile noastre de dezvoltare create prin Vagrant. În acest tutorial, optăm pentru VirtualBox; este gratuit și funcționează pe mai multe platforme. Un program de instalare este disponibil pentru fiecare platformă - Windows, OSX și câteva distribuții Linux - pe pagina Descărcare.
Lansați instalatorul și urmați pașii până la sfârșitul procesului. Alternativ, utilizatorii OS X pot instala VirtualBox prin Caseta Homebrew, care vă permite să instalați VirtualBox mai convenabil cu o singură linie de comandă după cum urmează.
bara de cerneală a instala virtubox
Odată instalat VirtualBox, care poate dura ceva timp, vom continua să instalăm Vagrant.
În mod similar, este disponibil un program de instalare Vagrant pentru OS X, Windows și Linux. Descărcați unul pentru platforma dvs. și urmați pașii de mai jos. Utilizatorii OS X pot instala programul prin Homebrew Cask cu următoarea linie de comandă.
vagon de instalare a bidoanelor
Odată instalat, ar trebui să aveți acces la vagabond
CLI.
Instalarea următoarelor pluginuri vagrante este opțională, însă, în general, este o idee bună să le instalați pentru a raționaliza procesul de punere în funcțiune a mediului de dezvoltare VVV, inclusiv a site-urilor locale.
Votător gazdă Updater: acest plugin va permite Vagrantului să actualizeze gazde
fișier pentru a înregistra numele de domeniu pentru site-urile locale. În caz contrar, va trebui să adăugăm pe cont propriu, ceea ce pare puțin incomod.
Rulați următoarea comandă pentru a instala pluginul:
vagrant plugin instalează vagrant-hostsupdater
Vigrant Triggers: acest plugin va permite VVV-ului să automatizeze o serie de procese precum backup-ul bazelor de date. Pentru ao instala, rulați:
vagrant plugin instalare vagrant-declanșatoare
Cerințele preliminare - VirtualBox și Vagrant împreună cu pluginurile - sunt setate. Așadar, putem începe instalarea VVV.
Mai întâi, clonați VVV din depozitul GitHub într-un director local.
git clona git: //github.com/Varying-Vagrant-Vagrants/VVV.git
Odată ce clona este instalată, navigați la directorul unde se află. Apoi, puneți-o în funcțiune cu următoarea linie de comandă:
cd vvv; vagrant sus
VVV va descărca și instala Ubuntu ca sistem virtual care va găzdui site-urile noastre locale. La un moment dat, poate fi necesar să introduceți parola pentru a permite Vagrantului să scrie fișierul gazdă.
VVV a fost inițializat pentru prima datăRețineți că aceasta este prima dată când setăm VVV în funcțiune. Procesul va dura mult timp; poate dura aproximativ 30 de minute până la o oră pentru a finaliza. Faceți o plimbare, o cafea sau faceți o odihnă în timp ce procesul este în desfășurare.
Când VVV este în funcțiune, ne oferă câteva instalări implicite WordPress, după cum urmează:
Utilizați o versiune de dezvoltare (4.5-RC1-37169)
în subsol.Conectați-vă la aceste site-uri cu admin
ca nume de utilizator și parola
ca parolă.
Acum, când avem VVV în funcțiune, putem lansa noile noastre proiecte. Vom crea o temă și un plugin plugin. Și mi-a fost întotdeauna preferința de a începe o temă cu Underscores și de a folosi WPPB pentru un plugin.
Adăugăm aceste plăci de boiler în directorul lor din cadrul / Wp-content /
directorul companiei local.wordpress.dev
, situat la VVV-director / www / wordpress-default / wp-content /
.
Continuați cu dezvoltarea temei și a pluginului; adăugați câteva funcții, adăugați o pagină de setări pentru temă, adăugați o integrare mai profundă cu personalizarea pentru temă și, în final, pregătiți-le pentru lansările următoare ale WordPress.
Envato Tuts + a publicat numeroase resurse care pot fi utile în timpul dezvoltării. Următoarele sunt câteva dintre favoritele selectate:
După cum am menționat mai devreme, vom crea câteva site-uri locale în care vom dezvolta tema și plugin-ul pentru integrarea cu mai multe plugin-uri cum ar fi Jetpack, WooCommerce, EDD și BBPress. De asemenea, vom stabili câteva site-uri pentru a testa proiectele noastre împotriva versiunilor anterioare ale WordPress, în acest caz, 4.3 și 4.2. În acest moment, am avut doar local.wordpress-trunk.dev
up, care găzduiește versiunea WordPress de noapte, versiune beta sau de lansare (RC).
Crearea și configurarea unui site web local durează de obicei câțiva pași. În primul rând, va trebui să descărcăm copia WordPress, să extragem și să o plasăm în rădăcina noastră gazdă locală, creați o bază de date, executați instalarea WordPress și schimbați fișierul hosts pentru a înregistra numele domeniului. Dacă luăm acest proces în crearea, de exemplu, a trei sau mai multe site-uri web locale, vom găsi în curând procesul ineficient de consumator de timp.
Cu VVV și extensia sa numit VV, scurt pentru Variabila VVV, vom fi capabili să fim mai productivi cu mai puțin efort. Să aruncăm o privire asupra implementării VV.
Deoarece procesul de instalare a VV în OS X și Windows variază, această secțiune este împărțită în două secțiuni. Puteți sări imediat la secțiunea platformei pe care o utilizați în prezent.
Cea mai ușoară modalitate de a instala VV în OSX este prin Homebrew. Pur și simplu tastați următoarea comandă.
brew instala bradp / vv / vv
În Windows, va trebui mai întâi să clonați repozitoriul VV, undeva în directorul computerului.
git clone https://github.com/bradp/vv.git vv
Apoi avem nevoie de Windows pentru a recunoaște vv
comanda.
Pentru a face acest lucru, faceți clic dreapta pe Computerul meu sau pe acest PC și selectați Proprietăți ... . Apoi, du-te la Setări avansate ale sistemului> Variabile de mediu. Selectați "Cale" din lista de variabile de sistem și faceți clic pe Editați | ×… .
Adaugă vv
director pe care l-ați clonat înainte. De exemplu:C: \ Users \ thoriq \ Site-uri \ vv
.
Odată instalat, ar trebui să avem acces la vv
comanda la nivel global. Comanda va permite să setăm noi instalări WordPress printre altele, pe care le puteți găsi detaliile prin intermediul vv --help
comanda.
În Windows, CLI este accesibil atât prin intermediul Command Prompt (cmd.exe) cât și prin Bash Git.
VV a făcut instalarea unui nou site WordPress la fel de ușor ca tastarea următoarei comenzi:
creați vv
Odată executat, aceasta va determina câteva întrebări de-a lungul modului de configurare a noului site web, și anume:
Pentru utilizatorii MAMP, este similar cu crearea unui nou folder în cadrul documentului root MAMP la / MAMP / htdocs /
. Acesta este dosarul în care se află toate activele de pe site. În acest pas, introduceți numele directorului fără spații, de preferință în litere mici, de exemplu:
Setați domeniul pentru site-ul nostru nou. Un domeniu pentru un site web local se termină de obicei cu oricare dintre acestea .dev
sau .local
. În acest caz, voi numi a noastră 42.wordpress.dev
. Acesta este un subdomeniu cu numărul 42
, care se referă la versiunea WordPress, 4.2.x, pe care o vom instala.
Aici vom instala WordPress 4.2.8, care este ultima iterație în ramura 4.2. Lista completă a versiunilor WordPress poate fi găsită pe pagina Arhiva de lansare.
Ne întreabă dacă vrem să activăm modul Multisite WordPress. Am selectat N
.
Deocamdată, sprijinirea programului WordPress Multisite pentru temele și pluginurile noastre nu este prioritatea principală. Dacă vom avea nevoie vreodată să construim și să testam proiecte în mediul Multisite, mai târziu, putem crea un alt site sub un nou domeniu, de ex.. mu.wordpress.dev
.
WordPress wp-content
directorul găzduiește, de obicei, o serie de subdirectoare, cum ar fi temele, pluginurile și directoarele încărcate. Uneori pot crea și câteva foldere suplimentare pentru a stoca anumite fișiere arbitrare. Dacă aveți un conținut prestabilit găzduit într-un depozit Git, puteți introduce adresa URL și puteți lăsa VV să cloneze depozitul.
Pentru moment, îl lăsăm goale.
Nu avem o bază de date SQL de importat, așa că vom lăsa și acest prompt gol. Dar, dacă aveți una, specificați calea directorului unde se află fișierul SQL, de exemplu: /Sites/db/wp.sql
.
WordPress vine cu temele implicite (de exemplu, TwentyFifteen, TwentySixteen, etc.) și plugin-uri (Akismet și Hello Dolly), care, de multe ori, nu le vom folosi. În acest pas, putem trece y
la promptul de a le spune VV să le elimine complet.
Putem spune VV să instaleze conținut de probă din WPTest. Acesta este un set extins de conținut care include postări, pagini și comentarii. Acest conținut va fi util pentru a găsi eventuale neajunsuri, probleme de compatibilitate sau bug-uri în cadrul temelor și pluginurilor noastre. De aici tipul y
.
Cu siguranta vom permite WP_DEBUG sa lase WordPress sa imprime orice eroare PHP in timpul dezvoltarii. De aici tipul y
la promptitudine.
În cele din urmă, confirmați că toate configurațiile definite sunt corecte înainte ca VV să continue cu instalarea. Dacă totul arată bine, tastați y
a inainta, a merge mai departe. În caz contrar, tastați n
pentru a întrerupe operația și puteți repeta operația creați vv
de la început.
După ce ați terminat, VV va afișa site-ul, precum și numele de utilizator și parola credential-pentru a vă conecta, după cum urmează.
Repetați acești pași pentru a instala celelalte site-uri menționate anterior în secțiunea "Proiectarea briefing" din acest tutorial.
Acum avem mai multe site-uri cu medii variate pentru a testa proiectele noastre - teme sau pluginuri. Numărul site-urilor noastre va crește în timp, până în momentul în care copierea directoarelor de proiect în jurul valorii de medii de testare ar fi o întreprindere incomodă.
Din acest motiv, am avea nevoie de un singur dosar în care să putem lansa simultan proiectul nostru pe aceste site-uri web, ceea ce face ca fluxul nostru de lucru să fie mai organizat.
Vagrantul ne permite sincronizarea directoarelor cu mașina virtuală. De fapt, Vagrant își folosește propria caracteristică sub capotă. Dacă ne uităm la Vagrantfile
în secțiunea "Maparea unităților", vom găsi că sincronizează un număr de directoare, inclusiv www /
unde este găzduită instalarea tuturor site-urilor noastre.
În primul rând, trebuie să creați două directoare, respectiv să găzduim pluginurile și temele noastre. Puteți plasa aceste directoare oriunde pe computer. În cazul meu, am un director numit dev
care conține toate proiectele mele, după cum urmează.
. └──────────────────────────────────────────────────────────────────────────────────────────────────
Apoi, vom înregistra harta acestor directoare. Avem trei site-uri WordPress instalate la local.wordpress.dev
și local.wordpress-trunk.dev
. Astfel, aceste directoare vor fi cartografiate, arătând și sincronizate cu fiecare dintre acestea / plugins /
si / teme /
directorul acestor site-uri în mașina virtuală.
Cu toate acestea, modificarea fișierului de sistem implicit ar trebui să fie întotdeauna evitată. Prin urmare, în loc de a modifica Vagrantfile
, vom adăuga configurația de mapare într-un fișier numit Customfile
-în căutarea în Vagrantfile
, la aproximativ 241, vom găsi că este încărcat pentru a aplica personalizat sau suprascrie configurațiile implicite.
Creați Customfile
fișier în aceeași locație ca Vagrantfile
.
. └── VVV └── Vagrantfile ├── Customfile
Adăugați în fișier următoarele rânduri de cod, care sunt sigur că sunt foarte explicite.
## Pluginurile config.vm.synced_folder "/ Users / thoriq / Sites / dev / plugins /", "/ srv / www / wordpress-default / wp-content / plugins" mount_options => [ "Dmod = 775", "fmode = 774"] config.vm.synced_folder "/ Users / thoriq / Site-uri / dev / plugins /", „/ srv / www /-wordpress dezvolta / wp-content / plugins ": proprietar => "www-date": mount_options => [ "Dmod = 775", "fmode = 774"] config.vm.synced_folder "/ Users / thoriq / Site-uri / dev / plugins /"," / srv / www / wordpress-42 / htdocs / wp-content / plugins“,: proprietar => "www-date",: mount_options => [ "Dmod = 775", "fmode = 774"] ## Teme config.vm .snced_folder "/ Utilizatori / thoriq / Sites / dev / themes /", "/ srv / www / wordpress-default / wp-content / themes",: mount_options => [ = 775" , "fmode = 774"] config.vm.synced_folder "/ Users / thoriq / Site-uri / dev / teme /", "/ srv / www / wordpress-trunchi / wp-content / teme",: proprietar => "www-date": mount_options => [ "Dmod = 775", "fmode = 774"] config.vm.synced_folder "/ Users / thoriq / Site-uri / dev / teme /" „/ srv / www / wordpress- 42 / htdocs / wp-con cort / teme ",: owner =>" www-data ",: mount_options => [" dmode = 775 "," fmode = 774 "]
Reîncărcați vagabonzând alergând reîncărcarea vagonului
, altfel vagrant sus
dacă nu rulează în prezent. Pluginurile și temele noastre / Dev / plugins /
și / Dev / teme /
ar trebui să fie listate acum în toate site-urile.
În acest moment, l-am pus pe Vagrant și VVV în funcțiune. Acum suntem capabili să creăm un nou site web local într-o chestiune de câteva minute, fără să jonglezi la mizeria descărcării WordPress .zip
pachet, extragerea pachetului și editarea acestuia gazde intrările de fișiere.
Cele mai multe dintre operațiile noastre au fost făcute prin interfața de comandă. Este de înțeles că poate fi un pic intimidant pentru primii cronometri, în special pentru cei care vin din aplicații de interfață grafică precum MAMP sau WAMP. Este nevoie de timp să vă obișnuiți.
Cu toate acestea, unele operațiuni în Vagrant pot fi înlocuite cu o contrapartidă GUI. Există câteva extensii disponibile care adaugă straturi GUI frumoase la Vagrant și VVV, făcând unele lucruri la fel de ușor ca un clic. Printre acestea se numără:
Tabloul de bord Vagrant la vvv.dev
este probabil un echivalent cu MAMP localhost / MAMP /
, cu excepția faptului că apare în alb alb.
Din fericire, putem să-i înmulțim cu o prelungire. Există câteva opțiuni și voi opta pentru tabloul de bord VVV de sus în jos. Pentru a implementa extensia, navigați la / Www / default /
director și trageți depozitul de extensii:
git clone https://github.com/topdown/VVV-Dashboard.git
Apoi copiați /dashboard/dashboard-custom.php
în / implicite /
, după cum urmează.
. ── tabloul de bord tablou de bord ├──-custom.php (tabloul de bord personalizat) ├── baze de date-admin ├── index.php ├── memcached-admin ├── opcache status ├── phpinfo └── webgrind
Nu este nevoie să reîncărcați Vagrant. Pur și simplu actualizați tabloul de bord VVV la adresa vvv.dev. Acum ar trebui să găsiți o mulțime de alte detalii despre configurația noastră Vagrant pe tabloul de bord, în afară de listarea site-urilor instalate.
Tablou de bord personalizat VVV.Un alt utilitar pe care îl puteți instala este Managerul Vagrant.
Managerul Vagrant este asemănător cu MAMP și WAMP unde, în acest caz, ne permite să rulez, să oprim și să reîncarcă Vagrant în câteva clicuri. Managerul Vagrant este disponibil în OS X prin Homebrew Cask și .dmg
, și în Windows prin .executabil
pachet de instalare. Prin urmare, instalarea aplicației ar trebui să fie o soluție fără probleme.
Odată instalat și rulat Vagrant Manager, puteți găsi o listă a configurațiilor dvs. Vagrant și care este în prezent activă.
Vagrantul vine și cu phpMyAdmin built-in, accesibil la vvv.dev/database-admin/. Cu toate acestea, nu sunt un fan al phpMyAdmin. În afară de interfața necostisitoare, este lent pentru a procesa o interogare într-o bază de date imensă. Acestea sunt motivele pentru care prefer să folosesc o aplicație nativă, cum ar fi Sequel Pro sau SQL Workbench for Windows. Cu toate acestea, în primul rând trebuie să conectăm aplicația la MySQL.
Aici folosesc Sequel Pro pentru OS X. Cu toate acestea, acreditările necesare pentru a vă conecta la MySQL sunt aplicabile indiferent de aplicațiile pe care le utilizați. Sunt la fel.
127.0.0.1
rădăcină
rădăcină
local.wordpress.dev
(aplicabil și pentru orice domeniu înregistrat în VVV)vagabond
vagabond
Dacă vedeți o avertizare după cum se arată mai jos, puteți să o ignorați și pur și simplu faceți clic pe "Da" sau pe "OK" pentru a continua. Suntem conectați doar la o mașină virtuală pe calculatorul propriu, deci nu ar trebui să fie nimic de îngrijorat.
După conectare, putem vedea baza de date a site-urilor noastre. Acum, putem face unele chestii cum ar fi importarea și exportul unei baze de date sau, probabil, executarea unor interogări SQL.
Așa cum am menționat, VVV vine cu un pachet de instrumente, inclusiv PHP CodeSniffer, care vă permite să efectuați auditul de cod în proiectele dvs. împotriva WordPress Coding Standards. Este ceva ce cred că ar trebui să faceți, în special înainte de lansarea proiectului.
Cu toate acestea, deoarece PHP CodeSniffer este ceva dincolo de scopul acestui tutorial, am pus împreună câteva referințe pentru a vă ajuta să începeți pe această temă.
Am parcurs un drum lung pentru a seta VVV în funcțiune, precum și pentru a-l îmbunătăți cu un număr de extensii. În cele din urmă, acesta simplifică fluxul nostru de lucru atunci când vine vorba de crearea unui nou site local sau a unor medii de testare cu WordPress, deși poate dura ceva timp să vă obișnuiți.
WordPress are o economie incredibil de activă. Există teme, pluginuri, biblioteci și multe alte produse care vă ajută să vă construiți site-ul și proiectul. Natura open-source a platformei o face de asemenea o opțiune excelentă din care vă puteți îmbunătăți abilitățile de programare. Indiferent de situație, puteți vedea tot ce avem la dispoziție în piața Envato Marketplace.
Sper că veți găsi acest tutorial o referință utilă pentru a începe cu Vagrant și VVV.