Vi o Martins

Blog pessoal de Flávio Martins

Entradas Tagged ‘svn’

Como actualizar um blog WordPress com o svn

Quinta-feira, 5 Março, 2009

Na maior parte das vezes as vulnerabilidades conhecidas são rapidamente corrigidas nas versões mais recentes do WordPress. Mesmo assim muitos bloggers, por não actualizarem regularmente, vêm o seu blog ser infiltrado. Decidi então partilhar um método que permite actualizar completamente um blog num único passo, incluindo os plugins e temas. No entanto a configuração inicial do WordPress é um pouco especial visto que vamos tirar partido do SVN para o efeito.

A primeira coisa a fazer é ligar-se por SSH ao servidor e verificar se temos o programa svn. Caso contrario, vamos ter de instalar, ou pedir para o fazerem por nós. Prosseguimos fazendo o download do WordPress com o comando svn (recomendo a mais recente branch).

svn checkout http://svn.automattic.com/wordpress/branches/2.7/ blog

Podemos agora configurar o blog tal como quando o WordPress é instalado usando um arquivo extraível. Com a diferença de podermos a partir de agora actualizar o blog com o seguinte comando.

svn update

Eu prometi no entanto uma actualização completa, incluindo plugins e temas. Os mais atentos devem ter reparado que o plugin akismet é actualizado ao mesmo tempo que o WordPress quando é executado o comando acima. Nós queremos o mesmo comportamento para os outros plugins.

Para editar a lista de plugins actualizavéis executamos.

svn propedit svn:externals wp-content/plugins

Na lista anterior podemos ver qual a sintaxe deste ficheiro, ou seja, um nome para o directório de destino e o endereço para a trunk do plugin. A maioria dos plugins para WordPress podem ser encontrados em http://svn.wp-plugins.org/. Adicionemos agora o plugin stats à lista como exemplo.

stats http://svn.wp-plugins.org/stats/trunk/

Por fim executamos um pedido de actualização para que o plugin seja descarregado.

svn update

Este processo é também válido para os temas.

Quando sair a versão seguinte do WordPress só precisamos de executar o seguinte.

svn switch --ignore-externals http://svn.automattic.com/wordpress/branches/2.8/

Boa sorte.