микрозаймы онлайн займы на карту займы по паспорту

Laravel Iniciante – Hour Manager – Parte 2 16

E ai pessoal, como vão, empolgados?

Essa é a segunda parte da nossa série para iniciante em Laravel 5. Nesse episódio vamos configurar nosso Homestead e também criar o esqueleto inicial de nossa aplicação.

Configurando o Homestead

Vamos mapear nossa máquina virtual para que possamos acessar nossos projetos da nossa máquina real. Para isso primeiramente precisaremos configurar nossas chaves SSH.

Caso você já tenha criado suas chaves SSH pode pular para o próximo passo.

Chaves SSH

Para criar nossas chaves SSH usaremos o comando:

ssh-keygen -t rsa -C "seu@email.com"

Nas perguntas que seguirem podemos apenas apertar enter. Feito isso teremos um par de chaves localizados na pasta ~/.ssh.

O arquivo id_rsa é nossa chave privada, e deve ser mantida na nossa máquina. O arquivo id_rsa.pub é nossa chave pública, e servirá para compartilharmos em nossos projetos.

Criadas as chaves vamos então criar as nossas pastas.

Criando as pastas

Para organizar nosso projeto vamos criar uma pasta chamada Develpoment onde organizaremos nossos projetos (sim, haverão outros hehe :D).

Então para organização desses projetos vamos criar essa pasta:

mkdir ~/Development
mkdir ~/Development/HourManager

Criando os hosts fake

Para acessarmos nossa aplicação vamos utilizar um host fake que será redirecionado para dentro do nosso Homestead. Para isso basta adicionarmos a seguinte linha ao arquivo /etc/hosts.

192.168.10.10   hourmanager.app

Configurando o Homestead

Vamos editar o arquivo de configuração do homestead. Para isso basta editarmos o arquivo ~/.homestead/Homestead.yaml.

vim ~/.homestead/Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Development/HourManager
      to: /home/vagrant/HourManager

sites:
    - map: hourmanager.app
      to: /home/vagrant/HourManager/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

A diretiva folders indica as pastas que serão mapeadas da nossa máquina real para a nossa máquina virtual. No nosso caso estamos mapeando a pasta ~/Development/HourManager para a pasta /home/vagrant/HourManager dentro da VM.

A diretiva sites indica os hosts do nginx que serão criados na nossa máquina. Preciamos apontar os sites para a pasta pública da nossa aplicação. No caso do laravel, sempre a pasta public na raiz do projeto. Lembrando que o Homestead não serve apenas para aplicações Laravel, podemos colocar qualquer aplicação PHP dentro do Homestead.

Iniciando a VM

Feitas as configurações necessárias basta iniciarmos nossa VM com o comando:

homestead up

Se tudo correr bem, teremos nossa máquina virtual rodando. Para acessá-la utilizaremos o comando

homestead ssh

Para desligá-la basta sairmos dela e utilizarmos o comando:

homestead halt

Criando o projeto

Se você for ao seu browser preferido (recomendo Firefox para causar polêmica HAHAHAHA) e acessar a URL hourmanager.app você verá apenas uma mensagem de

File not found

Isso acontece porque não possuimos nenhum arquivo em nossa pasta. Vamos criar nosso projeto agora (\o/). Como já possuimos o composer instalado vamos criar o nosso projeto da nossa máquina real. Vamos gerar a aplicação na pasta que criamos no início do tutorial:

cd ~/Development/HourManager
composer create-project laravel/laravel --prefer-dist .

Esse comando irá iniciar uma nova aplicação Laravel na pasta atual. Após finalizado teremos uma aplicação novinha em folha.

Vamos novamente acessar nossa url hourmanager.app para ver o que acontece.

Nesse ponto devemos ter uma tela de boas vinda do Laravel para nós, indicando que começamos agora a construir código bonito e divertido. Parabéns, garanto a todos que essa é uma viagem sem volta HAHAHA.

Finalizando

Sei que todos devem estar ansiosos para programar, mas iremos continuar no próximo capítulo, onde iremos configurar nosso banco, criar nossos usuários e também verificar o formulário de login. Até breve (muito breve) pessoal.

  • Alberto Oliveira

    Bacana, mal posso esperar pela terceira parte.

    • Lukz

      Obrigado Alberto, parte 3 já está escrita, em breve já será publicada 😀

  • Jean Richard Lima

    Muito legal, porém mesmo depois de ter gerado o projeto continua dando “File not found” e eu entrei dentro da pasta de dentro da VM e os arquivos estão lá.
    Parabéns pelo tutorial!

    • Lukz

      Ola Jean. Confere no seu Homestead.yaml se na sessão sites o caminho da pasta esta correto. Caso tenha que mudar você deve iniciar a maquina usando homestead up –provision para ele gerar novamente os arquivos de configuração do nginx e os banco de dados.

      • Jean Richard Lima

        Então, o estranho é que está certo:

        sites:
        – map: hourmanager.app
        to: /home/vagrant/HourManager/public

        Conferi também se no hosts está certo e está pingando normalmente:

        $ping hourmanager.app

        PING hourmanager.app (192.168.10.10) 56(84) bytes of data.

        64 bytes from hourmanager.app (192.168.10.10): icmp_seq=1 ttl=64 time=0.218 ms
        64 bytes from hourmanager.app (192.168.10.10): icmp_seq=2 ttl=64 time=0.301 ms


        Então não to conseguindo entender o porque.
        O duro que o seu tutorial está ótimo e eu quero continuar a segui-lo.
        Obrigado pela resposta.
        Abraços.

        • Lukz

          Você conseguiu resolver esse problema Jean?

          • Jean Richard Lima

            Sim ,resolvi sim, agora tá blz. Valeu.

          • Bruno Henrique Souza

            Olá Jean,

            Estou com o mesmo problema que você. Você lembra qual o procedimento que seguiu para corrigir?

            Valeu!

          • Jean Richard Lima

            Não me lembro mais o que fiz na época, hoje uso a Digital Ocean e na minha opinião mesmo que não for em um servidor externo como a DO, o melhor é instalar tudo na mão. Eu sei que a maioria prefere a comodidade do Homestead, mas ao meu ver fica tudo meio engessado ao passo que configurando tudo, você tem tudo na sua mão.

  • Justina Peixoto

    Ola Gente! Poderiam me recomendar algum tutorial de ACL no Laravel?!

  • Lucas De Souza Alves

    onde encontro o etc/host.

  • Lucas De Souza Alves

    como edito uma chave ssh

  • Danilo

    Excelente tutorial Luks. Apenas uma pergunta. Fiz tudo que vc fez. Porém quando vou acessar a página na web aparece isso: No input file specified. O que pode ser isso?

  • Elias

    Muito legal, parabéns!

  • Regis Andrade

    Pessoal, não rodou o comando: homestead up, homestead: comando não encontrado
    Alguém podendo ajudar?

  • Edilson

    Essa sequência de tutoriais teve continuidade? alguém sabe dizer?