tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

WordPress: Siirto nopeasti, WP-CLI ja rsync

WordPress-asennuksen siirto on usein sellainen urakka, jota hieman säikytään. Saatetaan pysyä ahtaassa ja kalliissakin web-hotellissa, koska muuttoa pelätään. Aivan turhaan, koska harvempi asia on yhtä helppoa ja nopeaa kuin WordPress-sivuston muuttaminen paikasta toiseen. Kyllä, siihen tarvitaan perustason teknistä osaamista, mutta oppimiskäyrä on hyvinkin matala ja loiva. Ainakin jos on ohjeet. Nyt neuvon sinulle miten siirrät WordPressin serveriltä toiselle alle aikayksikön. Kyllä, myös domain saa muuttua.

Muutama perusvaatimus on.

  • Täytyy olla SSH eli terminaali/shell käytössä molemmissa paikoissa
  • Täytyy asentaa WP-CLI molempiin paikkoihin
  • verkkosivun hakemistot ja virtual host täytyy olla asetettuina

Ohjeet ovat hyvin suoraviivaiset ja oletan, että osaat SSH:n perustoiminnat, kuten hakemistojen luominen ja niissä liikkuminen. Teen kaiken root-tunnuksilla, joten jos sinä käytät omaa tunnustasi, niin muista sudo.

Vaihda tiedot oikeiksi, kuten tietokannassa wordpress käyttämäksesi tietokannaksi, /var/www/html oikeaksi verkkosivujesi hakemistoksi jne.

Vaihtoehtoinen tapa

Jos et halua asentaa WP-CLI:tä, niin voit toki kopioida WordPressin perinteisellä tavalla. Ei se ole hitaampi, mutta parissa kohtaa tarvitaan hieman pidemmät komentorivikehoitteet.

WordPressin tietokanta

Tee uuteen sijaintiin tietokanta. Kannattaa käyttää vanhoja tietoja, niin pääsee helpommalla.

mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL ON wordpress.* TO 'käyttäjä'@'localhost' IDENTIFIED BY 'salasana';
FLUSH PRIVILEGES;
EXIT;

Kopioidaan vanha tietokanta

Siirry vanhalle serverille. Mene web-hakemistoon.

cd /var/www/html

Aseta sivusto huoltotilaan.

wp maintenance-mode activate

Ota tietokannasta kopio.

wp db export wordpress.sql

Siirretään WordPress uuteen paikkaan

Siirry uudelle serverille. Mene web-hakemistoon.

cd /var/www/html

Siirrä WordPress vanhasta paikasta uuteen.

rsync -avz -e ssh root@vanha_ip:/var/www/html/ .

Kopioidaan tietokanta paikalleen.

wp db import wordpress.sql

Jos domain muuttui, niin vaihdetaan uusi osoite.

wp search-replace https://www.vanha.example.com https://uusi.example.com

Otetaan huoltila pois päältä.

wp maintenance-mode deactivate

Sivusto on siirretty ja ainakin periaatteessa toiminnassa, kun nimipalvelimet ovat päivittyneet. Aikaa kului sivuston koosta riippuen muutama minuutti plus serverin asettaminen.

Jälkihoito savun hälvettyä

Joudut lisäksi asentamaan ainakin SSL-sertifikaatit paikalleen. Saattaa olla, että joudut myös kopioimaan .htaccess tiedoston sekä virtual hostin säädöt, jos niitä on muutettu.

Jos domain muuttui, niin käy täältä katsomassa sopiva uudelleenohjaus.

Lisäksi kannattaa tutustua mitä kaikkea WP-CLI:llä saa tehtyä, jos se on sinulle tuntemattomampi tuttavuus.