SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
11
Desenvolvimento web LinuxDesenvolvimento web Linux
22
GNU/LinuxGNU/Linux
● Junção do kernel linux com aplicativos GNU;
● Originário do UNIX;
● 1984 GNU Richard Stallman;
● 1985 GPL (GNU General Public License);
● 1991 kernel linux – Linus Torvalds;
● 1992 integração GNU + kernel linux.
33
GNU/LinuxGNU/Linux
44
GNU/Linux – Ubuntu 14.04GNU/Linux – Ubuntu 14.04
● Ubuntu 4.10: primeira versão do Ubuntu, lançada em 20
de outubro de 2004;
● Distribuição originária do Debian;
● Empacotamento .deb;
● Apt-get - APT (Advanced Packaging Tool);
● Distro mais amigável;
55
ApacheApache
● Base o servidor web NCSA 1.3;
● 1995 primeira versão 0.6.2;
● Suporte a scripts cgi usando linguagens como Perl, PHP,
Shell Script, ASP;
● Mantido por Apache Software Foundation;
● Ultima versão estável 2.4.10;
● Multiplataforma.
66
ApacheApache
Funcionado na estrutura cliente-servidor, o servidor web
Apache, recebe as requisições do cliente (browser) e
responde ao cliente em codificação HTML. O servidor web
interpreta a codificação HTML e não interpreta o código PHP.
Ao receber uma solicitação .php o servidor aciona o
Interpretador PHP que processa as solicitações do código PHP
tais como, acessar banco de dados, sistema de arquivos,
acesso ao servidor de correio eletrônico etc e retorna para o
Apache em formato HTML e ele manda para o browser. O
browser lê o código HTML e monta a página web para o
usuário.
77
ApacheApache
88
Apache - InstalaçãoApache - Instalação
No terminal digite:
sudo su
apt-get update
apt-get install apache2
acesse 127.0.0.1 para ver o resultado
99
MySQLMySQL
● SGBD que utiliza a linguagem SQL
● 1994 Inicio do projeto - David Axmark, Allan Larsson e
Michael "Monty" Widenius;
● 2008 MySQL AB adquirida pela Sun Microsystems;
● 2009 Oracle adquire a Sun Microsystems;
● Usado na Nasa, Hp, Bradesco, U.S Army;
● Ultima versão estável 5.6.12.
1010
MySQL - InstalaçãoMySQL - Instalação
No terminal digite:
apt-get install mysql-server libapache2-mod-auth-mysql
php5-mysql
1111
MySQL - InstalaçãoMySQL - Instalação
No terminal digite:
sudo mysql_install_db
mysql_secure_installation
Isto irá remover alguns usuários da amostra e bancos de
dados, desativa o login do root remotos, e carregar as novas
regras para o MySQL imediatamente a respeito das mudanças
que fizemos.
1212
PHPPHP
● 1995 Criado por Rasmus Lerdorf;
● Estruturado e Orientação a Objetos;
● Portabilidade;
● Tipagem dinâmica;
● Open-source;
● Server-side;
● Última versão estável php-5.6.1;
● Mantido por The PHP Group.
1313
PHP - InstalaçãoPHP - Instalação
apt-get install php5 libapache2-mod-php5 php5 mcrypt
service apache2 restart
apt-get install php5-mysql php5-curl php5-gd php5-idn php-
pear php5-imagick
apt-get install php5-imap php5-mcrypt php5-memcache php5-
mhash php5-ming php5-ps php5-pspell
apt-get install php5-recode php5-snmp php5-sqlite php5-tidy
php5-xmlrpc php5-xsl php5-json
1414
PHP - InstalaçãoPHP - Instalação
Para testar a configuração pode podemos criar um simples
info.php com o seguinte conteúdo:
<?php
phpinfo();
?>
E aloque no diretório /var/www/html
1515
VhostVhost
Virtual Host é a capacidade de hospedar mais do que um
web site numa única máquina, com um endereço IP ou
mais.
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
</VirtualHost>
1616
HostsHosts
● O arquivo hosts é responsável pela localização por
NOMES entre IP's;
● Fica localizado em /etc/hosts;
● Um DNS Local.
sudo nano /etc/hosts
127.0.0.1 localhost
1717
Projeto – Livro de VisitasProjeto – Livro de Visitas
Projeto livro de visitas que servirá como exemplificação de
alguns conceitos web
● Programação Orientada a Objetos (POO – OOP);
● Banco de Dados MySQL;
● Javascript e jQuery.
1818
Projeto – RequisitosProjeto – Requisitos
O projeto consiste na elaboração de um pequeno sistema de livro
de visitas no qual os visitantes possam enviar comentários. O
sistema deverá conter as seguintes características:
● Necessariamente ser feito em uma ou mais Classes (POO);
Utilizar um Banco de Dados MySQL;
● Os comentários deverão ser inseridos via Ajax utilizando
jQuery atualizando automaticamente a lista e deverão conter
os seguintes campos obrigatórios: nome, email e website;
● Um sistema de cadastro com login e senha para que o usuário
não tenha que preencher os campos manualmente.
1919
Projeto Estrutura no servidorProjeto Estrutura no servidor
Definindo o diretório root da aplicação:
● No diretório /var/www/html crie o diretório root de sua
aplicação;
Abra o terminal e digite:
cd /var/www/html
sudo mkdir livro
2020
Projeto Criando VhostProjeto Criando Vhost
Crie um vhost para que você possa acessar sua aplicação através
de uma url.
Acesse /etc/apache2/sites-available/ crie um arquivo
example.conf para o projeto, faça com base no arquivo 000-
default.conf
Abra o terminal e digite:
sudo cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/example.conf
Isso irá criar uma cópia de um vhost padrão bastando apenas
editar alguns parâmetros de configuração.
2121
Projeto Editando VhostProjeto Editando Vhost
No nosso exemplo ficaria configurado desta maneira:
<VirtualHost *:80>
ServerAdmin admin@livro.com
ServerName livro.com.br
ServerAlias www.livro.com.br
DocumentRoot /var/www/html/livro
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
2222
Projeto Ativando VhostProjeto Ativando Vhost
Ativando o vhost e reiniciando o apache:
sudo a2ensite example.conf
sudo service apache2 restart
2323
Projeto Editando hostProjeto Editando host
Para que nosso servidor consiga resolver o endereço
www.livro.com.br é necessário adicionar essa informação no
arquivo hosts:
Sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 livro.com.br
127.0.1.1 www.livro.com.br
Agora ao acessar www.livro.com.br o servidor entregará o
conteúdo alocado no diretório /var/www/html/livro
2424
Código fonteCódigo fonte

