Desenvolvimento de Sites com PHP e Mysql Docente – André Luiz Silva de Moraes Roteiro 1: Introdução ao Ambiente Web Neste roteiro são abordados assuntos envolvendo termos fundamentais da internet, seus protocolos e também ferramentas necessárias para a elaboração de páginas de internet dinâmicas. Serão exploradas também práticas sobre o funcionamento e uso das ferramentas utilizadas para simular o ambiente cliente-servidor. Introdução A web é construída a partir de duas tecnologias fundamentais: a linguagem HTML (Hypertext Markup Language) e o protocolo HTTP (Hypertext Transfer Protocol). A HTML, ou Hypertext Markup Language é a codificação usada para criar as páginas web. O segundo pilar da Web é o HTTP ou Hypertext Transport Protocol – protocolo de transporte de hipertexto. Esse é o conjunto de comandos e regras que define como deve ser a comunicação entre um browser (Firefox, Internet Explorer, Opera, Chrome) e um servidor HTTP (como o Apache ou o Internet Information Server, por exemplo). A expressão “servidor HTTP” pode ter dois significados: o software que serve páginas via HTTP ou o computador onde esse software está instalado. No mundo do sistema Operacional Linux, softwares servidores são chamados de “Daemons”. Os "Daemons" são pequenos programas orientados a fazer tarefas de rotina, que se fossem feitos de forma manual, deveriam ser feitas repetidas vezes. Desta forma o Daemon é programado pelo desenvolvedor e se encarrega de repetir a execução da tarefa quantas vezes for necessário no intervalo de tempo necessário. Um servidor de Páginas Web é um exemplo de daemon, pois fica repetidamente verificando se existe algum computador solicitando uma página e enviando a página caso seja necessário, a figura 1 ilustra um exemplo de estrutura com uso de daemons. Figura 1 - Exemplo de estrutura utilizando daemons A relação entre um browser e um HTTP é descrita como “cliente-servidor”. Isto significa que a interação destes dois softwares sempre parte do browser, que é o cliente. O servidor não tem nenhuma iniciativa, limitando-se a responder aos comandos enviados pelo cliente. Quando é digitada uma URL como HTTP://www.endereco.com.br, o seu Browser localiza e conecta-se ao servidor www.endereco.com.br e envia-lhe o comando GET /endereço/índex.html. O servidor então lê o arquivo índex.html da pasta /endereço, transmite seu conteúdo para o cliente e encerra a conexão. Estes são os passos básicos de qualquer interação de um browser com um HTTP: conexão, solicitação, resposta e desconexão. Atualmente quando fala-se de servidor web é comum encontrar vários serviços em andamento no mesmo computador servidor, os serviços mais comuns hoje são: 1. 2. 3. Servidor de Páginas Web; Servidor de Banco de Dados; Servidor FTP. Para poder utilizar cada um destes serviços é necessário realizar a instalação dos mesmos, mas existem pacotes de ferramentas que podem reduzir a complexidade da instalação trazendo os serviços previamente instalados e configurados. Entre os pacotes Instituto Federal de Santa Catarina- Campus Garopaba Pág | 2 Desenvolvimento de Sites com PHP e Mysql Docente – André Luiz Silva de Moraes que trazem estas configurações podemos destacar os seguintes: • • XAMPP – para ambientes Windows ; LAMPP – para ambientes Linux; Tanto Linux quanto Windows, o pacote pode ser encontrado no site http://www.apachefriends.org.br, incluindo dicas de uso e instalação. No windows o Xampp permite que se selecione o diretório de instalação e traz uma interface para controlar os aplicativos, no Linux o diretório padrão do Lampp é /OPT/LAMPP e o funcionamento dos serviços é controlado via linha de comando no formato: /opt/lampp/lampp start – para iniciar os serviços /opt/lampp/lampp start – para parar os serviços No Linux, os principais diretórios de utilização do Xampp são demonstrados na tabela 1. ARQUIVOS E DIRETÓRIOS IMPORTANTES Arquivo/Diretório Objetivo /opt/lampp/bin/ Diretório de commando do XAMPP. /opt/lampp/bin/mysql executa, por exemplo, o monitor do MYSQL. /opt/lampp/htdocs/ Diretório DocumentRoot do Apache. /opt/lampp/etc/httpd.conf Arquivo de configuração do Apache. /opt/lampp/etc/my.cnf Arquivo de configuração do MYSQL. /opt/lampp/etc/php.ini Arquivo de configuração do PHP. /opt/lampp/etc/proftpd.conf Arquivo de configuração do ProFTPD. (desde a versão 0.9.5) /opt/lampp/phpmyadmin/config.inc.php Arquivo de configuração do phpMyAdmin. Tabela 1: Principais diretórios do Xampp Tarefas 1. Selecionar 3 palavras citadas na tabela abaixo, referente a evolução web e pesquisar o seu significado. Tente descobrir quão importante foi a tecnologia, negócio ou equipamento que você selecionou e detalhe em breves palavras. Palavra Significado Endereçamento IP Darpa Arpanet Protocolo X.25 E-commerce Phishing Napster Flickr Wimax Ipod 2. Pesquise 3 linguagens Client-Side e server-side fora as já citadas. 3. O que é necessário para verificar se o Xampp está em funcionamento no seu computador no Linux? 4. Como inicializar os serviços do Xampp no Linux? 5. Como parar os serviços do Xampp no Linux? Instituto Federal de Santa Catarina- Campus Garopaba Pág | 3 Desenvolvimento de Sites com PHP e Mysql Docente – André Luiz Silva de Moraes Tarefas práticas: 6. Inicialize os serviços do Xampp, abra o navegador e faça o teste de funcionamento do seu servidor apache acessando o endereço http://localhost. 7. Um servidor web tem a função de exibir uma página web, que é feita de texto puro, isto quer dizer que se colocar qualquer arquivo no diretório do seu servidor ele pode ser exibido. Acesse o diretório de armazenamento das páginas de seu servidor e grave um arquivo texto qualquer, em seguida visualize no seu servidor conforme a figura a seguir: Figura 2: Teste de visualização de arquivo em servidor web DICA: o diretório dos arquivos do Xampp para Linux (LAMPP) fica dentro de /OPT/LAMPP/HTDOCS, para criar diretórios caso não consiga é necessário utilizar o comando SUDO precedendo o comando de criação, devido às permissões do diretório. 8. Pare os serviços do seu servidor e atualize a visualização de seu arquivo. Descreva o que acontece. 9. Um servidor web foi desenvolvido, como o nome diz, para servir as suas páginas aos outros computadores que a solicitarem. Por padrão, o servidor responde às solicitações que chegarem de algum navegador em uma rede local na porta 80 e um navegador é um software que faz a requisição sempre utilizando esta porta. 1. Faça o teste com os seus colegas: 1. Descubra o ip do seu computador (no linux abrir o terminal de comandos e digitar o comando ifconfig); 2. Em serguida descubra o ip do computador de seus colegas (pergunte a ele); 3. Abra o seu navegador e digite o número ip do computador de seu colega, você visualizará a página padrão do xampp. 4. Utilizando o mesmo endereço, adicione o nome do diretório + o nome do arquivo (sem espaços em branco) que o seu colega colocou no arquivo teste e o conteúdo do arquivo será visualizado. 10. Um servidor FTP é utilizado para realizar a transferência de arquivos de um computador cliente para um computador remoto, geralmente um servidor web, ele acaba sendo de grande ajuda para realizar a manutenção em conteúdos de sites na internet. O servidor FTP utiliza o protocolo FTP (File Transfer Protocol) e pode ser acessado com um programa cliente de FTP, no mesmo ou em outro computador. No windows e no Linux o uso do FTP servidor funciona de formas diferentes: 1. No windows o Xampp traz um servidor de FTP chamado de FileZilla, e pode ser ativado diretamente pelo painel de programas, de acordo com a figura 3. Figura 3: Painel de controle do Xampp no windows 2. No Linux o software servidor é chamado de ProFTPD, e é ativado automaticamente com o Lampp ou através da linha de comando executada no terminal /opt/lampp/lampp startftp, de acordo com a figura 4. Instituto Federal de Santa Catarina- Campus Garopaba Pág | 4 Desenvolvimento de Sites com PHP e Mysql Docente – André Luiz Silva de Moraes Figura 4: Ativando o servidor FTP no Lampp 1. Faça o Teste: 1. Execute os comandos para iniciar ou parar o servidor de FTP no seu computador. Para executar estes comandos é necessário abrir o terminal de comandos do Linux e utilizar o comando especificado anteriormente. 3. Para ambas as plataformas existe um programa chamado cliente de FTP, que permite utilizar um computador remoto ou o próprio computador para que sejam enviados os arquivos de sua página para o servidor. Um programa bastante comum é o Filezilla, e existe tanto para Windows como para Linux. A figura 5 mostra uma visualização do programa: Figura 5: Cliente FTP Filezilla para Linux 1. Faça o teste: 1. Abra o programa cliente de FTP do seu computador e tente realizar uma comunicação com o seu servidor de FTP. Para que a conexão tenha sucesso é necessário verificar os seguintes itens: 1. Ter um usuário e uma senha no seu sistema. 2. Ter o servidor FTP inicializado. 3. Ter o endereço IP do servidor que queremos acessar. OBS: caso tenha sucesso, você visualizará a tela demonstrada na figura 5 no canto superior da esquerda, ampliada a seguir. 2. Tente realizar o envio de arquivos para o seu servidor. Por padrão, o Lampp é configurado para acessar diretamente o diretório /opt/lampp/htdocs, que é o diretório raiz do servidor web. Para isto você deve prestar atenção nos seguintes itens: 1. Ao se conectar, crie um novo diretório de nome ifsc-desenv-web, este será o diretório onde armazenaremos nosso arquivos. 1. Será necessário dar permissão para gravação no diretório /opt/lampp/htdocs, caso contrário você não conseguirá criar novos diretórios. Para isto abra o terminal e dê o comando sudo chmod 777 /opt/lampp/htdocs, ao pedir a senha peça a senha ao professor para poder continuar o comando. 2. Acesse o diretório que foi criado, em seguida envie um arquivo texto contendo qualquer conteúdo para o seu diretório recem criado. 3. Teste a visualização do seu arquivo acessando o endereço do seu servidor em http://localhost/ifscdesenvolv-web/nomearquivo, você verá o conteúdo do seu arquivo recém criado. Instituto Federal de Santa Catarina- Campus Garopaba Pág | 5 Desenvolvimento de Sites com PHP e Mysql Docente – André Luiz Silva de Moraes Referências Vivaolinux, disponível em http://www.vivaolinux.com.br/ Guia do Hardware, disponível em http://www.hardware.com.br/ Xampp para Linux, disponível em http://www.apachefriends.org/pt_br/xampp-linux.html Instituto Federal de Santa Catarina- Campus Garopaba Pág | 6