Upload
eduardo-rozario
View
43
Download
0
Embed Size (px)
Citation preview
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 [email protected]
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