segunda-feira, 13 de fevereiro de 2012

instalando Joomla 2.5.1 - The Planet

Uma primeira instalação com o pacote básico do Joomla 2.5.1 em uma hospedagem The Planet. Porque? Porque queremos ver o que há de novo por aqui! Porque vamos acompanhar passo a passo esta instalação! Porque queremos migrar o site ainda na versão 1.5.25 para esta nova versão. Porque as atualizações da versão 2.5.0 estão apresentando problemas e queremos entender o que está acontecendo.




Download, unZip, e UpLoad
Processo sem maiores problemas, baixando o pacote Zip com a versão completa de Joomla 2.5.1, descomprindo no desktop, e carregando para um subdiretório da hospedagem.

./installation/
Acessando no navegador o endereço (diretório) onde foi carregado os arquivos de instalação do Joomla 2.5.1, somos automaticamente direcionados para o diretório installation, iniciando o processo de instalação, com a seleção da lingua :
A opção de língua portuguesa do Brasil, já vem convenientemente selecionada.

O próximo painel é de Verificação de Pre-instalação!

Observa-se aqui que temos algumas não-conformidades, porem todas elas são indicadas como contornáveis durante o processo de instalação.

  • configuration.php - não é gravável pelo script! Provavelmente algum problema de autoridade do scritp sobre a pasta em uso. Sempre podemos copiar a gravar o arquivo diretamente no subdiretorio ao final do processo.
  • Safe Mode On - na configuração do PHP.
  • Magic Quotes GPC - na configuração do PHP. Apesar desta configuração estar listada como não-conformidade, o problema parece estar bem contornado pelo Joomla.
  • Register Globais - na configuração do PHP.
Parece que o parametro Safe Mode ON é bem problemático no caso das instalações e cargas de arquivos ao ambiente. Veremos isso mais adiante.

Vamos prosseguir para concluir a instalação. O próximo passo é de exibição da licença:
 Apesar de termos os painéis de instalação traduzidos para o português, observei que os temos da licença está em inglês.

O próximo painel é de configuração do suporte de banco de dados.

Observei que o tipo de banco de dados vem com MySQLi e no nosso caso usamos o MySQL, sem o i no final. Será que isso faz alguma diferença? Experimentarei com isso futuramente.

O próximo painel é de configuração de FTP. Parece que isso todo mundo deixa sem configurar, podendo ser configurado posteriormente durante o uso. As minhas tentativas de configurar aqui não foram bem sucedidas. Aparentemente, o script não conseguiu achar o caminho padrão e tampouco conseguiu testar o acesso quando apresentada os dados de transferencia de arquivos com o servidor.

A configuração de eMail, usuário administrador, e senha funcionou normalmente. O problema aqui fica por conta da não confirmação do endereço de eMail.

A conclusão do processo é um tanto sobre carregada de informações.

Em vermelho, a instrução para eliminar o diretório installation! No botão o script não conseguiu fazer isso. Aparentemente problema com as autoridades neste subdiretorio. Fiz isso pelo FTP.

No quadro temos o código para figurar no arquivo configuration.php que precisamos carregar para a raiz do site.

O site e a área de administração são acessados normalmente!

Bom.... um primeiro passo é fazer o backup desta instalação! Sim, eu sou neurótico! Para isso, usamos o Extension Manager: Install, para instalar o component Akeeba de backup.



Obtemos a mensagem de erro "Unable to find install package" indicado que tivemos problemas na carga do arquivo de instalação do componente. Encontrei em Fixing Joomla’s “Unable to find install package” as instruções para limpar as configurações de FTP do configuration.php.  Basicamente, desativando totalmente as opções de FTP configurados no configuration.php durante a instalação. 

Com isso tentamos novamente, agora obtendo a mensagem de erro : Warning: Failed to move file! ao tentar carregar e instalar o Akeeba Backup. As mensagens de erro são realmente muito pouco explicativas. Ajudaria por exemplo saber qual arquivo estava tentando ser movido, de onde, para onde. 

O problema está mesmo relacionado com o fato de termos o Safe Mode On neste ambiente. Apesar de ser um recurso rejeitado na comunidade por razões técnicas, alguns provedores ainda o usam para facilitar o compartilhamento de recurso em suas máquinas.

O conflito no caso do Joomla acontece quanto os arquivos são carregados no provedor  usando um usuário FTP (grupo FTP) depois, na instalação (script PHP) os arquivos são configurados pelo suPHP (grupo PHP), depois quando da instalação de componentes ou carga de arquivos o processo é feito pelo Apache (grupo Apache). Se a configuração destes grupos não estiver compatível, teremos os conflitos na criação de diretórios e arquivos por não terem autoridade suficiente sobre os recursos.

Entre as várias alternativas para atacar este problema, destaco:

.htaccess é um arquivo de configuração adicional do Apache. A tentativa de desligar o Safe Mode exclusivamente para a sua instalação (diretorio) pode ser tentada, mas raramente causa efeito pois a configuração geral é estabelecida como irrevogável. php_value safe_mode = Off ou php_value safe_mode "0" ou  php_flag safe_mode off !

chmod 777 * é uma atitude drástica dando acesso total a todos para os recursos do site. Em algumas instalações, como por exemplo local, pode fazer sentido. Em geral, isso deve ser evitado para prevenir problemas de segurança.

php.ini é o arquivo de configurações do PHP e contem a especificação original do Safe Mode. Em geral, a edição deste arquivo é restrita aos administradores da instalação. 

camada FTP do Joomla implementa uma alternativa para contornar as restrições impostas pelo Safe Mode! Configurado ele faz com que a criação e movimentação de diretórios e arquivos seja feita com o usuário FTP indicado. Esta opção é indicada como opcional durante o processo de instalação, mas acaba sendo importante durante a operação do seu site. Painel de Controle, Configurações Globais, Servidor, Configurações de FTP.  Para ter certeza de que a configuração está correta, veja o arquivo configuration.php na raiz do seu site.









4 comentários:

Talora disse...

Eu instalei o Joomla no diretório default utilizado pelo Apache do CentOS: /var/www/html. Para mim, bastou fazer o seguinte (ao menos para conseguir instalar o pacote de idioma para português do Brasil):

cd /var/www/html
chown apache:root tmp
chown apache:root language
chown apache:root tmp
chown apache:root administrator/language
chown apache:root administrator/manifests/packages

Feito isso, consegui instalar o pacote sem problemas!

Luís Talora

Marcelo Milani disse...
Este comentário foi removido pelo autor.
Marcelo Milani disse...

estou seguindo as recomendações do blog e no quarto passo onde fica a criação do banco de dados ele fica processando e não da sequencia. Alguém ai ja teve um problema assim? se alguém puder me ajudar eu agradeço. Uso o wamp na minha máquina como base de dados.

LUAN disse...

marcelo, você deve usar o seguinte comando no terminal
$ mysql -u root -p
ele vai pedir sua senha root
agora você vai colocar esse comando para criar o banco de dados:
create database ;
pronto!