WordPress-sivuston siirto Dockeriin Duplicator-lisäosan avulla

WordPress-sivuston tai  WooCommerce-verkkokaupan siirto Dockeriin on hyvä idea silloin, kun verkkokauppa kasvaa suureksi ja kävijämäärät lisääntyvät. Docker tarjoaa virtuaalipalvelimen sijaan helpon tavan lisätä suorituskykyä ilman, että virtuaalipalvelimen konfigurointiin tarvitsee käyttää aikaa. Docker on käyttövalmis käytännössä jopa sekunneissa ja sopii erityisesti sellaisille kehittäjille, jotka eivät halua säätää virtuaalipalvelimen asetuksien kanssa ja tarvitsevat lisätehoa helposti.

Docker-arkkitehtuuri sopii erityisen hyvin WordPress-alustalle ja mm. WooCommerce-lisäosalla tehdyt kaupat nopeutuvat merkittävästi. Nopeus ja suorituskyvyn nousu johtuu muutamasta seikasta. Ensinnäkin, Dockerissa on mahdollista perustaa erillinen Docker-kontti tietokannalle, ja erillinen Docker-kontti tiedostoille. Näin ollen tietokantaa rasittavat toimenpiteet voidaan tarvittaessa skaalata Dockerissa suuremmalle suorituskyvylle. Tai toistepäin, jos esimerkiksi verkkosivusto olisi täynnä isoja kuvia ja tiedostoja. Tällaista joustavuutta ei perinteisellä webhotellialustalla pysty toteuttamaan.

Tässä artikkelissa ohjaamme yksityiskohtaisesti, miten WordPress-sivuston siirto tehdään Docker-alustalle. Lähtötilanteessa sivusto on XetNET-webhotellissa, ja lopputuloksena sivusto on siirretty Dockeriin käyttäen kahta konttia. Voit hyödyntää tätä ohjetta lisäksi WordPress-sivuston siirrossa toiselta palveluntarjoajalta toiselle, jos siirrät sivuston webhotellista toiseen webhotelliin. Aloitetaan asentamalla WordPress-sivustoon Duplicator-lisäosa.

Asenna WordPress-sivustollesi Duplicator-lisäosa hallintatyökalussa “Lisäosat” -> “Lisää uusi”. Etsi hakusanalla “Duplicator – WordPress Migration Plugin“. Duplicator on erinomainen työkalu sivustosi siirtoon. Se tekee sivustostasi kahden tiedoston paketin, johon kuuluu installer.php sekä verkkosivustosi tiedostot tietokannan kera ZIP-pakettina. Näin ollen sinun ei tarvitse kuin siirtää kaksi tiedostoa Docker-alustalle, asentaa paketti ja tehdä nimipalvelinmuutokset. Tässä on koko projekti lyhyesti kuvattuna.

Kun olet asentanut Duplicatorin, tehdään sen avulla paketti siirtoa varten valmiiksi.

Aloita luomalla paketti klikkaamalla oikeassa yläreunassa “Create New”.

Voit valita paketillesi seuraavaksi tiedoston nimen ja tallennussijainnin. Oletusasetuksiin ei tarvitse tehdä muutoksia ellet halua, eikä tietokannan (kuva yllä) tietoja tarvitse vielä antaa tässä vaiheessa. Jatka painamalla “Next” nappia.

Seuraavaksi Duplicator skannaa läpi sivustosi tiedostot ja antaa analyysin.

Mikäli kaikki näyttävät olevan mallillaan, eikä mitään huomionarvoista löytynyt eri vaiheissa, voit jatkaa rakentamalla pakettia hyväksymällä ja ruksittamalla “Yes”-laatikon, ja painamalla “Build”. Kuvassa näkyvä punainen “Notice” ilmoitus oli yleinen ilmoitus siitä, että skannaus ei löytänyt suuria tiedostoja jotka voivat pikaskannauksessa yleensä jäädä huomiotta. Tämä on normaalia, ellei kansiossasi ole useiden satojen megatavujen tiedostoja jotka saattavat haitata Duplicatorin pikaskannausta.