Mais conteúdo relacionado

Mais procurados

Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com NagiosDaniel Lara
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Instalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootInstalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootWilliam Menegais
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
Livro pfsense 2.0 em português
Livro pfsense 2.0 em portuguêsLivro pfsense 2.0 em português
Livro pfsense 2.0 em portuguêsDavid de Assis
 
Publiocação de páginas da web
Publiocação de páginas da webPubliocação de páginas da web
Publiocação de páginas da webCarlos Melo
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQMatheus Fidelis
 
Integração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareIntegração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareVenki
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asteriskVicente Nobre
 
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Tchelinux
 

Mais procurados (20)

Zabbix livro para ubuntu
Zabbix livro para ubuntuZabbix livro para ubuntu
Zabbix livro para ubuntu
 
Monitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - NagiosMonitoramento de Serviços de Bancos de Dados - Nagios
Monitoramento de Serviços de Bancos de Dados - Nagios
 
Monitoramento de Redes com Nagios
Monitoramento de Redes com NagiosMonitoramento de Redes com Nagios
Monitoramento de Redes com Nagios
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Nagios+ubuntu16
Nagios+ubuntu16Nagios+ubuntu16
Nagios+ubuntu16
 
Instalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualbootInstalação do sistemas operacionais dualboot
Instalação do sistemas operacionais dualboot
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
HTTP 2
HTTP 2HTTP 2
HTTP 2
 
Livro pfsense 2.0 em português
Livro pfsense 2.0 em portuguêsLivro pfsense 2.0 em português
Livro pfsense 2.0 em português
 
Publiocação de páginas da web
Publiocação de páginas da webPubliocação de páginas da web
Publiocação de páginas da web
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQ
 
Ocs inventory
Ocs inventoryOcs inventory
Ocs inventory
 
Componentes Web J2EE
Componentes Web J2EEComponentes Web J2EE
Componentes Web J2EE
 
Nagios
NagiosNagios
Nagios
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 
Integração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareIntegração OCS Inventário de hardware software
Integração OCS Inventário de hardware software
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Monitoração com Nagios
Monitoração com NagiosMonitoração com Nagios
Monitoração com Nagios
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asterisk
 
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
Inovações no mundo das distribuições Linux - Victor Hugo Aguiar Pacce - Tchel...
 

Destaque

Facebook Metrics That Matter By Jenn Deering Davis
Facebook Metrics That Matter By Jenn Deering DavisFacebook Metrics That Matter By Jenn Deering Davis
Facebook Metrics That Matter By Jenn Deering DavisMarketing Land
 
الرموز المستخدمة بالسيار..
الرموز المستخدمة بالسيار..الرموز المستخدمة بالسيار..
الرموز المستخدمة بالسيار..Usama Abudawud
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentationmukund ladha
 
How Brands Build An Audience Of Their Own On YouTube By Sean Womack
How Brands Build An Audience Of Their Own On YouTube By Sean WomackHow Brands Build An Audience Of Their Own On YouTube By Sean Womack
How Brands Build An Audience Of Their Own On YouTube By Sean WomackMarketing Land
 
Entrega contínua de software através de um pipeline
Entrega contínua de software através de um pipelineEntrega contínua de software através de um pipeline
Entrega contínua de software através de um pipelineEduardo Rozario
 
Social Tools Super Session By Benjamin Spiegel
Social Tools Super Session By Benjamin SpiegelSocial Tools Super Session By Benjamin Spiegel
Social Tools Super Session By Benjamin SpiegelMarketing Land
 
Point kelas xi bolavoli(1)
Point kelas xi bolavoli(1)Point kelas xi bolavoli(1)
Point kelas xi bolavoli(1)27673112
 
Gecko stations lesson ppt
Gecko stations lesson pptGecko stations lesson ppt
Gecko stations lesson ppttimjgonzales
 
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...Marketing Land
 
The Role Of Social Ads In Your Overall Marketing Campaigns By David Zelniker
The Role Of Social Ads In Your Overall Marketing Campaigns By David ZelnikerThe Role Of Social Ads In Your Overall Marketing Campaigns By David Zelniker
The Role Of Social Ads In Your Overall Marketing Campaigns By David ZelnikerMarketing Land
 
Social Video Survival Techniques: The One to Many Process By Andrew Grinaker
Social Video Survival Techniques: The One to Many Process By Andrew GrinakerSocial Video Survival Techniques: The One to Many Process By Andrew Grinaker
Social Video Survival Techniques: The One to Many Process By Andrew GrinakerMarketing Land
 
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...Marketing Land
 

Destaque (17)

Facebook Metrics That Matter By Jenn Deering Davis
Facebook Metrics That Matter By Jenn Deering DavisFacebook Metrics That Matter By Jenn Deering Davis
Facebook Metrics That Matter By Jenn Deering Davis
 
الرموز المستخدمة بالسيار..
الرموز المستخدمة بالسيار..الرموز المستخدمة بالسيار..
الرموز المستخدمة بالسيار..
 
Akhilesh
AkhileshAkhilesh
Akhilesh
 
Nanditha bday
Nanditha bdayNanditha bday
Nanditha bday
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
Kumar
KumarKumar
Kumar
 
How Brands Build An Audience Of Their Own On YouTube By Sean Womack
How Brands Build An Audience Of Their Own On YouTube By Sean WomackHow Brands Build An Audience Of Their Own On YouTube By Sean Womack
How Brands Build An Audience Of Their Own On YouTube By Sean Womack
 
Entrega contínua de software através de um pipeline
Entrega contínua de software através de um pipelineEntrega contínua de software através de um pipeline
Entrega contínua de software através de um pipeline
 
Nanditha bday ppt
Nanditha bday pptNanditha bday ppt
Nanditha bday ppt
 
Ted Talks
Ted TalksTed Talks
Ted Talks
 
Social Tools Super Session By Benjamin Spiegel
Social Tools Super Session By Benjamin SpiegelSocial Tools Super Session By Benjamin Spiegel
Social Tools Super Session By Benjamin Spiegel
 
