Desenvolvimento - PHP

Migração do Joomla CMS e instalação do WAMPServer em Windows Server 2003

Este artigo descreve como migrar um sistema web desenvolvido em Joomla CMS 1.0.15 e instalar o WAMPServer 2.0b em um servidor Windows Server 2003. O foco do artigo é a migração e instalação no novo servidor, portanto o sistema anterior de onde está sendo migrado pode ser uma versão de Linux ou Windows que suporte a versão 2.0b do WAMPServer e 1.0.15 do Joomla.

por Everton R. Silva



Este artigo descreve como migrar um sistema web desenvolvido em Joomla CMS 1.0.15 e instalar o WAMPServer 2.0b em um servidor Windows Server 2003. O foco do artigo é a migração e instalação no novo servidor, portanto o sistema anterior de onde está sendo migrado pode ser uma versão de Linux ou Windows que suporte a versão 2.0b do WAMPServer e 1.0.15 do Joomla.

Instalando o WAMPServer (Windows + Apache + MySQL + PHP)


Figura 1: Windows Server 2003.

O WAMPServer é uma solução de software WAMP (Windows + Apache + MySQL + PHP) que inclui:

- Apache 2.2.8
- MySQL 5.0.51a
- PHP 5.2.5

Sua versão atual é a 2.0b. É preciso desinstalar qualquer versão anterior do Apache, MySQL ou PHP caso estejam instalados na máquina. A instalação do WAMPServer é típica, exigindo apenas cliques de confirmação. Feito isso você verá o menu abaixo.

Figura 2: Menu de utilização do WAMPServer.

Configurando o WAMPServer

Apache 2.2.8

No menu do WAMPServer (Figura 2) clique no item Apache> httpd.conf. O arquivo httpd.conf será aberto no Bloco de Notas. Altere as linhas necessárias de configuração no httpd.conf, abaixo:

- "Listen ..." Nesta linha coloque "Listen 8080". Assim o Apache funcionará na porta 8080. Você pode colocar nesta linha outra porta qualquer caso desejar.


Figura 3: Alterando o parâmetro Listen no arquivo httpd.conf do Apache.

- "Servername ..." Nesta linha coloque "ServerName localhost:8080". Estamos usando a porta 8080 porque o IIS do Windows 2003 Server usa a porta 80. Você também pode configurar esta linha como, Ex: "ServerName nomeservidor:8080" ou "ServerName 10.0.0.1:8080".


Figura 4: Alterando o parâmetro ServerName no arquivo httpd.conf do Apache.

- "DocumentRoot ..." Nesta linha coloque "DocumentRoot "D:/wamp/www/". Você pode mover o diretório "www" do WAMPServer para onde desejar, inclusive fugindo do padrão em que ele é instalado, caso precise de mais segurança. Ex: "DocumentRoot "E:/web/wamp/www/".


Figura 5: Alterando o parâmetro DocumentRoot no arquivo httpd.conf do Apache.

PHP 5.2.5

Ainda no menu do WAMPServer clique no item PHP> PHP settings, e verifique se as configurações do PHP, exigidas pelo Joomla, estão selecionadas corretamente conforme abaixo:

- Short Open Tag: Ligado
- Safe Mode: Desligado
- Display Erros: Ligado
- File Uploads: Ligado
- Magic Quotes GPC: Ligado
- Magic Quotes Runtime: Desligado
- Register Globals: Desligado
- Output Buffering: Desligado
- Session Auto Start: Desligado

As opções acima, configuradas no PHP.ini, possuem uma explicação detalhada de seus significados dentro do próprio arquivo PHP.ini, texto "em comentários" (texto comentado está após o caractere ";" ponto e vírgula).

Agora clique no item PHP> PHP extensions:

- Selecione as extensões que serão usadas: LDAP, ODBC, MySQL, etc. Geralmente as extensões a serem habilitadas vão depender das características do seu sistema. Se ao final deste passo a passo você fizer tudo certo e der erro verifique se não esqueceu de habilitar alguma extensão ou então deixou habilitada uma extensão que entra em conflito com outra.

Figura 6: Menu de utilização do WAMPServer, PHP> PHP extensions.

