WordPress-sivuston siirtäminen komentoriviltä SSH-yhteydellä ja WP-CLI-työkalulla on kaikkein luotettavin ja nopein siirtomenetelmä. Koska siirto ei kulje selaimen kautta, se ei ole riippuvainen HTTP-aikakatkaisuista tai tiedostokokorajoituksista, ja se soveltuu erinomaisesti kaikenkokoisille – myös kymmenien gigatavujen – sivustoille.
Tämä ohje käy läpi sivuston siirron vanhalta palvelimelta Seravolle hyödyntäen wp db-, rsync- ja wp search-replace -komentoja.
Edellytykset
SSH-yhteys sekä vanhalle palvelimelle että uudelle Seravo-sivustolle.
WP-CLI asennettuna molemmissa ympäristöissä (Seravolla WP-CLI on aina valmiiksi asennettuna).
Uusi tyhjä sivusto avattuna Seravolla väliaikaisosoitteessa (esim.
esimerkki.fi-c.seravo.com).
Esimerkkiympäristöjen tiedot
Seuraavissa esimerkeissä käytetään näitä mallitietoja:
Vanha palvelin:
Osoite / IP:
123.123.123.123(taivanhapalvelin.fi)SSH-portti:
22SSH-käyttäjä:
wp-userWordPressin polku:
/var/www/htdocs
Uusi Seravo-palvelin:
Host:
esimerkki.fi-c.seravo.comSSH-portti: Palvelukohtainen portti (toimitettu tilauksen yhteydessä, esim.
10350)SSH-käyttäjä: Sivuston tunnus (esim.
esimerkki)WordPressin polku:
/data/wordpress/htdocs
Siirtoprosessi vaihe vaiheelta
1. Kirjaudu vanhalle palvelimelle ja vie tietokanta
Kirjaudu SSH-yhteydellä vanhalle palvelimelle:
Luo tietokannasta vientitiedosto kotihakemistoosi WP-CLI:llä:
wp db export --path=/var/www/htdocs/ ~/tietokanta.sql
(Valinnainen: Taulumäärittelyjen siistiminen)
Mikäli SQL-dumpissa on kovakoodattuja tallennusmoottoreita (kuten ENGINE=MyISAM), ne on suositeltavaa poistaa, jotta Seravon MariaDB käyttää oletuksena suorituskykyistä InnoDB-moottoria:
sed -i 's/ENGINE=InnoDB//g' ~/tietokanta.sql
sed -i 's/ENGINE=MyISAM//g' ~/tietokanta.sql
sed -i 's/ENGINE=MEMORY//g' ~/tietokanta.sql
Poistu lopuksi vanhalta palvelimelta komennolla exit.
2. Kirjaudu Seravon palvelimelle
Avaa SSH-yhteys Seravon ympäristöön tilauksen yhteydessä saamillasi tunnuksilla:
ssh [email protected] -p 10350
3. Kopioi tiedostot ja tietokantadumppi vanhalta palvelimelta (rsync)
Kopioi tiedot Seravon palvelimelta käsin ajamalla rsync-komento, joka noutaa datan vanhalta palvelimelta:
Noudetaan tietokantadumppi Seravon tietokantahakemistoon
/data/db/:rsync -avz --stats [email protected]:~/tietokanta.sql /data/db/
Kopioidaan wp-content-kansio suoraan Seravon WordPress-hakemistoon:
rsync -avz --stats [email protected]:/var/www/htdocs/wp-content/ /data/wordpress/htdocs/wp-content/
Huomio hakemistorakenteesta:
Yllä oleva komento siirtää teemat, lisäosat ja mediatiedostot sisältävän wp-content-kansion. WordPressin ydintiedostoja (wp-admin, wp-includes) ei tarvitse siirtää, sillä WordPress on asennettuna valmiiksi. Mikäli vanhalla sivustolla on ollut käytössä Bedrock tai muu erikoishakemistorakenne, tutustu kehittäjädokumentaatioomme.
4. Tuo tietokanta Seravon ympäristöön
Ennen tuontia tyhjennetään uuden Seravo-asennuksen oletustietokanta ja tuodaan vanhalta palvelimelta noudettu SQL-tiedosto:
wp db reset --yes
wp db import /data/db/tietokanta.sql
Kun tuonti on onnistunut, voit poistaa väliaikaisen SQL-tiedoston ja vapauttaa levytilaa:
rm /data/db/tietokanta.sql
5. Päivitä polut ja osoitteet (wp search-replace)
Koska palvelimen polku ja verkkotunnus usein muuttuvat siirrossa, ajetaan tietokantaan tarvittavat muutokset:
Päivitetään mahdolliset kovakoodatut hakemistopolut:
wp search-replace '/var/www/htdocs/wp-content' '/data/wordpress/htdocs/wp-content' --all-tables
Otetaan käyttöön väliaikaisosoite katselmointia varten:
Jos haluat testata sivustoa ennen verkkotunnuksen kääntöä, korvaa tuotanto-osoite Seravon väliaikaisosoitteella:
wp search-replace '//esimerkki.fi' '//esimerkki.fi-c.seravo.com' --all-tables
Tyhjennetään välimuistit:
wp-purge-cache
6. Tarkista sivuston kunto
Siirron päätteeksi suorita sivustolle eheystarkistus ja käy läpi myös Seravo Pluginin tietoturva-asetukset kohdasta Työkalut > Tietoturva.
Käy lopuksi tarkistamassa sivuston toiminnot ja ulkoasu selaimessa väliaikaisosoitteella. Kun kaikki toimii moitteettomasti, voit kääntää verkkotunnuksen liikenteen ohjautumaan Seravon palvelimelle.
Poikkeustilanteet ja vianmääritys
Vanhan palvelimen tauluetuliite (prefix) poikkeaa oletuksesta:
Seravon oletus-
wp-config.phpkäyttää tauluetuliitettäwp_. Mikäli vanhalla sivustolla käytettiin muuta etuliitettä (esim.site_), voit tarkistaa ja päivittää etuliitteen tiedostoon/data/wordpress/htdocs/wp-config.phptai muokata sitä komentoriviltä ennen sivuston avaamista.Tietokannan sarjoitettu data (serialized data):
Älä koskaan korvaa verkko-osoitteita suoralla SQL-kyselyllä tai tekstieditorilla SQL-tiedostosta. Komento
wp search-replacehuolehtii automaattisesti PHP-sarjoitettujen tietorakenteiden pituuksien laskemisesta, jotta lisäosien ja vimpaimien asetukset eivät korruptoidu.Palvelimen välinen palomuuri estää rsync-yhteyden:
Jos vanha palvelin ei salli suoria saapuvia SSH-yhteyksiä Seravon palvelimelta, voit vaihtoehtoisesti ladata
tietokanta.sql-tiedoston jawp-content-kansion omalle koneellesi ja siirtää ne Seravolle SFTP-yhteydellä.
Katso myös
Komentorivityökalujen avulla suurenkin verkkosivuston tai verkkokaupan siirto onnistuu hallitusti ja tarkasti. Mikäli tarvitset apua siirron toteutuksessa tai haluat meidän toteutettavan siirron puolestasi, WordPress-asiantuntijamme ovat aina tavoitettavissa osoitteessa [email protected].