Point kelas xi bolavoli(1)
Point kelas xi bolavoli(1)Point kelas xi bolavoli(1)
Point kelas xi bolavoli(1)
 
Gecko stations lesson ppt
Gecko stations lesson pptGecko stations lesson ppt
Gecko stations lesson ppt
 
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...
The Marketing Land Guide to the Twitter IPO: Key Facts, Figures & S-1 Filing ...
 
The Role Of Social Ads In Your Overall Marketing Campaigns By David Zelniker
The Role Of Social Ads In Your Overall Marketing Campaigns By David ZelnikerThe Role Of Social Ads In Your Overall Marketing Campaigns By David Zelniker
The Role Of Social Ads In Your Overall Marketing Campaigns By David Zelniker
 
Social Video Survival Techniques: The One to Many Process By Andrew Grinaker
Social Video Survival Techniques: The One to Many Process By Andrew GrinakerSocial Video Survival Techniques: The One to Many Process By Andrew Grinaker
Social Video Survival Techniques: The One to Many Process By Andrew Grinaker
 
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...
Beyond Facebook Awareness Integrating Facebook Advertising at Every Stage of ...
 

Semelhante a Desenvolvimento web Linux com Apache, MySQL e PHP

Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016Edison Costa
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 
Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Raul Leite
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debianEduardo Mendes
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroAndré Luís Cardoso
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 

Semelhante a Desenvolvimento web Linux com Apache, MySQL e PHP (20)

Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Python CGI
Python CGIPython CGI
Python CGI
 
Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debian
 
ASP.NET vNext – MVC6
ASP.NET vNext – MVC6ASP.NET vNext – MVC6
ASP.NET vNext – MVC6
 
WP Composer
WP ComposerWP Composer
WP Composer
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to hero
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Spacewalk - Solisc
Spacewalk - Solisc Spacewalk - Solisc
Spacewalk - Solisc
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 

Desenvolvimento web Linux com Apache, MySQL e PHP

  • 2. 22 GNU/LinuxGNU/Linux ● Junção do kernel linux com aplicativos GNU; ● Originário do UNIX; ● 1984 GNU Richard Stallman; ● 1985 GPL (GNU General Public License); ● 1991 kernel linux – Linus Torvalds; ● 1992 integração GNU + kernel linux.
  • 4. 44 GNU/Linux – Ubuntu 14.04GNU/Linux – Ubuntu 14.04 ● Ubuntu 4.10: primeira versão do Ubuntu, lançada em 20 de outubro de 2004; ● Distribuição originária do Debian; ● Empacotamento .deb; ● Apt-get - APT (Advanced Packaging Tool); ● Distro mais amigável;
  • 5. 55 ApacheApache ● Base o servidor web NCSA 1.3; ● 1995 primeira versão 0.6.2; ● Suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP; ● Mantido por Apache Software Foundation; ● Ultima versão estável 2.4.10; ● Multiplataforma.
  • 6. 66 ApacheApache Funcionado na estrutura cliente-servidor, o servidor web Apache, recebe as requisições do cliente (browser) e responde ao cliente em codificação HTML. O servidor web interpreta a codificação HTML e não interpreta o código PHP. Ao receber uma solicitação .php o servidor aciona o Interpretador PHP que processa as solicitações do código PHP tais como, acessar banco de dados, sistema de arquivos, acesso ao servidor de correio eletrônico etc e retorna para o Apache em formato HTML e ele manda para o browser. O browser lê o código HTML e monta a página web para o usuário.
  • 8. 88 Apache - InstalaçãoApache - Instalação No terminal digite: sudo su apt-get update apt-get install apache2 acesse 127.0.0.1 para ver o resultado
  • 9. 99 MySQLMySQL ● SGBD que utiliza a linguagem SQL ● 1994 Inicio do projeto - David Axmark, Allan Larsson e Michael "Monty" Widenius; ● 2008 MySQL AB adquirida pela Sun Microsystems; ● 2009 Oracle adquire a Sun Microsystems; ● Usado na Nasa, Hp, Bradesco, U.S Army; ● Ultima versão estável 5.6.12.
  • 10. 1010 MySQL - InstalaçãoMySQL - Instalação No terminal digite: apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
  • 11. 1111 MySQL - InstalaçãoMySQL - Instalação No terminal digite: sudo mysql_install_db mysql_secure_installation Isto irá remover alguns usuários da amostra e bancos de dados, desativa o login do root remotos, e carregar as novas regras para o MySQL imediatamente a respeito das mudanças que fizemos.
  • 12. 1212 PHPPHP ● 1995 Criado por Rasmus Lerdorf; ● Estruturado e Orientação a Objetos; ● Portabilidade; ● Tipagem dinâmica; ● Open-source; ● Server-side; ● Última versão estável php-5.6.1; ● Mantido por The PHP Group.
  • 13. 1313 PHP - InstalaçãoPHP - Instalação apt-get install php5 libapache2-mod-php5 php5 mcrypt service apache2 restart apt-get install php5-mysql php5-curl php5-gd php5-idn php- pear php5-imagick apt-get install php5-imap php5-mcrypt php5-memcache php5- mhash php5-ming php5-ps php5-pspell apt-get install php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
  • 14. 1414 PHP - InstalaçãoPHP - Instalação Para testar a configuração pode podemos criar um simples info.php com o seguinte conteúdo: <?php phpinfo(); ?> E aloque no diretório /var/www/html
  • 15. 1515 VhostVhost Virtual Host é a capacidade de hospedar mais do que um web site numa única máquina, com um endereço IP ou mais. <VirtualHost *:80> ServerName localhost DocumentRoot /var/www/html </VirtualHost>
  • 16. 1616 HostsHosts ● O arquivo hosts é responsável pela localização por NOMES entre IP's; ● Fica localizado em /etc/hosts; ● Um DNS Local. sudo nano /etc/hosts 127.0.0.1 localhost
  • 17. 1717 Projeto – Livro de VisitasProjeto – Livro de Visitas Projeto livro de visitas que servirá como exemplificação de alguns conceitos web ● Programação Orientada a Objetos (POO – OOP); ● Banco de Dados MySQL; ● Javascript e jQuery.
  • 18. 1818 Projeto – RequisitosProjeto – Requisitos O projeto consiste na elaboração de um pequeno sistema de livro de visitas no qual os visitantes possam enviar comentários. O sistema deverá conter as seguintes características: ● Necessariamente ser feito em uma ou mais Classes (POO); Utilizar um Banco de Dados MySQL; ● Os comentários deverão ser inseridos via Ajax utilizando jQuery atualizando automaticamente a lista e deverão conter os seguintes campos obrigatórios: nome, email e website; ● Um sistema de cadastro com login e senha para que o usuário não tenha que preencher os campos manualmente.
  • 19. 1919 Projeto Estrutura no servidorProjeto Estrutura no servidor Definindo o diretório root da aplicação: ● No diretório /var/www/html crie o diretório root de sua aplicação; Abra o terminal e digite: cd /var/www/html sudo mkdir livro
  • 20. 2020 Projeto Criando VhostProjeto Criando Vhost Crie um vhost para que você possa acessar sua aplicação através de uma url. Acesse /etc/apache2/sites-available/ crie um arquivo example.conf para o projeto, faça com base no arquivo 000- default.conf Abra o terminal e digite: sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.conf Isso irá criar uma cópia de um vhost padrão bastando apenas editar alguns parâmetros de configuração.
  • 21. 2121 Projeto Editando VhostProjeto Editando Vhost No nosso exemplo ficaria configurado desta maneira: <VirtualHost *:80> ServerAdmin admin@livro.com ServerName livro.com.br ServerAlias www.livro.com.br DocumentRoot /var/www/html/livro ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  • 22. 2222 Projeto Ativando VhostProjeto Ativando Vhost Ativando o vhost e reiniciando o apache: sudo a2ensite example.conf sudo service apache2 restart
  • 23. 2323 Projeto Editando hostProjeto Editando host Para que nosso servidor consiga resolver o endereço www.livro.com.br é necessário adicionar essa informação no arquivo hosts: Sudo vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 livro.com.br 127.0.1.1 www.livro.com.br Agora ao acessar www.livro.com.br o servidor entregará o conteúdo alocado no diretório /var/www/html/livro