Siirry pääsisältöön

Sivuston siirto komentoriviltä (SSH & WP-CLI)

Sivuston siirto komentoriviltä (SSH & WP-CLI) on luotettavin ja nopein tapa siirtää WordPress-sivusto Seravolle ilman kokorajoituksia. Katso vaiheittaiset ohjeet.

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 (tai vanhapalvelin.fi)

    • SSH-portti: 22

    • SSH-käyttäjä: wp-user

    • WordPressin polku: /var/www/htdocs

  • Uusi Seravo-palvelin:

    • Host: esimerkki.fi-c.seravo.com

    • SSH-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:

  1. Noudetaan tietokantadumppi Seravon tietokantahakemistoon /data/db/:

    rsync -avz --stats [email protected]:~/tietokanta.sql /data/db/
  2. 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:

  1. Päivitetään mahdolliset kovakoodatut hakemistopolut:

    wp search-replace '/var/www/htdocs/wp-content' '/data/wordpress/htdocs/wp-content' --all-tables
  2. 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
  3. 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.php kä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.php tai 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-replace huolehtii 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 ja wp-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].

Vastasiko tämä kysymykseesi?