A cada vez que você habilitar/alterar um item no "PHP settings" ou "PHP extensions" será necessário reiniciar o WAMPServer para que ele possa reconhecer as mudanças. Faça isto clicando uma vez no icone do WAMPServer> Restart All Services.

MySQL 5.0.51a

O próximo passo é trocar a senha do banco de dados MySQL porque na instalação padrão, via WAMPServer, o usuário administrador do MySQL é "root", sem senha (vazio). O WAMPServer instala automaticamente o phpMyAdmin, que é um sistema GPL desenvolvido em PHP pela comunidade de software livre, que faz o gerenciamento via web do banco de dados MySQL. O WAMPServer também instala automaticamente o SQLiteManager, que faz o gerenciamento web do banco de dados SQLite, porém não iremos tratar disto neste artigo.


Figura 7: Página inicial, após autenticação, do phpMyAdmin.

Acesse da máquina servidor com seu navegador a URL http://localhost:8080/phpmyadmin/, o phpMyAdmin irá fazer o acesso diretamente, sem solicitar login/senha. Se você tentar acessar de algum navegador de fora desta máquina o acesso será negado, retornando uma página de erro. Corrigir isso será o próximo passo, vamos incluir primeiro a senha de root ao MySQL para que não fique vazia (padrão da instalação).

Na Home do phpMyAdmin clicar em "Privilégios" (lado direito abaixo, na tela). Após clicar você verá somente o usuario "root" para acesso ao MySQL. Clicar no icone "Editar privilégios". Ao mudar a senha você perderá o acesso ao MySQL através do phpMyAdmin pois você estava conectado com este usuário e acabou de alterar a senha do mesmo (de vazio para outra qualquer mais segura). Basta acessar novamente a URL http://localhost:8080/phpmyadmin/ e digitar usuário root com a nova senha.

A instalação padrão do phpMyAdmin não permite acesso remoto via web, a instalação padrão só permite o acesso web da máquina onde foi feita a instalação, no caso a máquina servidora. Aproveite então para habilitar a autenticação remota, editando o "config.inc.php" no diretório de instalação do phpMyAdmin. Edite as seguintes linhas:

$cfg["Servers"]["auth_type"]="cookie";
$cfg["blowfish_secret"]="palavraqualquer";


O arquivo "config.inc.php" fica em D:\wamp\apps\phpmyadmin2.10.1\.


Figura 8: Localização do arquivo config.inc.php do phpMyAdmin.


Figura 9: Parâmetros a editar do arquivo config.inc.php.


Figura 10: Parâmetro a editar do arquivo config.inc.php.

Não altere as linhas abaixo:

$cfg["Servers"][$i]["user"] = "root";
$cfg["Servers"][$i]["password"] = "";


Altere as linhas acima somente se desejar fazer com que o phpMyAdmin faça acesso direto sem exigir a solicitação de login e senha. Porém isto é bastante perigoso pois o acesso ao banco de dados estará liberado para qualquer um que saiba ou descubra a URL do phpMyAdmin.

O último passo para disponibilizar o acesso remoto web ao phpMyAdmin é editar o arquivo "phpmyadmin.conf" em "D:\wamp\alias\". Abra o arquivo e siga as orientações que estão "em comentários" (texto comentado está após o caractere #) no próprio arquivo. Faça conforme a figura abaixo.


Figura 11: Alterações no arquivo phpmyadmin.conf.

Conforme mostrado na figura acima, troque as linhas:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

Por:

Order Allow,Deny
Allow from all


Com esta última mudança o phpMyAdmin poderá ser acessado de uma máquina qualquer na rede ou de uma máquina da internet.

Para funcionar não se esqueça de reiniciar o WAMPServer.

Migrando o Joomla CMS

A segunda parte do trabalho é migrar o sistema desenvolvido em Joomla!, crie o diretório do "projeto_web" abaixo de "D:\wamp\www" no novo servidor e copie para este novo diretório todos os arquivos do projeto que está sendo migrado. Estes arquivos referem-se aos arquivos do sistema que foi desenvolvido em Joomla!

Após o passo incial, acima, siga os passos abaixo:

- No servidor antigo exporte o banco de dados do projeto desenvolvido com o Joomla!, exporte por exemplo para um arquivo de nome "banco_dados.sql".
- No servidor novo, para onde o sistema vai migrar e foi instalado o WAMPServer, acesse o phpMyAdmin e crie o database/banco de dados com o mesmo nome.


Figura 12: Base de dados MySQL com o phpMyAdmin.

Importando os dados

Ainda no phpMyAdmin clique no menu a esquerda, selecione o nome do banco de dados criado para a migração de dados (mesmo nome que no servidor antigo) e faça a importação do "banco_dados.sql" usando a opção "Importar" do phpMyAdmin. Você pode encontrar problemas ao exportar e importar dados para o MySQL por isso use o mesmo modo de compatibilidade em "Opções SQL"> "Modo de compatibilidade SQL", tanto para exportar quanto para importar. O modo de compatibilidade "MYSQL40" é bastante utilizado. Caso o tamanho do arquivo SQL para importar seja muito grande divida-o em 2 ou 3 arquivos e importe um a um.


Figura 13: Importando dados MySQL com o phpMyAdmin.

Reconfigurando o Joomla

Com isso feito, o projeto desenvolvido em Joomla! vai precisar somente que você faça a configuração manual do arquivo "configuration.php". Encontre este arquivo em "D:\wamp\www\projeto_web\configuration.php", sendo "projeto_web" o diretório que você criou ao migrar o sistema projeto web para o novo servidor. Não entrarei nos detalhes da configuração deste arquivo pois entendo que a pessoa que está fazendo a migração já o saiba. Basicamente será necessário alterar o nome do servidor, diretório do projeto, nome do banco de dados (espero que você tenha deixado o mesmo), login/senha do banco de dados e URL do site.


Figura 14: configuration.php, arquivo de configuração do Joomla!.

Para testar acesse a URL http://servidor:8080/projeto_web/ ou http://localhost:8080/projeto_web/.

Impondo o limite de upload para importação de dados

O phpMyAdmin, por padrão, só permite importar arquivo com no máximo 2 mb, o que significa que você precisará dividir o arquivo de "BancoImportado.sql" caso ele seja maior que 2 mb. Há duas soluções que conheço, porém podem haver outras, a primeira é:

- Copie o arquivo "BancoImportado.sql" para o subdiretório "/bin" de onde está instalado o MySQL e abra o prompt de comando também neste mesmo subdiretório, então digite "mysql -uUsuario -pPassword -Dnomedatabase

Figura 15: Prompt com comando para importar dados para o MySQL.

Poderá ocorrer variações no código acima dependendo de como o seu MySQL foi instalado.

"-u","-p", e "-D" sao parâmetros do MySQL, respectivamente para usuário, password e Database.

A segunda solução é importar pelo próprio phpMyAdmin, conforme já explicado. Porém, a dica é vencer o limite de 2 mb por arquivo para upload. Para isso mude a seguinte linha no arquivo PHP.ini: "upload_max_filesize=2m" para "upload_max_filesize=8m". Desta forma o phpMyAdmin permitirá um upload (importação) de arquivos SQL com até 8 mb!


Figura 16: Linha para alterar no arquivo php.ini.


Figura 17: phpMyAdmin após alteração feita.

Bom, com isso finalizamos este artigo, que nos mostrou como instalar o WAMPServer, migrar o Joomla CMS e configurá-los em um servidor Windows Server 2003.

Obrigado!

Bibliografia

1. Joomla!. http://www.joomla.org/. Acesso em: 12 março 2008.
2. WAMP Server. http://www.wampserver.com/. Acesso em: 12 março 2008.
3. Apache. http://www.apache.org/. Acesso em: 17 março 2008.
4. PHP. http://www.php.net/. Acesso em: 17 março 2008.
5. MySQL. http://www.mysql.com/. Acesso em: 17 março 2008.
6. phpMyAdmin. http://www.phpmyadmin.net/. Acesso em: 17 março 2008.
Everton R. Silva

Everton R. Silva - O autor é bacharel em Comunicação Social e pós-graduando em Engenharia de Software. Trabalha na área de TI desde 1999 e é adepto de Metodologias Ágeis e Software Livre. O primeiro CD de sua banda Claviculas Voadoras esta disponível sob licença Creative Commons. Mantêm o blog Tconibo (www.tconibo.org).