När man kör en egen server med webbtjänster och åtkomst från nätet gäller det att ha sina program uppdaterade. Idag gjorde jag både en uppdatering av de paket som är installerade, och av WordPress. Det första var enkelt, det andra borde ha varit enklare än det faktiskt var.
Uppdatering av paketen görs med kommandot yum update
, enligt denna sida på centos.org. Det gick tämligen smidigt. Man kan tydligen även lägga schemalägga uppdateringar varje dag, men det känns än så länge lite vanskligt för mig.
Värre var det som sagt med WordPress. Från det administrativa gränssnittet finns ett alternativ med uppdatara (och jag hade flera sådana; både själva WordPress som skulle uppdateras till version 4.4, något tema och någon översättning). Det såg lovande ut till en början; verkade rätt enkelt! Det tråkiga var när jag kom till denna sida i gränssnittet:
Ha! Jag har vill inte ha någon ftp-åtkomst på servern, och har det därför inte. Men det kanske skulle finnas en enkel lösning ändå, enligt denna sida. Bara att lägga till raden define('FS_METHOD','direct');
i filen wp-config.php.
Efter att ha lagt till raden såg det lovande ut – ett tag. Det var en fil som inte kunde skrivas, och där slutade uppdateringen. När jag laddade om admin-sidan i webbläsaren så blev den bara blank. Det gick inte att göra något alls…
OK, återstod att göra en manuell uppdatering enligt konstens alla regler. Beträffande de inledande instruktionerna om att ta kopior av såväl filer och databas, så hade jag redan tidigare satt upp en sådan automatisk rutin varje dygn (och den hade redan behövts för att återställning efter den misslyckade uppdateringen). Det som oroade mig en del var punkt 7:
Hur fasen raderar man allt utom några enstaka filer, i ett katalogträd bestående av hundratals filer (närmare bestämt 2 584 filer, vid en närmare titt)? Det är ju inte direkt mitt härliga Apple-gränssnitt som jag arbetade i, utan en terminal med kommandoprompt.
Jag prövade med
find /var/www/html/web/ -type f -name 'wp-config.php' -o -type d -name 'wp-content' -o -type d -name 'wp-images' -o -type f -not -name 'robots.txt' |xargs sudo rm -f
som borde gjort susen, men det funkade inte… filer raderades, men inte kataloger och de filer som skulle sparas raderades också. Så det blev faktiskt att jag fick radera manuellt. Det gick ganska smidigt, mycket tack vare att jag inte hade så många tillägg och teman installerade.
Efter att jag installerat den nya versionen av WordPress (wget http://wordpress.org/latest.tar.gz
) och kopierat över filerna så funkade det fint.
Därefter var det enbart de svenska översättningsfilerna, och ett tema som jag inte använder (hur funkar unzip på linux? gz-filer fixar jag, men den här filen var jag tvungen att packa upp på min lokala dator) som skulle uppdateras på samma sätt; dvs genom att ersätta befintliga filer i WordPress-katalogen på servern.
Puh! Nu har jag ett uppdaterat system i alla fall. Återstår att pröva ut hur man kan automatisera processen med att selektivt radera filer. Det får jag återkomma till.