Kā pārcelt WordPress uz citu serveri

Sveiki! Šoreiz apskatīšu to, kā var pārvietot WordPress uz citu serveri neizmantojot web interfeisu vai jebkādus WordPress spraudņus (plugins). Lai to varētu izdarīt, nepieciešama termināļa piekļuve abiem serveriem. Uz abiem serveriem jābūt SQL serverim, web serverim, ssh un rsync programmatūrai.

apt install rsync

Viss turpmākais tiks aprakstīts, lai varētu izpildīt šo darbu mani izglītojamie, kuriem ir specifiska laboratorija. NEKAD NEĻĀUJIET ROOT LIETOTĀJM PIESLĒGTIES CAUR SSH.

Bet šajā gadījumā būs jāļauj root lietotājam pieslēgties caur ssh. Lai to izdarītu uz jaunā servera jāveic sekojošas darbības:

nano /etc/ssh/sshd_config

Atrodam šādu rindu

#PermitRootLogin prohibit-password

izlabojam to uz

PermitRootLogin YES

Saglabājam failu un restartējam ssh servisu

systemctl restart sshd

Sagatavošanās darbi ir galā. Tagad vajag eksportēt SQL datubāzi un nokopēt to uz jauno serveri un importēt to iekšā.

Uz vecā servera:

mysqldump -u root -p datubazes_nosaukums > faila_nosaukums-$(date +%F).sql

Ko dara šī komanda:
datubazes_nosaukums = jāieraksta vēlamās datubāzes nosaukums, ko vēlaties eksportēt
> = nozīmē, ka tiks tekošajā mapē izveidots fails
faila_nosaukums-$(date +%F).sql tiks izveidots fails ar jūsu nosaukumu un šodienas datumu

Nākamais- šis fails ir jāpārsūta uz jauno serveri:

rsaync -avz fails.sql root@jūsu_otrais_serveris_ip:/root/

Jums liks apstiprināt, ka vēlaties pieslēgties jaunajam serverim caur ssh. Jāraksta YES, tad liks ievadīt root lietotāja paroli uz jaunā servera. Jaunajā serverī fails iks pārkopēts uz mapi /root/

Nākamais solis, jāpārkopē visa wordpress mape no vecā servera uz jauno.

Vispirms no jaunā servera izdzēš /var/www/html mapi

rm -R /var/www/*

Tad no vecā servera kopē izmantojot rsync

rsync -avz /var/www/html root@jaunais_serveris_ip:/var/www/

Pēc tam jaunajā serverī ir jāimportē mysql datubāze. Tas izdarāms tā. Ielogojieties jaunajā serverī. Jaunajā serverī izveidojat tukšu datubāzi, piemēram ar nosaukumu wp_database, un izveidojam lietotāju priekš šīs datubāzes.

mysql -u root -p
CREATE DATABASE wp_database;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'userpassword';
GRANT ALL ON `wp_database`.* TO `wpuser`@`localhost`;
FLUSH PRIVILEGES;
exit;

Tad importējam veco datubāzi

mysql -u root -p wp_database < [filename].sql

Tad atlikuši vēl pēdējie soļi. Ir jānokonfigurē WordPress uz jaunā servera, lai tas spēj savienoties ar datubāzi un jānokonfigurē mapju atļaujas, lai var bez ftp un citas drazas instalēt spraudņus, tēmas, augšupielādēt failus utt.

Sakārtojam mapju atļaujas:

chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

Konfigurējam WordPress, lai tas spētu savienoties ar datubāzi. Tam būs jārediģē fails wp-config.php

nano /var/www/html/wp-config.php

Failā atrodat šādu vietu:

Jāsalabo attiecīgi DB_NAME, SB_USER, DB_PASSWORD uz pareizām vērtībām. Vērtības ir jāraksta iekš pēdiņām ‘mana_vertiba’

Saglabājam failu un visam vajadzētu darboties, ja atvērsiet savu jauno serveri web pārlūkā.

Ja gadījumā nedarbojas, tad ir 2 iemesli. Jūs darāt kaut ko nepareizi, vai arī WordPress izmisīgi grib atvērt nevis caur IP, bet gan domēna vārdu.

Protams ir vēl viens varants, vieglāks un iebūvēts wordpress:

WordPress administrācijas panelī ir sadaļa Rīki ar apakšsadaļām eksportēt un importēt. Uz vecā servera eksportē, uz jaunā importē. Ieteicams uz abiem serveriem, lai ir vienāda WordPress versija.

Šajā gadījumā ir jākonfigurē PHP un nginx, lai ļautu lielāku failu augšupielādi.

PHP:

nano /etc/php/7.3/fpm/php.ini

Atrodam sekojošas rindas un izlabojam:

upload_max_filesize = 200M

post_max_size = 200M

meklēt var zmantojot ctrl+w

nginx:

nano /etc/nginx/sites-enabled/default

sadaļā server pievienojam šādu rindu:

client_max_body_size 200M;

Pēc failu rediģēšanas varat vienkārši restartēt abus servisus:

systemctl restart php7.3-fpm.service
systemctl restart nginx

Tagad maksimālais augšupielādes faila zimērs ir 200 MB

Tas arī ir viss, ko vēlējos šodien uzrakstīt. Pirmais variants ļaus vairāk izprast kā darbojas Jūsu serveris un WordPress instalācija.

Otrais, ne vienmēr nostrādā, bet var mēģināt.