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.
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.
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.
Clique no item ‘Acesso SSH’ da seção ‘Segurança’
Clique em ‘Ativar’
Clique em ‘Gerenciar chaves do SSH’
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
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’
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>
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>
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
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
E crie a chave da sua aplicação:
- php artisan key:generate
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’.
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”
Como exemplo criei um subdomínio, mas para domínios base, o processo é exatamente o mesmo (como mostrado na imagem abaixo)
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’
Preencha o campo ‘Novo banco de dados’ com o nome do seu banco de dados e clique em ‘Criar banco de dados’
Após, crie o seu usuário para acessar o banco de dados
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)
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
Preencha os dados de acesso ao banco de dados conforme o exemplo abaixo e o salve:
Após isto, basta executar o seguinte comando para criar as nossas tabelas no banco de dados:
- php artisan migrate
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/