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 10: Parâmetro a editar do arquivo config.inc.php.
Conforme mostrado na figura acima, troque as linhas:
[i]Order Deny,Allow
Deny from all
Allow from 127.0.0.1[/i]
Por:
[i]Order Allow,Deny
Allow from all[/i]
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 < BancoImportado.sql”.
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.