- PHP >= 5.3.7
- MCrypt PHP Extension
- MySQL 5 com PDO_MYSQL
- Composer (package manager)
Dê checkout do projeto em um diretório adequado do seu servidor. Vamos considerar este diretório como /projeto no restante deste tutorial.
Composer é um instalador de pacotes do PHP. Acesse http://getcomposer.php e siga as instruções para o seu sistema operacional.
Na pasta raiz (/projeto) digite composer install
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
.
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).
A configuração do Laravel funciona da seguinte maneira:
- Todos os arquivos localizados em
/projeto/app/config
são lidos e computados - O enviroment é detectado pelo nome da máquina (configurado no passo anterior)
- 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:
<?php
return array(
'connections' => 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.
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