Instalacja i aktualizacja WordPressa z SVN

Do dziś aktualizując WordPressa korzystałem z wbudowanego mechanizmu tego skryptu. Z poziomu panelu administracyjnego, a dokładniej za pomocą poniższego odnośnika

http://nasz.blog.pl/wp-admin/update-core.php

możliwe jest dokonanie aktualizacji skryptu, oraz jego komponentów do najnowszych wersji. Prosto i przyjemnie (nie ulega bowiem wątpliwości, że rozwiązanie to jest bardzo szybkie i niezwykle proste). Jednakże posiada pewną wadę. Albowiem skrypt po aktualizacji do nowszej wersji nie usuwa pozostałości po poprzedniej, starszej wersji. Dla przykładu: stara wersja, przed aktualizacją posiadała plik xxx.php, który w nowszej został usunięty, bo twórcy wyszli z założenia, że jest zbędny, a jego funkcjonalność dodali do pliku yyy.php. Co zatem dzieje się po aktualizacji ze zbędnym plikiem xxx.php? Ano nic. On tam sobie siedzi dalej, potulnie jak myszka i czeka. Czeka tak sobie… Nawet i kilka lat, sam nie wie po co, ale sobie czeka, aż kiedyś sami go usuniemy.

Ktoś mądry1 wskazał mi nową drogę. Dzięki niej w końcu rozwiązany został problem pozostałości po aktualizacji WordPressa, bowiem pliki nadpisywane są do najnowszej wersji, a te zbędne same mówią „pa, pa„. Na dodatek nie trzeba odprawiać jakiś specjalnych modlitw, czy innych obrządków, by to wszystko miało miejsce!

Instalacja SVN

[warn]Ok. Nim przejdziesz dalej, drogi czytelniku, pragnę cię uprzedzić. Jeśli twój serwer nie posiada dostępu do SSH, to ten wpis z pewnością nie jest dla ciebie. Rozwiązanie to jest dedykowane osobom z własnym serwerem/VPSem, lub hostingiem dzielonym z dostępem do SSH i odpowiednich aplikacji.[/warn]

Instalacja jest niezwykle prosta, potrzebujemy zainstalować jeden program do obsługi SVN. CentOS w swoich podstawowych repozytoriach nie posiada2 interesującej nas aplikacji. Dodajemy zatem repozytoria RPMForge (jak tego dokonać dowiesz się z wpisu Migracja na VPS i problemy z nią związane), w których znajduje się odpowiednia aplikacja i wykonujemy polecenie:

yum install subversion

Czysta instalacja WordPressa

Sprawa prosta o tyle, o ile nie musimy kombinować z istniejącymi już wcześniej plikami. Potrzebujemy wiedzieć gdzie pobrać/zainstalować pliki, oraz… nie. Tylko to potrzebujemy wiedzieć :). Jak zatem dokonać magii?!

mkdir blog
cd blog
svn co http://core.svn.wordpress.org/tags/3.4.2 .

Teraz robi się magia, pliki są pobierane. Opisując kolejno wykonane czynności:

  1. Tworzymy katalog o nazwie „blog”;
  2. Przechodzimy do katalogu „blog”;
  3. Dokonujemy magii pobierając wszystkie pliki WordPressa w wersji 3.4.23.

Kolejnymi krokami jest po prostu instalacja skryptu.

Aktualizacja istniejącej instalacji

Jeśli aktualizujemy skrypt, który zainstalowany został za pomocą powyższego opisu – to ok. Wystarczy tylko i wyłącznie wykonać polecenie:

cd blog
svn sw http://core.svn.wordpress.org/tags/3.4.3 .

Jak widzimy „co” zostało zastąpione „sw” i zmienił się tylko numerek na końcu4.

W przypadku istniejącej już wcześniej instalacji skryptu, który nie został pobrany/zainstalowany za pomocą SVN jest nieco gorzej. Musimy usunąć niemal wszystkie pliki, by móc je potem pobrać za pomocą SVN. Do wywalenia idzie praktycznie wszystko za wyjątkiem katalogu wp-content, oraz plików .htaccess i wp-config.php.

[info]Pragnę zwrócić uwagę, że usuwasz pliki na własną odpowiedzialność. Informacja o usunięciu wszystkich plików, za wyjątkiem katalogu wp-content oraz plików .htaccess i wp-config.php dotyczy czystej wersji skryptu, zaraz po instalacji. Jeśli posiadasz zmodyfikowaną wersję to dobrze przemyśl swoją decyzję nim usuniesz pliki, albo najlepiej zrób kopię zapasową![/info]

cd /katalog/z/blogiem
rm -rf index.php license.txt readme.html wp-activate.php wp-admin/ wp-app.php wp-blog-header.php wp-comments-post.php wp-config-sample.php wp-cron.php wp-includes/ wp-links-opml.php wp-load.php wp-login.php wp-mail.php wp-settings.php wp-signup.php wp-trackback.php xmlrpc.php

Następnie pobieramy wszystkie pliki – ważne jednak by były to plikitej samej wersji, która już była na serwerze.

cd /katalog/z/blogiem
svn co http://core.svn.wordpress.org/tags/3.4.3 .

Późniejszej aktualizacji skryptu dokonujemy w ten sam sposób, co opisane zostało wyżej (svn sw…).

Pomocna dłoń

Na zakończenie pragnę ujawnić tożsamość tej mądrej głowy, która w sprawach związanych z WordPressem bywa niezastąpiona: Marcin Pietrzak znany również jako „illi” na polskim kanale wsparcia tego skryptu (#wordpress-pl @ irc.freenode.net).

  1. I to na polskim kanale wsparcia WordPressa. []
  2. Prawdopodobnie. Ja bowiem skorzystałem z repozytoriów RPMForge []
  3. Dla innych wersji – starszych, lub nowszych wystarczy po prostu zmienić numerki. []
  4. Na chwilę obecną wersja 3.4.3 nie została jeszcze wydana, więc niech nikt nie pyta dlaczego nie działa. []

Komentarze

3 odpowiedzi na „Instalacja i aktualizacja WordPressa z SVN”

  1. A jak to działa z własnymi modyfikacjami np szablonów?

    1. A jak to działa z własnymi modyfikacjami np szablonów?

      Zależy. Generalnie nie należy modyfikować rzeczy z repo, czyli motywów twenty*, wtyczki akismet i hello.php. Jeżeli natomiast zmodyfikujesz coś z repo, to jest 50/50 – popsuje się, bo zmodyfikowałeś tak, że nałożyłeś zmiany z tymi z repo, pliki wywalą konflikt i serwis na 99% przestanie działać lub nastąpi merge bez konfliktów i lokalne zmiany zostaną bez z mian, a plik zostanie zaktualizowany.

      Jeżeli chodzi o plik spoza repo, to są one dla subversion „nieznane”, więc przy aktualizacji są ignorowane.

      1. Nie strasz nawet, że 50% szans jest ;). W przypadku update z poziomu panelu admina również modyfikacje twenty*, akismeta, oraz plików core były nadpisywane. Nie dziwi mnie więc, że z poziomu SVN jest tak samo. Najważniejsze, że nie rusza naszych pluginów i „themsów”.

Skomentuj Marcin Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *