PHP: Configurando um Ambiente de Desenvolvimento PHP/CakePHP no Linux: Difference between revisions
(8 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 http para meu usuário == | ||
= 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 | |||
/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 = | = Configurando o CakePHP = | ||
Line 162: | Line 212: | ||
Salve e feche o arquivo | 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
- 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