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

Desenvolvimento web no Linux

  • 1.
  • 2.
    22 GNU/LinuxGNU/Linux ● Junção dokernel 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.
  • 3.
  • 4.
    44 GNU/Linux – Ubuntu14.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 oservidor 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 estruturacliente-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.
  • 7.
  • 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 queutiliza 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 Criadopor 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 arquivohosts é 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 – Livrode 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 noservidorProjeto 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 VhostProjetoCriando 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 VhostProjetoEditando 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 VhostProjetoAtivando Vhost Ativando o vhost e reiniciando o apache: sudo a2ensite example.conf sudo service apache2 restart
  • 23.
    2323 Projeto Editando hostProjetoEditando 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
  • 24.