PHP: Configurando um Ambiente de Desenvolvimento PHP/CakePHP no Linux: Difference between revisions

From Wiki
 
(9 intermediate revisions by the same user not shown)
Line 16: Line 16:
  yum -y install httpd mysql mysql-server php php-mysql  
  yum -y install httpd mysql mysql-server php php-mysql  


= Configurado o httpd =
= Configurado o HTTP Server =
 
== Configurado o httpd ==


Inicie o servidor  
Inicie o servidor  
Line 23: Line 25:
  systemctl enable httpd.service
  systemctl enable httpd.service


= Validando o HTTP Server e o PHP =
== Validando o HTTP Server e o PHP ==


Crie um arquivo php
Crie um arquivo php
Line 45: Line 47:
  <nowiki> http://localhost/teste.php </nowiki>
  <nowiki> http://localhost/teste.php </nowiki>


= Configurado o MySQL =
== Configurado o http para meu usuário ==
 
Inicie o servidor
 
systemctl start mysqld.service
systemctl enable mysqld.service
 
Configure a segurança
 
/usr/bin/mysql_secure_installation
 
Aceite os valores default, e coloque uma senha para o root.
 
= Configurado o http para meu usuário =


Configurado o http para meu usuário
Configurado o http para meu usuário
Line 72: Line 61:
  systemctl restart httpd.service
  systemctl restart httpd.service


= Testando para o usuario =
== Testando para o usuario ==


Criar o diretório
Criar o diretório
Line 98: Line 87:
   <nowiki> http://localhost/</nowiki>~'''usuario'''/
   <nowiki> http://localhost/</nowiki>~'''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


= Instalando o CakePHP =
/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
Faca o download do cakephp e descompacte o arquivo no diretório do usuário
Line 106: Line 158:
  cd /home/'''usuario'''/public_html
  cd /home/'''usuario'''/public_html
   
   
  unzip /tmp//cakephp-cakephp-2.4.5-0-g9b4c2f3.zip  
  unzip /tmp/cakephp-cakephp-2.4.5-0-g9b4c2f3.zip  
    
    
  mv cakephp-cakephp-b47d357/ cakephp/
  mv cakephp-cakephp-b47d357/ cakephp/
== Configurando para o diretório do usuário ==


Para executar o usuário, alterar o diretório base.
Para executar o usuário, alterar o diretório base.
Line 142: Line 196:


  RewriteBase /~usuario/cakephp/app/webroot/
  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 [https://github.com/cakephp/debug_kit],
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
<nowiki>http://localhost/</nowiki>'''~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 =
= Ver também =

Latest revision as of 20:42, 4 February 2014

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