Skip to content

Instantly share code, notes, and snippets.

@Sigmus
Created May 21, 2014 19:13
Show Gist options
  • Save Sigmus/c8468c58e3ae30781c62 to your computer and use it in GitHub Desktop.
Save Sigmus/c8468c58e3ae30781c62 to your computer and use it in GitHub Desktop.
Instalando Laravel 4.1 sem composer

Requisitos mínimos

  • mod_rewrite do Apache
  • PHP >= 5.3.7
  • MCrypt PHP Extension
  • MySQL 5 com PDO_MYSQL

Passos

1. Copie toda a estrutura do app para um diretório

Dê checkout do projeto em um diretório adequado do seu servidor. Vamos considerar este diretório como /projeto no restante deste tutorial.

2. Configure um VirtualHost apontando para o diretório /projeto/public.

Atenção neste passo: É um erro muito comum a configuração do servidor apontando para /projeto ou /projeto/app. A pasta correta (que será a raiz do que é acessado pelo navegador) é /projeto/public.

3. Edite o arquivo /projeto/bootstrap/start.php

Na bloco de código que começa com $env = $app->detectEnvironment será necessário criar um novo ambiente (enviroment). Ambientes permitem que o mesmo código possa ser executado em servidores diferentes (teste, homologação, produção, etc). O que define um ambiente é da máquina onde ele roda. Acesse a linha de comando e digite hostname. O nome retornado (funciona em ambientes Linux, Mac e Windows) é o que será utilizado na configuração:

$env = $app->detectEnvironment(array(
  'ambiente_exemplo' => array('maquina_exemplo'),
));

Importante: somente adicione items neste array, não apague ou modifique outros ambientes previamente cadastrados (a não ser que você saiba exatamente o que está fazendo).

4. Crie e configure o banco de dados

A configuração do Laravel funciona da seguinte maneira:

  1. Todos os arquivos localizados em /projeto/app/config são lidos e computados
  2. O enviroment é detectado pelo nome da máquina (configurado no passo anterior)
  3. Todos os arquvios do diretório /projeto/app/config/ambiente_exemplo são lidos. As configurações novas são incluídas. Se houver coincidência de chaves (como vai ocorrer com o banco de dados) estas configurações serão vão sobrepor as anteriores (gerais).

Portanto, é necessário criar /projeto/app/config/ambiente_exemplo/database.php com as configurações do banco de dados deste ambiente:

array( 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'projeto', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), ), ); Repare que não é necessário repetir o ``/projeto/app/config/database.php``inteiro, somente o que é específico do ambiente. ### 7. Crie e dê permissão de escrita em /projeto/app/storage O projeto gera uma série de arquivos como logs, cache, sessões, etc, e precisa ter permissão de escrita para fazê-lo. Certifique-se que o usuário que controla o PHP consiga escrever em ``/projeto/app/storage`` e todos os subdiretórios dentro deste. Crie os seguintes diretórios, também com permissão de escrita: /projeto/app/storage/cache /projeto/app/storage/logs /projeto/app/storage/meta /projeto/app/storage/sessions /projeto/app/storage/views
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment