PHP: Configurando um Ambiente de Desenvolvimento PHP/CakePHP no Linux

Neste artigo descrevo como realizar um configurar um ambiente de desenvolvimento PHP, em uma estacão Linux. Vamos configurar também o Framework CakePHP

Para configurarmos nosso ambiente vamos precisar dos seguintes itens:


 * Apache 2
 * PHP 5
 * MySql Server
 * Biblioteca php5-mysql

Usando o usuário root, no meu Fedora Linux.

= Instalando o pacotes =

Instalar os pacotes:

yum -y install httpd mysql mysql-server php php-mysql

= Configurado o HTTP Server =

Configurado o httpd
Inicie o servidor

systemctl start httpd.service systemctl enable httpd.service

Validando o HTTP Server e o PHP
Crie um arquivo php


 * 1) vi /var/www/html/teste.php

e adicione o seguinte



Salve e feche o arquivo

Com um navegador acesse o seu servidor

http://localhost

e teste o php

http://localhost/teste.php

Configurado o http para meu usuário
Configurado o http para meu usuário

vi /etc/httpd/conf.d/userdir.conf

remova a linha

UserDir disabled

Salve e feche o arquivo. Reinicie o apache

systemctl restart httpd.service

Testando para o usuario
Criar o diretório

mkdir -p /home/usuario/public_html

Criando o arquivo

vi /home/usuario/public_html/index.html

adicione as seguintes linhas

Funcionou!!1

salve e feche o arquivo

Com um navegador acesse o seu servidor

http://localhost/ ~usuario/

= Configurado o MySQL =

Obs.: Você pode ter mais detalhes aqui MySQL:Configurando o MySQL

Inicie o servidor

systemctl start mysqld.service systemctl enable mysqld.service

Obs.:

Se não existir o mysqld.service, fazer o seguinte:

vi /etc/systemd/system/mysqld.service

e adicione

[Unit] Description=MySQL Server After=network.target [Service] ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock User=mysql Group=mysql WorkingDirectory=/usr [Install] WantedBy=multi-user.target

Salve e feche o arquivo depois execute o comando

systemctl daemon-reload

Configure a segurança

/usr/bin/mysql_secure_installation

Aceite os valores default, e coloque uma senha para o root.

Criando as databases para o CakePHP
mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 5 Server version: 5.5.34-MariaDB MariaDB Server Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Criando a default

MariaDB [(none)]> CREATE DATABASE default_cake_db; Query OK, 1 row affected (0.04 sec)

Criando a de test MariaDB [(none)]> CREATE DATABASE test_cake_db; Query OK, 1 row affected (0.00 sec)

= Configurando o CakePHP =

Descompactando o CakePHP
Faca o download do cakephp e descompacte o arquivo no diretório do usuário

cd /home/usuario/public_html unzip /tmp/cakephp-cakephp-2.4.5-0-g9b4c2f3.zip mv cakephp-cakephp-b47d357/ cakephp/

Configurando para o diretório do usuário
Para executar o usuário, alterar o diretório base.

vi cakephp/.htaccess

Adicionar

RewriteBase /~usuario/cakephp/

Exemplo:

  RewriteEngine on   RewriteBase /~usuario/cakephp/ RewriteRule   ^$ app/webroot/    [L] RewriteRule   (.*) app/webroot/$1 [L] 

Fazer o mesmo para os demais

vi cakephp/app/.htaccess

Adicionar

RewriteBase /~usuario/cakephp/app/

Fazer o mesmo para os demais

vi cakephp/app/webroot/.htaccess

Adicionar

RewriteBase /~usuario/cakephp/app/webroot/

Ajustando o timezone
Editar o arquivo

vi /home/usuario/public_html/cakephp/app/Config/core.php

Alterar a linha

//date_default_timezone_set('UTC');

para

date_default_timezone_set('America/Sao_Paulo');

Salve e feche o arquivo

Ajustando o Security.salt e Security.cipherSeed
Gere uma string randomica

MzYwYmRmMzUzODIyODBjMjc3MDYyMDg5 2244647735284905218
 * 1) date +%s | sha256sum | base64 | head -c 32 ; echo
 * 1) od -vAn -N8 -tu8 < /dev/urandom

Editar o arquivo

vi /home/usuario/public_html/cakephp/app/Config/core.php

Alterar a linha

Configure::write('Security.salt', 'MzYwYmRmMzUzODIyODBjMjc3MDYyMDg5')

Alterar a linha

Configure::write('Security.cipherSeed', '2244647735284905218');

Salve e feche o arquivo

Alterando o Timezone
Editar o arquivo

vi /home/usuario/public_html/cakephp/app/Config/core.php

Alterar a linha

//date_default_timezone_set('UTC');

para

date_default_timezone_set('America/Sao_Paulo');

Salve e feche o arquivo

Configurando o Banco de Dados
Alternar para o diretório

cd /home/usuario/public_html/cakephp/app/Config/

Copiar o arquivo padrao

cp database.php.default database.php

Configurar a database

vi database.php Exemplo: class DATABASE_CONFIG { public $default = array(               'datasource' => 'Database/Mysql',                'persistent' => false,                'host' => 'localhost',                'login' => 'root',                'password' => 'password',                'database' => 'prod_db_name',                'prefix' => '',                //'encoding' => 'utf8',        ); public $test = array(               'datasource' => 'Database/Mysql',                'persistent' => false,                'host' => 'localhost',                'login' => 'root',                'password' => 'password',                'database' => 'test_db_name',                'prefix' => '',                //'encoding' => 'utf8',        ); }

Alterando as permissões do diretório tmp
Alterne para o diretório

cd vi /home/usuario/public_html/cakephp/app/

Altere as permissões

chmod -R 777 tmp/

Configurando o Debug Kit
Baixe o debugkit, no link ,

Alterne para o diretório

cd /home/usuario/public_html/cakephp/Plugin/

Descompactar o arquivo

unzip /tmp/debug_kit-master.zip

Alterar o nome do diretório

mv debug_kit-master DebugKit

Edite o arquivo

vi /home/usuario/public_html/cakephp/app/Config/bootstrap.php

Adicione a linha CakePlugin::load('DebugKit'); //Loads a single plugin named DebugKit

Salve e feche o arquivo

Teste com o navegador

http://localhost/ ~usuario/cakephp/

Incluir o toolbar

vi /home/usuario/public_html/cakephp/app/Controller/AppController.php

Adicionar

class AppController extends Controller { public $components = array('DebugKit.Toolbar'); }

Salvar e Fechar

Editar também

vi /home/usuario/public_html/cakephp/app/Config/core.php

Adicionar

Configure::write('debug', 1);

Salvar e Fechar

Editar também

vi /home/usuario/public_html/cakephp/app/View/Layouts/default.ctp

Remover

sql_dump

Salvar e Fechar

= Ver também =


 * Definindo a URL padrão no IBM HTTP Server Apache
 * Apache:Redirecionando para pagina de Erro
 * Apache:Redirecionando de HTTP para HTTPS
 * Linux e Unix: Ferramentas de Monitoracao e Performance
 * AWSTATS: Configurando o AWSTATS


 * Mais Artigos sobre Apache HTTP Server