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

From Wiki
 
(17 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  


= Validando o HTTP Server e o PHP =
= 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
Crie um arquivo php
Line 38: 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 65: 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 89: Line 85:
Com um navegador acesse o seu servidor
Com um navegador acesse o seu servidor


  http://localhost/~'''usuario'''/index.html
  <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
 
/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 [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