Laravel Homestead: ambiente para desenvolvimento PHP

Você pode também gostar de...

  • Passei aqui só para prestigia-lo !! Parabéns pelo trabalho top, sucesso hoje e sempre.

    • Muito obrigado pelo prestígio! =D Sucesso para nós!

  • paulopanissa

    Vedovelli, em ambiente de dev o Mail::send e queue funciona perfeitamente, quando dou deploy no DigitalOcean ele sempre da erro de connected time out #110? Pq será?

    • valmir

      Isso já aconteceu comigo.
      Por padrão a DigitalOcean, matem as portas de e-mail bloqueadas.
      Você tem que encaminhar um e-mail para eles, solicitando desbloqueio da porta.

      • Obrigado por ter respondido!

        • valmir

          magina!

  • muito bom vedovelli 🙂

  • valmir

    Muito bacana o vídeo, por coincidência estava ontem estudando isso.
    Minha dúvida é, como eu faço para para editar o template da homestead, para quando eu instalar ele já instalar outra programas juntos. Ex o ambiente android.
    A solução que achei foi criar 2 maquinas, mas queria unificar elas, você tem alguma idéia de como posso fazer, ou como posso pesquisar?

    • Infelizmente não sei lhe responder! Eu pesquisaria na documentação do Vagrant!

      • valmir

        Vou dar uma pesquisada, se achar algo posto aqui, vlw

    • Linces Marques

      Conseguiu achar a solução? Também to precisando.

      • valmir

        Não fui mais atrás, continuo trabalhando com 2 VMs.

  • Muito bem explicado! Parabéns!
    Só tenho uma dúvida. A idéia do Homestead no caso é para termos uma máquina virtual do virtualbox toda preparada para o ambiente de desenvolvimento, a minha dúvida é, eu terei que ter apenas uma máquina virtual e nela ter vários projetos ou para cada projeto eu terei que criar uma outra máquina virtual. No caso da 1a. opção, como eu faria para referenciar mais de um projeto no arquivo de configuração Homestead.yaml, ou é bobeira, posso deixar referenciado apenas uma e ir jogando no navegador /projeto/ ???

    • /projeto/ JAMAIS!!! =D

      No ~/.homestead/Homestead.yaml basta criar quantos hostnames forem necessários (ver imagem em anexo). Não se esqueça de adicionar os novos hosts no seu arquivo “hosts” do sistema operacional.

      Esta é uma configuração que é feita no web server (Apache, Nginx etc.). Para facilitar, o Homestead permite que se configure no arquivo yaml.

      o/

  • Muito bom o video e a explicação! Tenho 2 dúvidas, não sei se pode ajudar: 1- O homestead usa por padrão 2gb de memória, não seria mais leve rodar instalado no pc o nginx+PHP+MySQL? 2- Qual diferença de usar o Vagrant pra subir a máquina virtual, e não usar o script do LaravelHomestead pra subir a máquina(homestead up, homestad ssh, etc). Abs, valeu!

    • Bill, 1) isso é uma escolha pessoal. Pode até ser mais leve rodar tudo instalado na sua máquina, mas se perde em outros pontos (ver a parte do video na qual menciono as vantagens) 2) Isso eu explico no video! o/

      • Obrigado Fábio! Parabéns pelo video.
        Abraço!

  • Obrigado a todos os que comentaram: há tempos um post meu não recebia tanta atenção! =D Presente de Natal!

    • Bruno Sanches

      Reconhecimento merecido meu caro, me fez sentir vontade de estudar novamente, pretendo me inscrever no http://sites.code.education/v4-frameworks-2/. Há algum tempo tenho interesse em me aprofundar no Laravel, desde seus primeiros Sreencasts, agora com este seu último percebi que realmente valerá a pena! Novamente, muito obrigado por compartilhar conosco seu conhecimento.

      • É muito bom ver nomes conhecidos por aqui! =D

        • Bruno Sanches

          Valeu brother! Sorte e sucesso hoje e sempre.

  • Guest

    Para

  • Vedovelli, quando vi seu post na comunidade do Laravel, tive que vir conferir! Eu já conhecia seus screencasts quando procurava conteúdo para aprender Flex a uns anos atrás. (Ficou profissa hein? Agora tem musiquinha de fundo, abertura, efeitos..)

    Sua didática continua excelente! Eu já utilizo a um tempo o homestead e posso dizer que você abordou o assunto muito bem! Meus parabéns!

    • Ótimo feedback! Obrigado por acompanhar, desde láaaa atrás!

    • Digo o mesmo Jansen Felipe

  • ehmuidifici

    Vedovelli, tenho tido muitos problemas ao instalar o Homestead e infelizmente a documentação oficial tem deixado bastante a desejar. Pra você ter uma ideia, ao rodar o comando ‘homestead up’, recebo a mensagem de erro de socket do MySQL. Ao checar a VM, vejo que o mysql sequer está rodando como processo. Existem alguns relatos desse bug, mas não achei nenhuma resposta oficial sobre o problema. Sequer vi a resposta padrão ‘faça o downgrade porque essa versão está com um bug que será corrigido no próximo release’.

    A configuração do homestead.yaml é um mistério guardado debaixo do travesseiro. A gente é obrigado a ‘enfiar a mão na graxa’ pra poder entender/verificar se os serviços estão instalados, se estão gerando logs e etc. Tudo ainda parece muito cru ao meu ver. Porém, a idéia de uma VM para todos os projetos é boa.

    Mas parabéns pelo tutorial, ficou muito bom.

    • Linces Marques

      Qual seu SO, Windows? eu também tinha bastante dificuldade para colocar pra funcionar. Depois de muito estudo, tentativa e erro, etc. Consegui aprender a colocar pra funcionar, e entender os “por que’s” e como.. Fiz um pequeno roteiro só que somente para windows “o que não é muito diferente de outros SO´s, mas tem suas peculiaridades”, se precisar, avisa.

      • Osvaldino Neto

        opaaaa. to apanhando aqui tbm.. a intenção do vedodelli e outros eh muito boa…. mas os procedimentos em windows sempre da zica…pode disponibilizar esse seu roteiro ?? Obrigado.

      • Webmac Thiago Porto

        amigo poderia disponibilizar isso, não consigo levantar a homestead

  • Muito Bom 🙂

  • Xuan Cheng Lai

    Olá Flavio, porque quando eu inseri o comando “bash init.sh”, ele retornou a mensagem “Homestead initialized!”, mas não criou o arquivo “homestead.yaml” igual no video? Estou em ambiente Windows

    • ROMÁRIO ARAÚJO

      Foi criada uma pasta oculta no windows. Você verá que ela existe se, no próprio git bash, vc digitar: cd ~/.homestead

      • Raphael

        Eu também estou usando ambiente Windows e quando eu inseri “bash init.sh”, ele retornou uma mensagem dizendo que não foi encontrado arquivo no diretório. Como posso resolver esse problema?

  • Márlon Etiene

    Alguém poderia me informar se caso eu acessar o box do Homestead via putty por exemplo, fizer alterações, instalações e etc… Quando eu reiniciar o vagrant por algum motivo as alterações persistem ou são perdidas?

  • Muito bom artigo.
    Fico extasiado ao ver como os ambientes de desenvolvimento evoluíram nos últimos tempos. É como o Erko Bridee me fala todos os dias: “Vivemos numa época onde precisamos fazer mais, com menos”.

  • Leonardo Hipólito

    Segui todos os passos do vídeo porem não consigo acessar o site pelo navegador. A maquina sobe e os arquivos estão no homestead porem nada de acessar pelo browser. Sabe me dizer o que pode ser?

    • Vc acrescentou o host no hosts file da sua máquina?!

      • Leonardo Hipólito

        Sim,
        tentei tanto com o ip do localhost quando o da maquina virtual e nada.

        • Vitor Lima

          Configurou a chave .ssh?
          segue o comando: ssh-keygen -t rsa -C “[email protected]

  • Rodrigo V. Lagos Eustáquio

    Ved! Parabéns pelo video, assisto todos desde de quando comecei a escrever em PHP. Recentemente fiz o seu curso de AngularJS que por sinal foi fantástico. Pena que só consegui assistindo os videos gravados! Bom, no inicio vc já tinha o ambiente backend configurado com um homestead usando laravel e o frontend totalmente separado usando grunt p servir, estou com essa dúvida e não estou tendo sucesso na busca pela internet. Qual é forma melhor em termos de boas práticas para tem um backend num servidor e o frontend em outro, fiquei um pouco confuso com isso e tentei fazer e tive problemas para acessar o backend por conta de usar portas diferentes….. andei vendo o uso do Angular dentro da pasta public da app laravel, mas li que isso não é uma boa prática e ainda fica ruim de usar os excelentes recursos do grunt. E uma outra situação, depois da aplicação pronta para produção em uma rede local simples com um único server, qual é a melhor forma de publicação do backend (laravel) e frontend (AgnularJS)? Da para usar tudo junto com um Apache por exemplo?
    Abs

    • Rodrigo!! Obrigado pelo comentário!

      Essa é uma dúvida comum e que merece um screencast! Basicamente vc precisa implementar na sua app server side, seu web service, a liberação de CORS (http://enable-cors.org/). Isso vai resolver a comunicação entre portas (e domínio ou sub-domínios) diferentes. Se vc está usando Laravel, vc pode usar o excelente pacote do Barry VDH chamado Laravel-cors (https://github.com/barryvdh/laravel-cors). Acho que isso resolverá seu problema!

      • Rodrigo V. Lagos Eustáquio

        Obrigado pelo retorno! Sem querer exigir demais! rsrs…tem como passar aquele ambiente que vc usou para aula no caso o backend?
        Abs

        • A aula do curso de Angular?

          • Rodrigo V. Lagos Eustáquio

            Isso.

          • Rodrigo V. Lagos Eustáquio

            Show de bola! Vc está usando o Barry VDH e fez a mágica na rota App::before?? É mais ou menos por ai?

          • Acho que fiz na unha! Não me lembro. De qualquer forma minha solução funciona!

          • Rodrigo V. Lagos Eustáquio

            Tu usou o homestead do laravel?

          • SIM.

          • Rodrigo V. Lagos Eustáquio

            Ved! Tudo funcionando lindo! Vc é o cara! Aguardo ansiosamente pelos próximos screencasts e aulas.

          • Missão cumprida! =D

          • Rodrigo V. Lagos Eustáquio

            Caro amigo! vou lhe perturbar mais uma vez! Tudo está funcionando até que precisei pegar algo na session no backend, no caso alguma info do usuario logado, não estou conseguindo entender pq q sessao não se mantém, só funciona na primeira requisição, em qualquer próxima requisição a API a sessao já era! Me fiz entender?
            Obrigado pela ajuda desde já.

  • Marcus Vinicius Correa

    Boa tarde Fabio, possuo outro HD na minha maquina onde ficam meus arquivos de projeto, como eu direciono no Homestead.yaml para esse outro HD ??? Valeu…

  • Tallyson Chaves

    Vedovelli, primeiramente parabéns, aprendi muito com suas aulas. Mas estou tendo dificuldades em rodar a máquina virtual. Eu uso um ubuntu 14.02 32bits. Já rodei outras máquinas virtuais no VirtualBox para testar se meu processador é compatível com virtualização. E as máquinas rodaram de boa. Quando dou o comando “Vagrant Up” no diretório do Homestead, a máquina começa a ligar. Mas quando chega no “==> default: Waiting for machine to boot. This may take a few minutes…” fica dando o erro: “==> default: Waiting for machine to boot. This may take a few minutes…” e depois de um tempo aparece o erro: “Timed out while waiting for the machine to boot…” Não sei mais o que fazer. Já percorri um monte de fóruns, já li um monte de artigos (maioria em Inglês), já fiz inúmeros testes, já verifiquei minha BIOS para ver se estava habilitado e acabei descobrindo que ela nem tem esta opção (Tenho um dell Inspiron 1545R). Socorro… não tenho um Mac… rsrsrsrsrs. Segue imagem do erro… Abraços…

    • gersonroj

      Idem ! mesmo problema ! sem solução ! não gostei do Vagrant ! seria muito mais facil e util uma VM pronta pra rodar ! seria apenas baixar e rodar, pois essa historia de baixa uma coisa e depois outra pra instalar sempre da merda !

  • Lailson Matuszak

    Vendovelli, meus parabéns pelos seus posts, em especial aos relacionados ao Laravel, gostaria de saber de você caso possa me ajudar, ou qualquer outro, pois, na hora de usar o banco de dados aparece um erro assim [ErrorException] Undefined index: driver, bem não faço ideia, e já estou a algum tempo tentando solucionar e não consigo, talvez seja algo simples ou não, não tenho experiencia é o primeiro framework que me aventuro e achei muito interessante ainda mais, depois de ver seus posts, e também de varias outras pessoas nesse mesmo assunto, obrigado de qualquer forma, e agradeceria qualquer ajuda… sei que não e um forum nada assim, mas, preciso de ajuda!

  • Domicio

    Vedovelli, estou instalando laravel/homestead opção 1 = virtualbox, retorna está Provider: virtualbox Version: 0.4.1 o que fazer?

  • João Rodrigues

    Parabéns! Mandou super bem!

  • Raphael

    Vedovelli, boa tarde!

    Estou iniciando a instalação do Laravel Homestead, mas quando eu inseri o comando “bash init.sh”, ele retorna a mensagem “no such file or directory”.

  • Pingback: Links Úteis - Daniel Rodrigues - Daniel Rodrigues()

  • Leonardo Anselmo

    Meu brother!!! Quero te agradecer muito por esse screencast, foi perfeito, me ajudou e muito. Só tem uma coisinha no Homestead que é quando você executa o comando para copiar os arquivos de inicialização do mesmo: “~bash init.sh”, o homestead.yaml agora é criado na pasta Homestead como arquivo solto e não mais na pasta .homestead, fica a dica pra quem for ver o screencast. Obrigado e continua assim sempre!!!

  • RR InfoTech

    Muito bom, parabens