Vagrant, PuPHPet E PHP Built In

Categorias: desenvolvimento, php

Fala pessoal.
Hoje trago uma dica simples, talvez sem uma utilidade de pronto, mas que pode ser interessante para algum estudo.

O que é Vagrant?
Para quem ainda não conhece, Vagrant é uma ferramenta que vem revolucionando os ambientes de desenvolvimento.
Se você ainda não sabe nada sobre essa ferramenta, confira o post que escrevi aqui no blog: http://flaviosilveira.com/2012/vagrant-facil-e-util/.

Alguns pontos do Vagrant:
– Com o Vagrant você não precisa instalar apache e outras ferramentas e poluir sua máquina.
– Você pode criar uma máquina virtual para cada projeto e com isso ter uma versão igual ao seu servidor de produção, com a mesma versão de PHP, de MySQL e etc.
Com isso acaba aquela desculpa de “Na minha máquina funciona!”.
– Com o Vagrant você pode distribuir o mesmo ambiente para todo seu time de desenvolvimento, evitando funcionamentos diferentes entre pessoas do mesmo time.
– Muito mais.

PuPHPet: Arquivos puppet
Com arquivos puppet (.pp) você pode definir pacotes, programas e extensões a serem instaladas na sua máquina virtual.
Geralmente são coisas complicadas e sempre acaba surgindo um problema quando são feitos esses arquivos na mão.

Felizmente surge o PuPHPet https://puphpet.com/, uma ferramenta online que cria o puppet para você. Você seleciona tudo o que você quer, incluindo pacotes PEAR, pacotes PECL, etc.
Permite também setar o XDebug, timezone, escolher versão do PHP, do MySQL, incluir o composer, muito mais.

Dê uma atenção especial na opção BOX IP Address. Nesse campo você define o ip da sua máquina virtual.
É esse IP que você vai digitar no browser da sua máquina e acessar o seu projeto.
Por padrão o PuPHPet traz o IP 192.168.56.101.

O que é PHP Built In?
Com a versão 5.4, o PHP trouxe uma novidade para os ambientes de desenvolvimento. O PHP Buitl In.
É um web server rodando direto em cima do PHP, mas apenas com propósitos de desenvolvimento.
Com um simples comando você define a porta da onde quer rodar o servidor, e pronto. Sem precisar de Apache, NGinx ou o que for.
Uma coisa rápida para testar seu projeto. Veja detalhes na documentação: http://www.php.net/manual/pt_BR/features.commandline.webserver.php

Mãos a Obra
Instale a versão mais recente do Vagrant acessando a página de downloads em http://downloads.vagrantup.com/.
Uma dica é ter instalado o Virtual Box para que tudo corra bem. A instalação não tem segredos.

Um segundo passo é configurar a sua máquina com a ajuda do PuPHPet https://puphpet.com/.
Escolha no mínimo uma versão 5.4 do PHP. Faça o download do arquivo e posicione onde melhor julgar na sua máquina.

Via console, acesse essa pasta e vamos subir a sua máquina virtual com o seguinte comando:

vagrant up

Esse comando irá fazer o download de tudo que você selecionou de configuração via PuPHPet e deixar a máquina online para você.
Ao final da configuração, você já é capaz de acessar a sua máquina via porta 80 por exemplo, digite em seu navegador o ip que foi setado no campo BOX IP Address no PuPHPet.

Mas que tal testar essa funcionalidade que veio com o PHP 5.4? Vamos colocar o PHP Built In para rodar.
Vamos acessar sua máquina virtual via ssh, com o seguinte comando:

vagrant ssh

Caso você precise do root para qualquer coisa, basta colocar um sudo na frente do que precisar.

Vamos configurar um pequeno projeto PHP apenas para ocasião de teste. Por exemplo:

cd /var/www
mkdir teste
cd teste

Dentro dessa pasta teste que criamos, crie um arquivo PHP simples, com um echo por exemplo.

Você será capaz de acessar isso digitando seu BOX IP/teste, mas, para testar o PHP Built In, entre com o seguinte comando:

sudo php -S 192.168.56.101:8080

Não esqueça de substituir 192.168.56.101 pelo seu BOX IP.
8080 é a porta que escolhemos aqui. Você pode definir a porta que quiser, com exceção das que já estão em uso.
** Qualquer comando executado nessa mesma janela, ou um ctrl+c irá derrubar o server.

Pronto, o PHP Built In está escutando na porta definida.
Você pode conferir isso abrindo um outro terminal e consultando os listenings com o comando:

netstat -ln

Lembrando que esse comando pode variar de acordo com a distribuição que você selecionou na sua BOX.

Pronto. Você pode acessar do seu browser o seu BOX IP:PORTA e acessar o seu projeto diretamente, sem barras nem nada.
Aqui eu acessei http://192.168.56.101:8080/.

Resumindo
Escrevi esse post apenas como curiosidade. Sei que ele pode não ter nenhuma aplicação prática, mas de repente é uma para o pessoal conhecer o PHP Built In e ver até onde ele vai e porque ele está apenas disponível para desenvolvimento.

Grande Abraço!


Comments