ToDoVel [Parte 25] Deploy Shared Host

Observação: Este tutorial refere-se ao Laravel-4-BETA, estando totalmente DESATUALIZADO para a versão atual. Muita coisa mudou no framework…

Nosso aplicativo está pronto.
Todo multi usuário, com segurança, com a beleza que só o Twitter Bootstrap pode nos fornecer.
Resta-nos colocá-lo no servidor para que todos os nossos amiguinhos possam utilizar a poderosa ferramenta que desenvolvemos.

Acredito que inicialmente ninguém vai desejar colocar o simples ToDoVel em uma mega máquina AWS.
Por isso, vou dar a dica de como colocar o nosso projeto em um simples servidor Shared.

Lembre-se dos requerimentos

Se você não lembra quais são os requerimentos para um servidor rodar Laravel, leia Iniciando o Projeto.
Vale ressaltar que durante o desenvolvimento desse projeto, em vários momentos, utilizei uma inovação da versão 5.4 do PHP chamada array short syntax.
Isso implica dizer que para criar um array existe uma forma mais simples e elegante.
Ao invés da maneira velha e feia:

A nova forma funciona mais legal assim:

Por causa disso, seu servidor precisará rodar na versão 5.4 do PHP, ou você irá precisar fazer algumas alterações no seu código.

Disponibilizando no Servidor

Como foi dito em ToDoVel [Parte 02], a pasta public do nosso projeto deve ser a raíz do site.
Devemos disponibilizar nosso aplicativo no servidor de forma que satisfaçamos esse requisito.
De acordo com esse guia de como colocar o Laravel em um servidor shared, existem três formas de fazermos isso.
A melhor opção é a segunda, colocarmos os arquivos do projeto no servidor, como faríamos normamente e criar um arquivo .htaccess que redirecione todas as requisições feitas no servidor para a pasta public.

Nota: você pode precisar conceder permissão de escrita e leitura na pasta app/storage.

Configurando o Aplicativo

Já dei uma leve pincelada no começo do projeto no quesito configuração.
Vale ressaltar a necessidade de configurar o arquiv app.php e o database.php.

ATENÇÃO: É extremamente importante que vocês configurem a diretiva key no arquivo de configuração app.php.
Na falta de criatividade, antes de enviar os arquivos para o servidor, execute o comando.

O Laravel irá preencher essa diretiva para você aleatoriamente.

Banco de Dados

Se seu servidor fornece acesso via SSH, basta acessá-lo e executar as migrações.
Porém, se seu servidor não fornece essa facilidade, é bronca.
Por hora, não há como executar as migrations em um servidor shared (bom, não que eu saiba).
Mas, se tratando de uma instalação, fazer isso funcionar é bem simples:
Crie um banco de dados local e execute as migrações nele.
Exporte o SQL gerado e utilize-o para criar o banco de dados no seu servidor.

Se der preguiça, segue o banco de dados do projeto:

Você pode ver o resultado do meu deplou em http://todovel.frenetic.com.br além de poder ver todo o código-fonte do projeto no GitHub:
https://github.com/frenetic/todovel

7 thoughts on “ToDoVel [Parte 25] Deploy Shared Host

  1. Olá,
    coloquei o mod_rewrite, dei Allowoveride All no diretorio do site, e utilizei o script que está descrito na página no .htaccess, porém quando abro com o navegador aparece erros como esse:

    Redirecionamento incorreto
    O Firefox detectou que o pedido para este endereço não será concluído devido à forma que o servidor o está redirecionando.

    1. Acho que você não precisava ter dado ALLOWOVERIDE ALL nas pastas do teu projeto.
      tenta remover isto para ver o que acontece.

      Apache é um mistério pra mim.
      Se não resolver, pergunta lá no forum do Laravel Brasil, que a galera lá manja mais que eu (forum.laravel.com.br)

  2. Não entendi muito bem essa parte de colocar a pasta app dentro de public. A pasta bootstrap e vendor também deve ser colocada. No mais fiz as devidas configurações porém quando executo no hostinger me retorna esse erro:
    There was an error with your request.500

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *