Neste artigo irei explicar como realizar a publicação de uma aplicação desenvolvida em Laravel em um servidor Linux compartilhado (neste caso utilizarei como exemplo a hospedagem compartilhada da GoDaddy). Iremos realizar o upload da aplicação para o Github, configurar o acesso ssh no servidor Linux compartilhado, criar os dados de acesso a banco de dados e o banco de dados em si.

Como já é de nosso conhecimento, o Laravel é um dos frameworks PHP mais utilizados no mundo. Além de ter uma curva de aprendizado extremamente simples, com pouquíssimo tempo de estudo, já conseguimos sair programando e fazendo coisas bem legais.

Versionando a aplicação no Github

Como primeiro passo, devemos realizar o versionamento da nossa aplicação no Github. Para isto, você deve possuir uma conta no Github, caso não tenha ainda, você pode dar uma conferida neste ótimo artigo (http://tableless.com.br/tudo-que-voce-queria-saber-sobre-git-e-github-mas-tinha-vergonha-de-perguntar/). Após ter a sua conta criada no Github e o Git instalado na sua máquina local, acesse o https://github.com/ e crie um repositório para armazenar os seus código-fonte da aplicação.

img_001

img_002

Após ter o seu repositório criado, vamos referenciar o seu código-fonte com o repositório do Github. Para tal, acesse o seu repositório criado e copie a https origin.

img_003

Após ter a url em mãos, acesse a pasta (na sua máquina local) onde a sua aplicação se encontra e digite os seguintes comandos:

  • git init
  • git remote add origin <url_do_seu_repositorio>
  • git add .
  • git commit -m “commit inicial”
  • git push -u origin master

 

Configurando o acesso SSH

Agora que o seu código-fonte já está no Github, vamos configurar o acesso ssh entre a sua máquina e o servidor Linux compartilhado. Para tal, acesse https://sso.godaddy.com , se autentique, acesse os dados da sua conta, clique no botão ‘Administrar’ do item ‘Hospedagem de sites’ e clique no botão ‘Gerenciar’ da sua hospedagem.

img_004

img_005

Clique no item ‘Acesso SSH’ da seção ‘Segurança’

img_006

Clique em ‘Ativar’

img_007

Clique em ‘Gerenciar chaves do SSH’

img_008

Caso você não saiba como gerar uma chave SSH, recomendo este artigo (https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH)

Clique em ‘Importar chave’ e preencha os campos com a sua chave privada e com a sua chave pública

img_009

Após importar as chaves, você deve autorizar a sua chave pública, para tal, clique no link ‘Gerenciar’ presente na coluna ‘Ações’ da sua chave pública e clique no botão ‘Authorize’

img_010

Feito isso, já estamos com o nosso código versionado no Github e o acesso ssh configurado.

 

Acessando o servidor compartilhado

Agora vamos acessar o servidor Linux compartilhado via SSH, se você utiliza Windows, recomendo utilizar o Putty (http://www.putty.org/), já se você utiliza alguma distribuição Linux, você pode utilizar o terminal nativo. Após abrir o seu cliente que será utilizado para conectar via SSH no servidor Linux compartilhado, digite a seguinte linha de comando e confirme a chave:

  • ssh <seu_usuario>@<seu_dominio_que_esta_apontando_para_a_hospedagem>

img_011

 

Clonando o repositório

Feito isso, já estamos dentro do servidor Linux compartilhado, portanto, navegue até a pasta ‘public_html’ e digite o seguinte comando:

  • git clone <url_do_seu_repositorio_no_github>

img_012

 

Instalando dependências

Após clonar o seu repositório, navegue até o mesmo e execute o seguinte comando para instalar todas as dependências do Laravel Framework:

  • composer install

img_013

 

Criando arquivo de configuração e gerando chave da aplicação

Aproveite para já criar o seu arquivo .env da sua aplicação:

  • cp .env.example .env

img_014

E crie a chave da sua aplicação:

  • php artisan key:generateimg_015

Configurando domínio

Agora vamos configurar o nosso domínio para que quando ele seja acessado, o document raiz (document root) esteja correto. Para tal, vamos acessar novamente a hospedagem da Godaddy e acesse o painel do Cpanel. Na seção ‘Domínios’, clique na opção ‘Domínios de complementos’.

img_016

Caso o domínio não apareça na listagem, crie-o e edite o document raiz para “/public_html/<nome_pasta_da_sua_aplicacao>/public”

img_017

Como exemplo criei um subdomínio, mas para domínios base, o processo é exatamente o mesmo (como mostrado na imagem abaixo)

img_018

Feito isso, se a sua aplicação não trabalhar com banco de dados, a mesma já poderá ser acessada.

 

Banco de dados

Agora vamos criar as credenciais de acesso ao banco de dados, configurar estas credenciais no nosso arquivo .env e criar o nosso banco de dados.

Primeiro vamos criar as nossas credenciais de acesso e o banco de dados. Para tal, acesse o Cpanel da sua hospedagem e clique no item ‘Bancos de dados MySQL’ da seção ‘Bancos de Dados’

img_019

Preencha o campo ‘Novo banco de dados’ com o nome do seu banco de dados e clique em ‘Criar banco de dados’

img_020

Após, crie o seu usuário para acessar o banco de dados

img_021

Feito isso, associe o seu usuário ao seu banco de dados (para que o mesmo tenha permissões de leitura/escrita no banco de dados)
img_022

img_023

 

Criando tabelas no banco de dados

Agora vamos atualizar o nosso arquivo .env com as credenciais de acesso ao banco de dados. Para tal, volte ao terminal, abra o arquivo .env

img_024

Preencha os dados de acesso ao banco de dados conforme o exemplo abaixo e o salve:

img_025

Após isto, basta executar o seguinte comando para criar as nossas tabelas no banco de dados:

  • php artisan migrate

img_026

 

img_027

Seguindo este tutorial, você conseguirá colocar no ar a sua aplicação desenvolvida em Laravel em um servidor Linux compartilhado. Tal qual explicado neste tutorial, você pode notar o quanto simples é além de realizar a parte de desenvolvimento em Laravel, realizar a hospedagem de um projeto em Laravel em um servidor compartilhado, poupando assim alguns trocos no momento da contratação de um serviço de hospedagem.

Autor: Bruno Marsilio

Referências

  • https://laravel.com/docs/5.3
  • http://www.putty.org/
  • https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH
  • https://sso.godaddy.com
  • http://tableless.com.br/tudo-que-voce-queria-saber-sobre-git-e-github-mas-tinha-vergonha-de-perguntar/
  • https://github.com/