Paketin rakennuksen jälkeen voit ladata luodut tiedostot, eli installer.php sekä ZIP-tiedoston. Nyt pakettisi on valmis ja ensimmäinen vaihe on takana. Siirrytään seuraavaksi tilaamaan ja luomaan XetNET Docker-kontit.

Docker-kontin tilaaminen, paketin siirto ja asentaminen

WordPress tarvitsee toimiakseen kaksi konttia: PHP 7.2 kontti sekä MariaDB-tietokantakontti. Voit vaihtoehtoisesti valita MySQL 5.7 kontin, mutta MariaDB saattaa olla tulevaisuuden kannalta varmempi ratkaisu, jota kehitetään aktiivisemmin. Lisäksi kannattaa maksuton phpMyAdmin kontti valita mukaan, mikäli tarvitset pääsyn tietokantaan siirron yhteydessä tai jälkeen (suositeltua). Kirjaudu tai rekisteröidy XetNET Docker-palveluun asiakashallinnan tunnuksillasi: https://portal.dockr.net/login

Mikäli et ole vielä asiakkaamme, voit luoda uuden tilin rekisteröitymällä. Mikäli olet XetNETin asiakas, voit kirjautua olemassa olevalla tunnuksellasi.

Sisäänkirjautumisen tai rekisteröitymisen jälkeen oikeassa yläreunassa on nappi “Uusi käyttöönotto”.

Valitse PHP 7.2 + MariaDB -kontit. Valitse lisäksi maksuton kehitystyökalu phpMyAdmin. Paina “Jatka”.

Voit nyt valita haluamasi kontin suorituskyvyn S-L paketeista. Vinkki: voit aina valita pienemmän S-kontin ja päivittää sitä suurempaan myöhemmin. Konttien skaalaus on helppoa Dockerilla jälkikäteen jos päätät yritysideasi kanssa mennä Leijonan luolaan ja päivittää sivustosi järeämmäksi ennen sitä, jotta se kestää kaiken liikenteen ja kuorman. Paina “Jatka” ja tilaus etenee.

Tilauksen jälkeen löydät nimeämäsi sovelluksen klikkaamalla “Sovellukset” valikosta, ja painamalla “Hallinnoi” nappia, jolloin näet sovelluksesi yksityiskohtaiset kontit kuten yllä kuvassa. Klikkaamalla jokaista konttia löydät yksityiskohtaiset tiedot, kuten PHP 7.2 kontin kohdalta sftp-palvelimen IP-osoite sekä kirjautumistiedot, joilla voit siirtää tiedostot palvelimelle, sekä tietokannan kontin kohdalta tietokannan tiedot kuten salasanan (jota tarvitaan pian Duplicator-paketin asentamisessa).

Tiedostojen siirto SFTP:llä

Painamalla PHP 7.2 konttia Dockerin hallintasivuilla, löydät “Etäyhteys” välilehdeltä lisätiedot, joiden avulla pääset siirtämään tiedostot palvelimelle. Käytä SFTP-ohjelmaa kuten Windowsille ilmainen WinSCP, tai Windows+Macille ilmainen FileZilla jolla siirrät Duplicatorin luomat tiedostot palvelimelle.

Ota yhteys palvelimelle SFTP-ohjelmallasi ja suuntaa oikeaan hakemistoon, jonka tunnistat /webroot/ hakemistosta.

Poista vanhat tiedostot index.html ja info.php. Siirrä tähän kansioon Duplicatorin installer.php sekä ZIP-paketti. Tämän jälkeen tiedostosi on valmiina palvelimella odottamassa asennusta.

Nimipalvelinmuutos ohjelmallisesti ennen asennusta helpottaa asennusta ja testausta

Seuraavaksi tehdään väliaikainen nimipalvelinmuutos vain omalle tietokoneellesi, eli asetusmuutos HOSTS-tiedostoon. Syy: Docker oletuksena luo käyttöönotossa verkko-osoitteen muotoa “*.app.dockr.net” ennen kuin ohjaat liikenteen webhotellisi nimipalvelinasetuksia muuttamalla verkkotunnukseesi. *-asteriksitähden kohdalla on kontillesi luotu uniikki nimi.

