Full-stack developer Emerson Rocha .::. CMS Joomla!, PHP, JavaScript/NodeJS, Infraestrutura

Este tutorial explica como fazer a atualização de Joomlas iguais ou anteriores ao 1.5.14 para o 1.5.15 e superiores.

Note porém que versões posteriores podem conter características específicas adicionais, então você deve procurar saber se algo diferente de uma atualização simples deve ser realizado.

O que há de novo no Joomla 1.5.15

Isto você pode ver nos release notes do Joomla 1.5.15 (em inglês).

O que há de novo na atualização para joomla 1.5.15

Na prática, a única mudança na clássica atualização baixa-descompacta-fim, é que houve uma polêmica discutida nas listas de email de desenvolvedores Joomla, sobre através de segurança por obscuridade, esconder as versões de extensões instaladas. Este tipo de segurança não é um meio realmente eficiente de proteger seu site, mas inviabiliza o modo mais rápido de qualquer visitante, mesmo os não logados no seu site, saberem o que você têm instalado e qual versão (possivelmente uma versão não atualizada e com falhas de segurança), por tentativa e erro, i.e., ele teria que ficar tentando uma lista de extensões até descobrir todas as suas e fazer um ataque. Em outras palavras, algo não muito difícil de ser feito com algumas ferramentas que facilitam a pesquisa em batelada disso.

Quer saber se seu site está aberto para este tipo de exposição? Acesse este link demonstrativo após a URL base para ver se realmente é exibido o XML de um dos componentes:

Mudanças no .htaccess para evitar acesso aos arquivos .xml de extensões Joomla

Veja abaixo o htaccess.txt com destaque nas linhas alteradas:

##
# @version $Id: htaccess.txt 13415 2009-11-03 15:53:25Z ian $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a  tag in URL
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

Se você tem alguma noção sobre como funcionam este tipos de configurações, vai ver que ele simplesmente impede acesso direto aos .xml. Simples e direto.

Outro detalhe pertinente é que (pelo menos na atualização 1.5.15 do joomla) estas linhas estão comentadas. isto quer dizer que não basta só copiar, você deve retirar os comentários (#) do início das linhas.

Enfim, como atualizar Joomla 1.5.x para 1.5.15+ (modo rápido)

Antes de qualquer coisa: faça backup de tudo.

Pré-requisito: se você ainda não leu, leia meu artigo Como instalar o Joomla - metodo rápido.

Vá até a página contendo as ultimas versões de atualização do Joomla 1.5. Procure pelo arquivo de update da sua versão instalada. No meu exemplo vou explicar como descompactar com arquivos .tar.gz, então, se você está com Joomla 1.5.14 e quer atualizar para joomla 1.5.15, o link correto seria http://joomlacode.org/gf/download/frsrelease/11395/45627/Joomla_1.5.14_to_1.5.15-Stable-Patch_Package.tar.gz.

Após já ter feito login via SSH no seu servidor, com seu programa específico para isso, basta baixar direto para seu host via wget a versão de atualização específica

wget http://joomlacode.org/gf/download/frsrelease/11395/45627/Joomla_1.5.14_to_1.5.15-Stable-Patch_Package.tar.gz

Após isso, apenas descompacte

tar -vzxf Joomla_1.5.14_to_1.5.15-Stable-Patch_Package.tar.gz

Dica: Use 'tar -xvjf arquivo.tar.bz2' para arquivos .tar.bz2 e 'unzip arquivo.zip' para arquivos .zip.

Aonde no meu exemplo Joomla_1.5.14_to_1.5.15-Stable-Patch_Package.tar.gz é o arquivo que vou instalar. Se por exemplo você for usar esta lógica para um pach de atualização mais antigo, ou então para uma versão mais nova de Joomla, altere.

Após isso, você deve incluir as mudandas feitas no .htacess do Joomla no seu próprio arquivo .htacess. Isto quer dizer que você deve adicionar as seguintes linhas:

## Deny access to extension xml files (uncomment out to activate)
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
## End of deny access to extension xml files

NOTA IMPORTANTE! Por questões técnicas, o seu navegador pode mostrar nesse site o código acima como se fossem os sinais de maior e menor fossem caracteres iniciados por &. O modo certo de copiar este script é clicar nos botôes que aparecem ao passar o mouse por cima do código no canto superior direito. Se você não fizer isso, e incluir errado no seu .htacess, seu servidor vai dar erro 500.

Pronto! Se tudo está ok, você irá ao painel administrativo, e verá no rodapé o aviso de qual versão de Joomla está usando. E para ter certeza que fez tudo certo com seu arquivo .htaccess, tente acessar sua URL base mais o seguinte:

Se o acesso for negado, você atualizou com sucesso seu Joomla!.

Método alternativo para quem não tem acesso SSH ao seu servidor (método demorado)

Os passos são basicamente os mesmos. A diferença é que você terá de fazer o download do arquivo de atualização para seu computador e fazer upload para raiz do seu site em Joomla, e descompactar com seu CPanel ou qualquer outro tipo de painel administrativo que lhe permita descompactação direto no servidor. Caso REALMENTE não tenha como descompactar os arquivo no servidor, ou sua conexão com o host for excelente, descompacte o arquivo de atualização em localhost, e faça upload arquivo por arquivo para seu servidor.

Método alternativo para quem não tem acesso SSH ao seu servidor (via painel administrativo do seu Joomla)

Outra dica bem pertinente caso não tenha acesso SSH, mais rápida ao método anterior, é você ler este tutorial feito por Daniel Correia no Joomlaminas sobre como atualizar o Joomla via painel administrativo. Vale a pena ver este método alternativo mesmo que você não for usá-lo

comments powered by Disqus

fititnt.org is not affiliated with or endorsed by the Joomla Project or Open Source Matters. The Joomla logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries
HTML5 Valid