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
# vi /var/www/html/teste.php
e adicione o seguinte
<?php phpinfo(); ?>
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
<html> <head> </head> <body> Funcionou!!1 </body> </html>
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:
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /~usuario/cakephp/ RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule>
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
# date +%s | sha256sum | base64 | head -c 32 ; echo MzYwYmRmMzUzODIyODBjMjc3MDYyMDg5 #od -vAn -N8 -tu8 < /dev/urandom 2244647735284905218
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 [1],
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