Integracija WordPressa i Azure storagea

u kategoriji WordPress. Čitanje oko 4 minute.

Kreiranje Azure Storage Računa

Povezivanje WordPressWordPress Besplatan sustav za izradu i uređivanje web stranica. Na njemu radi više od 40 % svih web stranica na svijetu. Više o pojmu WordPress instalacije s Azure Blob storage containerom je poželjno iz više razloga:

  • Štednja resursa: smanjujemo opterećenje web servera, a ne povećavamo (ili ne povećavamo znatno) trošak
  • Skalabilnost: povećanje object storagea se može odraditi neprimjetno, a kapacitet je praktički neograničen
  • Visoka dostupnost: mogućnost postavljanja više razina redundancija odnosno replikacije na razini datacentra, regije ili globalnoj razini
  • Sigurnost: datoteke spremljene na blob storage možemo enkriptirati (encryption at rest), a kontrolu pristupa datotekama slojevito podešavamo kroz Azure Active Directory i role-based access control
  • Bolje performanse u radu web stranica: uključivanjem CDN-aCDN Mreža servera po svijetu koja posjetiteljima šalje slike i datoteke s najbliže lokacije, da se stranica brže učita. Više o pojmu CDN (Content Delivery Network) za distribuciju medijskih datoteka smanjujemo latenciju u dohvaćanju web sadržaja i povećavamo dostupnost istog, bez obzira na lokaciju posjetitelja stranica

Kreiranje Azure Blob Storage containera

Prijavimo se u Azure portal s našim korisničkim računom.

U tražilici potražimo Storage accounts i idemo na Create. Ovdje upišemo sve potrebne podatke – odaberemo pretplatu (subscription) unutar koje ćemo smjestiti container, resource grupu, regiju itd.

Na kraju kliknemo Review + create, pa Create.

Kreiranje storage računa

Da bi posjetiteljima web stranice omogućili pristup datotekama na ovom storage računu, u postavkama storage računa mediafilessa je potrebno uključiti opciju Allow Blob anonymous access.

Konfiguracija Azure Storage Računa

Nakon kreiranja storage računa, potrebno je kreirati sâm container.

Idemo na Storage accounts, i odaberemo novokreirani račun mediafilessa. U meniju s lijeve strane, u sekciji Data storage, odaberemo Containers i kliknemo na + Container.

Kada je to potrebno i ako dizajn aplikacije to zahtijeva, možemo kreirati dva različita containera, na primjer, jedan za staging dio, jedan za produkcijsku web aplikaciju.

Kreiranje Azure Blob Containera

I ovdje je potrebno dozvoliti anonymous access, ovog puta na razini pojedinačnih blob objekata.

Instalacija WordPress plugina

Za uspješnu integraciju Azure Blob storagea s WordPressom potrebno je instalirati jedan od pluginaPlugin (dodatak) Dodatak koji web stranici, najčešće WordPressu, dodaje novu funkciju: obrazac, web trgovinu, keširanje, zaštitu i slično. Više o pojmu Plugin (dodatak) koji to omogućava.

Prijavimo se u WordPress backend naše web stranice.

Unutar WordPress administracije idemo na Plugins (ili na Dodaci, ovisno koji jezik koristimo za prikaz). Kliknemo na Dodaj novi dodatak (Add new), te putem tražilice pronađemo plugin pod nazivom Microsoft Azure Storage for WordPress. Zatim odaberemo Instaliraj (Install Now), a potom aktiviramo plugin.

Instalacija WordPress dodatka za Azure storage integraciju

Za konfiguraciju plugina, kliknemo na Postavke, zatim na Microsoft Azure.

Ovdje je potrebno:

  • upisati ime storage računa koji smo prethodno kreirali u Azure portalu
  • unijeti pristupni ključ (access key) storage računa
  • odabrati container u koji ćemo spremati uploadane datoteke

Dodatno možemo postaviti vlastitu domenu putem koje će se pristupati datotekama. Na primjer, ako ne želimo da se datoteke poslužuju putem URL-aURL Puna adresa određene stranice ili datoteke na internetu, npr. https://vasa-domena.hr/kontakt. Više o pojmu URL s Microsoftovom domenom – u našem slučaju bi to bio https://mediafilessa.blob.core.windows.net/, onda možemo u polju CNAMECNAME zapis DNS zapis koji jedno ime domene usmjerava na drugo, npr. www.vasadomena.hr na vasadomena.hr. Više o pojmu CNAME zapis podesiti svoju, na primjer, https://media.hosting.plus.

Postavke WordPress dodatka za Azure storage integraciju

Naravno, kako bi ovo funkcioniralo, potrebno je dodati CNAME zapis u DNSDNS Sustav koji imena domena (npr. plus.hr) pretvara u IP adrese servera na kojima se nalaze stranica i e-mail. Više o pojmu DNS zonu naše domene media.hosting.plus.

CNAME zapis

Što se tiče postavki spremanja datoteka, možemo podesiti da se one automatski direktno spremaju na Azure Blob storage umjesto na lokalni poslužitelj. Time ne zauzimaju nikakav prostor na lokalnom poslužitelju.

Sada možemo testirati konfiguraciju, odnosno spremiti neku medijsku datoteku kroz WordPress administracijski portal.

Spremanje datoteke na Azure storage

Datoteka je uspješno spremljena i vidljiva je na blob storage containeru u Azure portalu.

Spremljene datoteke na Azure blob containeru

Kako još nismo podesili CNAME DNS zapis i custom domenu, URL s kojeg se poslužuje slika je onaj s blob.core.windows.net poddomenom.

Azureov URL s kojeg se poslužuju slike

Ako želimo da WordPress sliku dohvaća putem naše poddomene, osim CNAME DNS zapisa, trebamo postaviti i custom domenu u opcijama storage računa:

Dodavanje vlastite poddomene

Tada vidimo da je URL s kojeg se slika poslužuje onaj s našom poddomenom.

URL vlastite poddomene s koje se poslužuju slike

Konfiguracija CDN-a

Za naprednije performanse naše web stranice, možemo podesiti CDN.

U Azure portalu, u mogućnostima storage računa, idemo u sekciju Security + networking i odaberemo Front Door and CDN.

Kreiramo novi endpoint.

Kreiranje CDN endpointa

Sada nam CNAME zapis koji smo dodali u DNS sustav više nije valjan, budući da je medijske datoteke sada potrebno posluživati s novog hostnamea, odnosno hostnamea CDN endpointa.

Dakle, sada trebamo izmijeniti CNAME zapis poddomene media.hosting.plus iz vrijednosti

mediafilessa.blob.core.windows.net

u vrijednost

mediafiles-cdn.azureedge.net

CDN endpointu trebamo također dodati custom domenu, kao što smo to prije odradili na storage računu.

Dodavanje vlastite poddomene na CDN endpoint

Na CDN endpointu konačno možemo podesiti kompresiju, pravila keširanja te postaviti geo-filtering, odnosno dozvoliti ili sprječiti posluživanje datoteka prema državi iz koje dolazi posjetitelj.

Osim predefiniranih mogućnosti možemo postaviti i dodatna vlastita pravila za, na primjer, redirekciju, izmjenu HTTP headera, URL rewrite pravila i slično.

WordPress u ovakvoj konfiguraciji možete koristiti na nekoj od naših usluga VPS servera ili shared hosting paketa, a dio je naše Plus Expert usluge.