Voit halutessasi tehdä asennuksen Duplicatorilla myös väliaikaisessa osoitteessa, mutta jos tarkoituksesi on vaihtaa Docker-kontille virallinen verkkotunnus siirron jälkeen voimaan, sivusto ei toimi välittömästi, koska asennusvaiheessa sille on annettu uudeksi osoitteeksi *.app.dockr.net -tyyppinen osoite. Joudut siis muuttamaan tietokantaan ohjaukset väliaikaisesta *.app.dockr.net osoitteesta oikeaan yritys.fi osoitteeseen. Siksi, jotta vältät yhden työvaiheen, seuraavaksi tehdään HOSTS-tiedoston avulla ohjaus verkko-osoitteesta osoittamaan Dockerin IP-osoitteelle.

Tällä tavoin vain sinun tietokoneesi poiketen muusta maailmasta osaa suunnistaa Dockerin palvelimelle, kun kirjoitat verkkosivuosoitteen yritys.fi selaimeesi, silloin kun teet Duplicator-paketin asennuksen. Tämä luo sinulle mahdollisuuden testiympäristöön joka kertoo, miten sivustosi toimii nimipalvelinmuutoksien jälkeen muulle maailmalle.

Lisäksi koska nimipalvelinmuutokset eivät ole kovin reaaliaikaisia ja ongelman sattuessa eteen vältät ns. harmaiden hiusten ilmaantumisen, kun sivustosi ei toimisikaan 24-48 tunnin aikana tai jälkeen.

Aloitetaan: näin nimipalvelinmuutos tehdään HOSTS-tiedostoon.

Windows:

Windows-käyttäjät löytävät HOSTS-tiedoston Windowsin alakansiosta /system32/drivers/etc/.

Löydät täältä HOSTS-tiedoston, jonka muokkaamiseksi sinun on avattava esimerkiksi Notepad-ohjelma Administrator-oikeuksilla. Voit tehdä sen klikkaamalla Notepadia oikealla hiirennäppäimellä ja valitsemalla “Run as administrator”.

Mac:

Mac-käyttäjät löytävät HOSTS-tiedoston Finderilla /private/etc/ kansiosta.

Avaa ja muokkaa tiedostoa seuraavasti.

Lisää HOSTS-tiedostoon IP-osoite ja domain-osoite yllä olevaa muotoa, eli ensin IP-osoite, sen jälkeen verkkotunnus. Löydät IP-osoitteen Dockerin hallintatyökalusta PHP 7.2 konttia tutkimalla sen “Etäyhteys” välilehdeltä kohdasta “Julkinen IP”. Osoita varmuuden vuoksi kummatkin osoitteet, www:n kera ja ilman, riippumatta kumpaa käytät.

Käy nyt lisäämässä Docker-konttiin PHP 7.2 myös domain-osoitteesi välilehdeltä “Domainit & SSL”, klikkaamalla “Lisää domain”. Lisäämällä domainin tässä vaiheessa ei tarkoita vielä sitä, että nimipalvelinmuutokset muuttuvat ja koko maailma ohjautuu Docker-palvelimelle. Ne muutetaan myöhemmin vielä cPanel-hallintatyökalusta. Vanhan *.app.dockr.net osoitteen voit jättää listalle, koska sitä ei pysty poistamaan muutenkaan.

Nyt olet tallentanut HOSTS-tiedoston ja lisännyt Docker-konttiisi verkkotunnuksen osoitteet. Jotta HOSTS-tiedoston muutos tulee voimaan, voit käynnistää tietokoneesi uudelleen tai tyhjentää nimipalvelimen välimuistin.

Windowsissa se onnistuu komentorivillä  (etsi ohjelma Command Prompt, tai cmd.exe) käskyllä:

  • ipconfig -flushdns

Macissa se onnistuu komentorivillä (etsi ohjelma Terminal) käskyllä:

  • sudo killall -HUP mDNSResponder

Tämän jälkeen kun yrität mennä verkkotunnukseesi esim. yritys.fi, ohjautuu verkkoselaimesi Dockerin palvelimelle. Kätevää! Testiympäristö on valmis ja nyt voidaan aloittaa Duplicator-paketin asennus.

Duplicator-paketin asennus

