Обновяването на WordPress не беше весела работа.
При всеки upgrade трябваше да изтривам всичко без wp-content
и конфигурационния файл, да гледам да не изтрия нещо важно, да помня (или да си пазя patch файлове) промените, които съм правил по core файловете (вие знаете, че това е лошо, нали?!). Изобщо, който не го е правил, той не го е оплесквал.
Мързелът се предаде и един ден се напънах и си измислих по-лесен начин – със Subversion.
Изисквания:
- shell достъп до вашия сървър
- инсталиран
svn
на сървъра
Всичко се състои от 2 стъпки:
- checkout от Subversion хранилището на WordPress – избирате си версия, например
2.2.2
, отивате в празна директория, в която ще си държите блога и изпълнявате:
svn checkout http://svn.automattic.com/wordpress/tags/2.2.2 .
- обновяване – пак в същата директория с:
svn switch http://svn.automattic.com/wordpress/tags/нова-версия
При обновяването ще се запазят всички файлове, които сте поставили допълнително. Също така няма да се загубят промените, които сте правили по някой от файловете. В редките случаи, в които вие и WordPress разработчиците сте променяли едно и също място от кода, ще се подроди конфликт. Как да го разрешите може да прочетете в една хубава online книжка за Subversion.
Всъщност има и малко по-хакерски метод:
- checkout от любимия ви клон (на мен ми е
trunk
). Например сегашните 2.2.х версии се намират в branches/2.2
, а по-старите в 2.1, 2.0 и т.н. Ето как става:
svn checkout http://svn.automattic.com/wordpress/branches/2.2 .
Какво печелите от това? Няма нужда да чакате новата версия за да обновите инсталацията си. Ако чуете за проблем със сигурността или нововъведение, за което не ви се чака:
svn update
е ваш приятел.
След като съм ви спечелил на страната на по-лесното поддържане на WordPress инсталация, един съвет за вашата сигурност: забранете достъпа до .svn
директориите в блога. По принцип няма много ценна информация, която да се извлече оттам, но параноята не е навредила почти никому. Има много начини да спрета кранчето към .svn
, но най-лесно със следното правило за mod_rewrite:
RewriteRule (^|/)\.svn(/|$) . [F,L]