Академический Документы
Профессиональный Документы
Культура Документы
Est disponvel um disco virtual que podero carregar numa virtual machine com o Virtual Box. Este disco ser o resultado do que vai sendo dito neste documento.
Criao da VM
No vou aqui explicar como configurar a virtual machine, no considero que seja relevante para o artigo actual. Poderei mais tarde faz-lo, mas como o Ubuntu to simples de instalar no vejo razo para o fazer. Dados dos utilizadores Linux na VM: User: phpdev Password: phpdev01! User: root Password: root01!
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Agora fao um simples sudo reboot para reiniciar a mquina e ver como se comporta no arranque. Aps o arranque vamos ver se j temos servidor HTTP. E c est ele.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Aps a instalao vai ser solicitada a password para o user root. Vai ser: mysqlroot01! (importante lembrar mais tarde)
No sei se so como eu, mas por norma gosto de reiniciar a mquina sempre que instalo uma aplicao mais importante, nomeadamente aquelas que criam servios. Sendo este um componente essencial no nosso ambiente de desenvolvimento em PHP vou reiniciar a mquina neste momento. Mais uma vez sudo reboot.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Neste momento j temos o MySQL instalado. Mais frente voltaremos ao MySQL, vamos agora ao PHP.
Instalar o PHP 5
J estamos perto do estado final do nosso ambiente de desenvolvimento (ou no...). No podemos ter um ambiente de desenvolvimento PHP sem termos o PHP instalado, por isso:
OK! Neste momento j temos a coisa mais ou menos orientada. Vamos s ver o que nos diz o Apache. Vamos s primeiro reiniciar o Apache.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Ponto de situao neste momento: Temos Linux Temos Apache 2 Temos MySQL 5 Temos PHP 5.3
Vamos ento avanar para o Debug. Conseguimos fazer cdigo mas ainda no conseguimos fazer debug desse cdigo.
phpdev@phpdevserver:/$ cd /home/phpdev/Downloads/ phpdev@phpdevserver:~/Downloads$ mkdir xdebug phpdev@phpdevserver:~/Downloads$ tar zxvf xdebug-2.1.0.tgz -C xdebug
OK. Neste momento temos o contedo do ficheiro dentro da pasta xdebug. Vamos agora entrar nesta.
phpdev@phpdevserver:~/Downloads$ cd xdebug/xdebug-2.1.0/
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Vamos agora preparar o ambiente de compilao para a nossa extenso PHP. E para tal utilizamos o phpize
E agora s compilar. Com o trio: configure, make, make install :D Chamada de ateno para o enable-xdebug
:~/Downloads/xdebug/xdebug-2.1.0$ sudo ./configure --enable-xdebug :~/Downloads/xdebug/xdebug-2.1.0$ sudo make :~/Downloads/xdebug/xdebug-2.1.0$ sudo make install
Neste momento j temos o Xdebug. Temos s que informar o PHP que tem o Xdebug. Abrimos o php.ini
xdebug.remote_enable=On
xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_handler="dbgp"
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Na configurao anterior no utilizei o nano mas sim o gEdit, por duas razes. Primeiro para no parecer que o Linux s linha de comandos, e segundo e mais importante, porque sou perguioso e o gEdit mais amigvel para os perguiosos :P
Depois de fazer-mos novamente o sudo apache2ctl restart vemos o resultado das nossas configuraes.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
Bem parece que estamos encaminhados! Vamos s configurar o xdebug tambm para PHP CLI. exactamente como anteriormente, apenas muda o caminho para o PHP.INI.
As linhas que colocamos no PHP.INI so exactamente as mesmas do anterior, at podem fazer como eu fiz. Abri outra consola e fiz : gedit /etc/php5/apache2/php.ini e depois copy paste de um para o outro.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
10
phpdev@phpdevserver:~/Downloads/xdebug/xdebug-2.1.0$ php -m
E dever surgir [Zend Modules] Xdebug OK! Temos o Xdebug a funcionar... pensamos ns, mas estar mesmo? Poderamos instalar j o nosso IDE e ver se a coisa funcionava. aqui que o pessoal normalmente se espalha. Vamos primeiro ter a certeza que o Xdebug est 100% operacional e s depois instalamos o NetBeans. No vamos querer dizer que a culpa de no termos debug do NetBeans sem que seja mesmo, no ?! Existe uma ferramenta que vem no Xdebug para lhe fazer os testes apartir da consola, o debugclient. Antes de compilar o debugclient, vamos s buscar umas libs que so precisas.
Fig. 12: instalao das libs: libedit-dev libedit2, necessrias para compilao do DebugClient
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
11
:~/Downloads/xdebug/xdebug-2.1.0$ cd debugclient :~/Downloads/xdebug/xdebug-2.1.0/debugclient$ sudo ./configure --withlibedit :~/Downloads/xdebug/xdebug-2.1.0/debugclient$ sudo make :~/Downloads/xdebug/xdebug-2.1.0/debugclient$ sudo make install
Temos debugclient. Agora vamos test-lo. Para testar o debugclient e a comunio com o Xdebug teremos que simular uma chamada. Vamos ter ento dois terminais. Um que corre o debugclient e recebe a sesso de debug, e um outro que inicia o pedido PHP. No terminal 1 colocamos:
phpdev@phpdevserver:/$ debugclient
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
12
Bem parece que temos o Xdebug a funcionar correctamente. Avanamos agora para o IDE. O grande NetBeans. :D
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
13
Eu vou fazer apenas da verso PHP, no entanto podem ir pgina de downloads e escolher outro bundle. Depois do download:
Se tentarmos instalar neste momento receberemos um erro a informar da inexistncia de JDK na nossa mquina Linux. Vamos antes de mais instalar o JDK e depois sim correr o instalador do NetBeans.
Depois da linha de comandos anterior surgir um instalador grfico muito simples de utilizar, sempre Next e Install :D ah! E concordar com a licena. E pronto j temos o NetBeans 6.9.1 instalado. Agora s testar o desenvolvimento PHP e o respectivo debug com o Xdebug. Vamos garantir que o nosso utilizador consegue criar pastas e ficheiros dentro da pasta /var/www e sub-pastas destas e que consegue alterar os ficheiros nelas contidos.
phpdev@phpdevserver:~$ sudo usermod -a -G www-data phpdev phpdev@phpdevserver:~$ sudo chgrp -R www-data /var/www phpdev@phpdevserver:~$ sudo chmod -R g+w /var/www phpdev@phpdevserver:~$ sudo find /var/www -type d -exec chmod 2775 {} \; phpdev@phpdevserver:~$ sudo find /var/www -type f -exec chmod ug+rw {} \;
Vamos s fazer logout e login para assumir a alterao aos grupos. Agora que j conseguimos criar pastas e ficheiros no nosso servidor vamos criar o nosso primeiro projecto no NetBeans e testar o ambiente de desenvolvimento PHP.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
14
Para verificar se o ambiente est operacional vamos fazer um simples Ol mundo! e verificar que conseguimos efectuar debugging na nossa aplicao. Como acima j estabelecemos as permisses necessrias para o nosso utilizador de desenvolvimento conseguir manipular a pasta www, vamos criar nesta uma pasta OlaMundo.
J a temos, vamos agora criar um novo projecto. O passo acima no totalmente necessrio, mas serviu tambm para confirmar que efectivamente as nossas permisses estavam garantidas. Os passos para criar o OlaMundo:
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
15
Vou apenas deixar os print, no me vou extender a explicar os passos todos para a criao de um projecto NetBeans. Mais tarde, quem sabe... Aps a criao do projecto, criamos um novo ficheiro PHP. Este ficheiro tem um contedo muito simples, afinal no queremos desenvolver uma aplicao, queremos validar primeiro o nosso ambiente de desenvolvimento.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
16
Vamos agora fazer debug da aplicao. Com um breakpoint num ponto de paragem, iniciamos o Debug como mostra a seguinte imagem:
Rapidamente abre o Firefox e o NetBeans apanha o inicio da sesso de Debug e para logo na primeira linha.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
17
Bem as coisas parecem estar encaminhadas. Vamos s ver se conseguimos ver os valores de variveis...
E como podemos ver est tudo a funcionar correctamente :D J temos o NetBeans a funcionar como deve ser. Temos o MySQLServer, PHP, Apache... bem estamos prontos! No! Ainda no terminmos de criar o nosso ambiente. Se fossemos tentar ligar base de dados MySQL neste momento no conseguiramos apartir do PHP. E tambm no conseguimos ligar a uma SQLite. Assim vamos j adicionar o suporte para estes drivers, do sempre jeito, sendo o MySQL quase essencial.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
18
Fazemos:
E pronto estamos finalmente preparados! Vou s instalar o phpMyAdmin, gosto de o ter por perto, h quem prefira o WorkBench o qual aconselho para a criao do modelo de dados de raiz, mas para j vou s instalar o
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
19
phpMyAdmin, parece-me que se enquadre melhor com este pequeno manual, sendo esta uma aplicao Web podemos instal-la no nosso servidor partilhado.
Este ficheiro tem no seu interior uma pasta, descompacto o contedo desta para /var/www/phpMyAdmin. (tive que criar a pasta mkdir /var/www/phpMyAdmin) Entrando no http://localhost/phpMyAdmin/ damos de caras logo com um problema.
sudo apt-get install php5-mcrypt e sudo apache2ctl restart e fica o problema resolvido.
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin
20
Vamos que posso dizer, para comear a trabalhar j est! :D Entramos com o nosso user: root / mysqlroot01! (ainda se lembravam desta password, certo?!)
Concluso
Desta forma termina este pequeno manual. A mquina virtual vai ficar disponvel online para download e execuo imediata. Vai ficar no formato *.vdi, disco virtual para o VirtuaBox. Resumo da minha mquina:
Rui Lima : http://www.RuiLima.com : Cdigo aberto PHP NetBeans Xdebug Apache 2 MySQL myAdmin