Jos teit äskeisen HOSTS-kikan, voit mennä nettiselaimellasi osoitteeseen yritys.fi/installer.php ja Duplicator-paketin asennus alkaa.

Tarkista ensimmäiseltä sivulta, että vihreä “Pass” lukee kahdessa ensimmäisessä kohdassa. Ruksita ehtojen hyväksyminen ja paina “Next”.

Seuraavassa vaiheessa tarvitaan tiedot tietokantapalvelimesta missä tietokantasi sijaitsee, sekä tunnuksesta ja salasanasta. Nyt tarvitaan muutama tieto Dockerin tietokantakontista.

Suuntaa Dockerin MariaDB tietokantakonttiin välilehdelle “Yleiskatsaus”. Löydät oikeasta reunasta “Mysql root password” kohdasta salasanan, kun klikkaat “Show” painikkeella sen ensin esiin. Syötä tämä Duplicatorin “Password” kenttään. User-kentässä oletuskäyttäjän nimi on “root”.

Kun klikkaat “Etäyhteys” välilehden, löydät Duplicatorin asentajan “Host” kohtaan tarvittavan IP-osoitteen. Oikea IP-osoite on “Yksityinen IP-osoite“, joka on tyypillisesti muotoa 10.10.x.x. Julkinen IP-osoite tietokannalle oletuksena on kytketty pois päältä tietoturvasyistä.

Database-kohtaan kirjoitetaan tietokantasi nimi. Ellet tiedä tietokantasi nimeä, löydät WordPress-asennuksesi tietokannan nimen webhotellisi cPanel-hallintaohjelmasta löytyvällä phpMyAdmin -sovelluksella. Löydät tietokannan nimen myös WordPressin wp-config.php tiedostosta, jonka voit avata ja tarkistaa vanhasta webhotellisi juurihakemistosta. Voit tätä varten käyttää cPanelin “Tiedostonhallinta” työkalua.

Kuva: Löydät mm. tietokantasi nimen WordPress-asennuskansiossa löytyvästä wp-config.php tiedostosta.

Paina nyt “Test Database” painiketta ja Duplicator-asentaja tarkistaa, onko yhteys tietokantaan kunnossa. Jatka painamalla “Next” mikäli kaikki näyttää vihreältä.

Seuraavaksi päivitetään tiedot, mitkä kansio- tai URL-osoitteet muuttuvat asennuksessa. Mikäli teit yllä mainitun HOSTS-muutoksen tietokoneellesi, voit syöttää URL-kenttään oikean, julkisen verkkotunnuksen osoitteeksi, kuten yritys.fi. Syötä PATH-kenttään uusi kansio, jonka saat selville WinSCP-ohjelmalla. Kuvassa näkyvä “/var/www/html/” on väärä kansio, joka piti korvata tässä tapauksessa muotoon “/home/sftpuser/apps/dockerkontin-nimi/webroot/

Koska kotihakemisto muuttuu, Duplicatorin asentaja tekee tarvittavat muutokset tietokantaasi, etsien vanhan kansio-osoitteen ja korvaten sen uudella.

Title-kenttään ei tarvitse tehdä muutosta, se on WordPress-sivustosi pääotsikko jonka voit siirron jälkeen muuttaa tarvittaessa myöhemminkin (jos tarvetta).

Scan Options -kohdassa syötä “Site URL” kenttään uusi osoite, esim. https://yritys.fi – tällöin vanha osoitteesi “Old URL” kentässä todennäköisesti on myös sama, https://yritys.fi. Tämä tarkoittaa sitä, että Duplicator ei korvaa URL-osoitetta tietokannassa uudella osoitteella. Jos käytät Duplicator-työkalua esimerkiksi verkkosivuston siirtämiseen väliaikaisesta aliverkkotunnuksesta, kuten uusi.yritys.fi -> yritys.fi, syötät silloin “Site URL” kenttään “https://yritys.fi” ja “Old URL” kenttään “https://uusi.yritys.fi”. Tällöin Duplicator etsii tietokannasta maininnat uusi.yritys.fi ja muuttaa ne muotoon yritys.fi.

“Old path” kentässä on tyypillisesti oikea osoite, sillä Duplicator on tarkistanut sen ennen siirtoa alkuperäiseltä palvelimelta. Voit kuitenkin tuplatarkistaa, että polku on oikein. Jatka painamalla “Next”.

