Preparando o sistema para o CakePHP no Debian Wheezy

E ai galera, aqui eu vou abordar a preparação do ambiente para receber o CakePHP.

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialwheezy_en para que não falte nenhum pacote ou configuração.

Para começar a trabalhar com o CakePHP precisamos obter ele utilizando o git.

Vamos mandar instalar o apache2 o php, MySQL e o git

aptitude install apache2 php5 php5-mysql php5-gd php5-mcrypt php5-cli mysql-server git -y

Agora precisamos obter o CakePHP

git clone git://github.com/cakephp/cakephp.git /var/www/cakephp

Agora vamos acessar a raiz do nosso cakephp e vamos instalar o módulo de debug.

cd /var/www/cakephp
git submodule add https://github.com/cakephp/debug_kit.git app/Plugin/DebugKit

Agora precisamos habilitar ele.

vim /var/www/cakephp/app/Config/bootstrap.php
[...]
#Inserir na linha 72 o conteúdo abaixo
CakePlugin::load('DebugKit'); //Loads a single plugin named DebugKit
[...]

Agora precisamos ajustar o salt e o cipherseed para o CakePHP

vim /var/www/cakephp/app/Config/core.php
[...]
#Agora podemos deixar a linha 225 como abaixo.
        Configure::write('Security.salt', 'XYhG93b0qyKfIxfs2guVoUubCwvniT2G0PgaC9mi');
[...]
#Agora podemos deixar a linha 230 como abaixo  
        Configure::write('Security.cipherSeed', '23759304687453545646749258645');

Agora vamos ajustar a configuração do Banco de dados vamos criar um banco de dados e um usuário para o nosso cakephp

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.38-0+wheezy1 (Debian)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database cakephp;
Query OK, 1 row affected (0.01 sec)

mysql> grant all privileges on cakephp.* to cakephp@localhost identified by 'cakephp';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Agora precisamos criar a configuração para o nosso CakePHP conseguir se conectar no banco de dados.

vim /var/www/cakephp/app/Config/database.php
class DATABASE_CONFIG {

        public $default = array(
                'datasource' => 'Database/Mysql',
                'persistent' => false,
                'host' => 'localhost',
                'login' => 'cakephp',
                'password' => 'cakephp',
                'database' => 'cakephp',
                'prefix' => '',
                'encoding' => 'utf8',
        );
}

Agora precisamos preparar um virtualhost para o nosso Apache

vim /etc/apache2/sites-available/cakephp
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName cakephp.douglas.lan
  DocumentRoot /var/www/cakephp
  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>
  <Directory /var/www/cakephp>
    Options -Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
  ErrorLog /var/log/apache2/cakephp-error.log
  LogLevel warn
  CustomLog /var/log/apache2/cakephp-access.log combined
</VirtualHost>

Agora vamos desativar o virtualhost default do apache

a2dissite default

Agora vamos ativar o nosso novo virtualhost

a2ensite cakephp

Agora precisamos habilitar o módulo rewrite

a2enmod rewrite

Agora vamos ajustar as permissões do cakephp

chown -R www-data:www-data /var/www/cakephp

Agora vamos reiniciar o apache para ele reconhecer a nova configuração.

/etc/init.d/apache2 restart

Agora já podemos acessar o nosso zend em http://ip_do_servidor ou http://cakephp.douglas.lan se você configurou o dns.

Se tudo funcionou vamos ter a seguinte tela.

Agora se tentarmos acessar alguma página inválida vamos ter a seguinte tela.

Referências