Seuraavaksi Duplicator kertoo että asennus on valmis ja tarjoaa Login-linkkiä. Voit myös kirjautua sivustosi hallintaan /wp-admin/ hakemistosta tai muusta osoitteesta, jos olet vaihtanut sisäänkirjautumisosoitteen tietoturvan takia toiseen. Tällöin yllä oleva ilmoitus ilmestyy sinulle ensimmäisen kirjautumisen yhteydessä. Tietoturvasyistä on hyvä poistaa vanhat asennustiedostot. Klikkaa “Take me there now!” ja pääset seuraavalle sivulle:

Paina nyt “Remove Installation Files Now!” ja Duplicator poistaa asennuksessa käytetyt tiedostot.

Asennukseen liittyvät PHP- ja lokitiedostot on nyt poistettu, mutta Archive File eli ZIP-tiedosto on hyvä tietoturvan takia poistaa. Voit tarkistaa SFTP-yhteydellä (WinSCP-ohjelmalla) että juurikansiossa ei ole installer.php tiedostoa tai ZIP-pakettia. Poista asennustiedoston ZIP-tiedosto, jos se löytyy.

Nyt sivustosi on siirretty Docker-konttiin toimimaan ja voit taputtaa itseäsi olkapäälle, ottaa kahvitauon ja jatkaa WordPress-sivustosi kehittämistä huippunopealla Docker-alustalla!

Nimipalvelinmuutos

Voit testata ennen nimipalvelinmuutosta että sivustosi toimii oikein, kunhan olet tehnyt HOSTS-tiedostoon muutoksen yllä ohjeen mukaisesti. Jos kaikki näyttää toimivan oikein, on aika tehdä nimipalvelinmuutos webhotellisi DNS- eli nimipalvelinasetuksissa. Suuntaa cPanel-hallintatyökalulla Zone Editor-työkaluun.

Zone Editorilla voit vaihtaa nimipalvelimen osoittamaan verkkotunnuksesi yritys.fi osoitteesta oikeaan IP-osoitteeseen, eli Docker-palvelimen IP-osoitteeseen.

Paina oikean verkkotunnuksen kohdalta “Hallinta”-linkkiä.

Valitse verkkotunnuksen kohdalta A-tyypin kohdalta “Muokkaa” ja vaihda tietueeksi Docker-palvelimen IP-osoite. Tallenna uusi asetus, odota n. 24-48 tuntia kunnes nimipalvelinmuutos päivittyy ympäri maailman ja sen jälkeen WordPress-sivustosi Docker-alustalla palvelee kaikkia uusia käyttäjiä. Voit halutessasi tässä vaiheessa kytkeä pois HOSTS-tiedostosta IP-osoitteen ohjauksen, tai esimerkiksi parin vuorokauden päästä kun operaattorisi nimipalvelimet ovat päivittyneet ja osoite verkkotunnuksellesi ohjautuu uuteen Docker-palvelimen asennukseen.

WooCommerce verkkokauppa nopeammaksi: 3 vinkkiä

Verkkokaupan nopea toimivuus vaikuttaa suuresti kaupan konversioon ja asiakaskokemukseen. Mikään ei ole rasittavampaa, kuin klikkauksen jälkeen odotella montaa sekuntia, kun tutustut tuotteisiin tai vertailet niitä. On tutkittu, että sivun latausnopeudella on suora vaikutus poistumisprosenttiin.

Hidas verkkokauppa voi joskus johtua huonosta webhotellista, eli mikäli sivusto sijaitsee fyysisesti palvelimella toisella puolella maapalloa, on matkalla monia muitakin nopeuteen vaikuttavia tekijöitä. Sen takia helpoin keino lisätä nopeutta, on viedä verkkokauppa maantieteellisesti lähemmäksi asiakasta.

Parhaassakin webhotellissa WooCommerce-kauppa ei aina pakasta vedettynä toimi täysin optimaalisesti ilman muutamaa kikka kolmosta. Tässä kirjoituksessa tutustumme muutamaan näistä kikoista, joiden avulla vähennät sivujen latausaikoja verkkokaupassasi helposti. Nopeuttamalla verkkokauppasi toimivuutta, parannat konversiota ja lisäät myyntiäsi.

Continue reading

Blogin perustaminen: WordPress-blogi omalla verkkotunnuksella

WordPress-blogin perustaminen omaan webhotelliin ja verkkotunnukseen (domain) varmistaa, että omistat itse blogisi materiaalin ja sisällöt, sekä voit asentaa halutessasi vapaasti erilaisia lisäosia WordPress-blogiisi. WordPress-ratkaisuja tosin on kahdenlaisia: WordPress.com sekä WordPress.org. Tässä lyhyesti erot:

  • WordPress.com: voit perustaa ilmaiseksi blogisi WordPress.com tarjoamaan osoitteeseen, joka on siitä maailman kuulusta WordPressistä riisuttu ja räätälöity ympäristö, joka sopii monelle bloggaajalle. Ilmainen (pl. domainista lisämaksu). Rajallisesti teemoja ja lisäosia. Tätä ei voi asentaa webhotelliin, etkä omista kaikkea dataa toisin kuin WordPress.org ratkaisussa.
  • WordPress.org: avoimen lähdekoodin WordPress – maailman suosituin julkaisuhallintajärjestelmä. Vaatii oman webhotellin/palvelimen johon asennetaan. Tuhansia teemoja ja lisäosia. Suosituin vaihtoehto, voidaan asentaa webhotelliin omalle verkkotunnukselle.

Jälkimmäinen eli WordPress.org on se suosituin julkaisuhallintajärjestelmä, jonka moni valitsee blogilleen, verkkosivustolleen tai jopa verkkokauppa-alustaksi. WordPressin asentaminen onnistuu helposti webhotelleihin jolloin blogin perustamiseen ei kulu aikaa eikä vaadita suurta osaamista.

Continue reading

Näin lisäät WordPress-sivustoon SSL- eli HTTPS-salauksen

SSL-salauksen eli HTTPS-sertifikaatin asentaminen olemassa olevaan WordPress-sivustoon onnistuu helposti tämän ohjeen avulla. SSL-salaus tarkoittaa salattua yhteyttä asiakkaan päätelaitteen ja palvelimen välillä. HTTPS-sertifikaatti lisää Googlen mukaan sivuston hakukonenäkyvyyttä ja se saattaa myöhemmin koskettaa Googlen Chrome -selaimen käyttäjiä: selain voi ilmoittaa käyttäjälleen, mikäli HTTPS-sertifikaattia ei ole asennettu sivustolle, jolta voi lähettää tietoja. Tämä voi heikentää käyttäjän luottamusta verkkosivustoon.

Mikäli verkkosivuston kautta on mahdollista lähettää tietoja, esimerkiksi yhteydenottolomakkeen avulla, on SSL-suojaus tarpeen tulevaisuudessa erityisesti toukokuussa 2018 astuvan EU:n tietosuoja-asetuksen takia. Tällöin varmistutaan, että asiakastietojen lähettäminen kuten yhteystiedot, eivät päädy suojaamattoman sivuston kautta ulkopuolisille. Näin ollen suojattu yhteys suojelee asiakastietojen välittämistä.

Continue reading

Nettisivut helposti itse tekemällä: vertailussa WordPress ja WebbiVelho

HTML ja CSS ei kuulu kielivalikoimaasi? Ei hätää, verkkosivujen rakentamiseen on nykyään käteviä vaihtoehtoja, jotka eivät vaadi juurikaan koodauskokemusta HTML/CSS/PHP:stä. Osaamisesta ja kokemuksesta on totta kai hyötyä.

Otimme vertailuun kaksi suosittua tapaa tehdä omat verkkosivut. Ensimmäisenä on maailman suosituin julkaisujärjestelmä WordPress. Toinen vaihtoehto on helppokäyttöisyyttä korostava WebbiVelho. Kummatkin ovat saatavilla jokaiseen XetNET webhotellipakettiin ja itsessään veloituksettomia käyttää, vaikkakin WordPress-ympäristöön on saatavilla maksullisia teemoja ja lisäosia laidasta laitaan. Continue reading