Instalando o Servidor web Apache 2 + PHP5 + MySQL + PhpMyAdmin

Continuando a série de artigos sobre como configurar um servidor de redes Linux, cujo passo inicial pode ser acompanhado clicando aqui, iremos neste artigo realizar a instalação de um servidor Web. Escolhemos como implementação desse serviço o Apache 2, para melhor exemplificar iremos instalar também o PHP5 + MySQL + PhpMyAdmin.

Instalando o Servidor Apache 2

Neste tutorial estamos utilizando a distribuição Linux Debian em modo texto, portanto, faremos uso do comando apt-get, por ser fácil de utilizar e de fácil compreensão. Na máquina virtual que ficou como servidor faça o seguinte comando:

apt-get install apache2

Quando a instalação for finalizada, acesse a máquina virtual cliente para testar, abra o navegador e digite: http://192.168.3.10
obs.: o endereço digitado deverá ser o ip do seu servidor, no meu caso é o endereço http://192.168.3.10

você deverá ver a seguinte imagem:

localhost apache

Repare que não temos aqui o acesso via localhost, pois o cliente está acessando um servidor web localizado em outro computador, na máquina virtual debian-server, por isso, precisamos especificar o protocolo http:// + o IP: 192.168.3.10.

Um pouco sobre a história da internet

A grande popularidade da Internet se deve principalmente ao fato de que sua interface gráfica amigável e colorida facilita e incentiva o seu uso, e tudo isso é possibilitado graças a um conjunto de tecnologias que serão abordadas no decorrer deste documento.
Em março de 1989 Tim Berners-Lee criou o primeiro protótipo de uma estrutura de documentos vinculados dispostos em uma rede de computadores, a partir da apresentação deste projeto Marc Andreessen, da Universidade de Illinois, iniciou a criação do primeiro navegador gráfico: o Mosaic, lançado em fevereiro de 1993, mais tarde Andreessen fundaria a Netscape, em 1994 o MIT (Massachusets Institute Technology) e o CERN (Centro Europeu de Pesquisa Nuclear) assinaram o acordo que criou o W3C (World Wide Web Consourtium) que tinha como foco a padronização de protocolos ligados a internet e a promoção da interpoperabilidade entre os diversos sites, Tim Berners-Lee tornou-se diretor do consórcio desde então, no endereço www.w3.org obtemos uma série de documentos de grande importância relacionados a web, e para quem deseja aprender tecnologias de desenvolvimento web é interessante acessar o seguinte site: www.w3schools.com.

Entendendo a arquitetura de funcionamento de páginas web

É importante o entendimento do funcionamento do servidor web, e quais protocolos serão utilizados por ele, para isso trago algumas informações com base no livro Redes de Computadores do Tanembaum, 2004:
O primeiro dispositivo a ser utilizado é o navegador que será acessado pelo usuário, usuário este que será tratado aqui como cliente, tendo em vista que será cliente dos serviços prestados pelo site que está hospedado em um computador denominado servidor, visualizamos assim um modelo cliente-servidor. O navegador é a ferramenta que tem por missão acessar páginas web a medida que o usuário insere o endereço do site que deseja visualizar na barra de endereço do navegador, a requisição viaja por meio da internet utilizando o protocolo HTTP (HyperText Transfer Protocol) até chegar ao seu destino, ao chegar, a requisição é processada pelo servidor web que irá devolver a resposta por meio do protocolo HTTP, a resposta viajará pela internet e o navegador se encarregará de renderizar a página solicitada. Como ilustrado na figura abaixo:
requisição http

O HTTP é o protocolo padrão de acesso a páginas web, mas o que significa isso?
HTTP (HyperText Transfer Protocol) é um protocolo de transferência de hipertexto, hipertexto possui uma definição ampla e dá significado as várias possibilidades que enxergamos em um página web, hipertexto são blocos de texto, imagens, sons, hiperlinks, dentre outros, os hiperlinks por vezes são chamados resumidamente de links, veremos adiante um modelo onde é possível visualizar com mais detalhes a visão do lado cliente no processamento da requisição HTTP:
Conforme nos trás o mestre Tanembaum, supondo que determinado usuário acesse a página http://www.itu.org/home/index.html teríamos as seguintes etapas:

  • 1. O navegador determina o URL (Endereço do site).
  • 2. O navegador pergunta ao DNS qual é o endereço IP de www.itu.org.
  • 3. O DNS responde 156.106.192.32.
  • 4. O navegador estabelece uma conexão TCP com a porta 80 em 156.106.192.32.
  • 5. Em seguida o navegador envia um comando solicitando o arquivo /home/index.html.
  • 6. O servidor www.itu.org envia o arquivo /home/index.html.
  • 7. A conexão TCP é encerrada.
  • 8. O navegador exibe todo o texto de /home/index.html.
  • 9. O navegador busca e exibe todas as imagens que o arquivo contém.
O navegador irá renderizar o conteúdo em uma linguagem conhecida como HTML (Hypertext Markup Language), é uma linguagem de marcação utilizada para produzir documentos em formato web, é entendida por qualquer navegador, portanto, é uma estrutura padrão que funciona do lado do cliente.
O navegador não consegue interpretar linguagens de programação como o PHP e ASP, quem faz essa função é o servidor web, que interpreta e devolve o resultado em HTML para que o navegador (lado cliente) faça a renderização do conteúdo. Por este motivo ao clicar com o botão direito do mouse em uma página qualquer, e pedirmos pra visualizar o código fonte, enxergaremos apenas HTML e javascript que são tecnologias que agem do lado cliente, o PHP, ASP, JAVA não poderão ser visualizados uma vez que estão do lado servidor.

Mais detalhes sobre o HTTP

As solicitações enviadas pelos clientes, via navegador aos servidores web são padronizadas pelo protocolo HTTP, e as respostas de igual maneira são também padronizadas pelo mesmo protocolo. O HTTP se utiliza do protocolo de transporte TCP (Transmission Control Protocol) para estabelecer uma conexão com o servidor web na porta 80 (porta padrão do HTTP), o HTTP possui uma série de métodos que são descritos a seguir:

Método Descrição
GET Solicita a leitura de uma página Web
HEAD Solicita a leitura de um cabeçalho de página Web
PUT Solicita o armazenamento de uma página Web
POST Acrescenta a um recurso (por exemplo, página Web)
DELETE Remove a página Web
TRACE Ecoa a solicitação recebida

Tabela com os grupos de respostas HTTP

Código Significado Exemplos
1xx Informação 100=O servidor concorda em atender a requisição do cliente
2xx Sucesso 200=Requisição bem sucedida, 204=sem conteúdo
3xx Redirecionamento 301=a página foi movida; 304=a página no cache ainda é válida
4xx Erro do cliente 403=página proibida, 404=página não encontrada
5xx Erro do servidor 500=Erro interno do servidor, 503=tente de novo mais tarde

Instalando o PHP

Passo 2 – Partiremos agora para a instalação do PHP, linguagem de programação responsável por implementar dinamismo a páginas web e fazer o contato com o banco de dados. Digite o seguinte comando no terminal

sudo apt-get install php5

Para testar o sucesso da instalação, acesse o diretório /var/www/
e crie um arquivo utilizando o comando touch:

touch index.php

agora edite este arquivo utilizando o editor de textos de sua preferência, e digite o seguinte conteúdo dentro do arquivo:

<?php
	phpinfo();
?>
reinicie o servidor web Apache para que ele reconheça o PHP que acabou de ser instalado, para reiniciar o servidor faça:

/etc/init.d/apache2 restart

ou se preferir

service apache2 restart
Agora abra o seu navegador e digite:

http://192.168.3.10/index.php

se tudo estiver ok, você deverá visualizar a seguinte página:

phpinfo
É a página de informações do PHP.

Instalando o MySQL-Server

Passo 3 – Iremos realizar agora a instalação do MySQL Server, precisamos de um servidor de banco de dados, por isso, utilizaremos aqui o MySQL server, para instalá-lo basta acessar o terminal e digitar:

apt-get install mysql-server

No decorrer da instalação será solicitado a senha do usuário root, basta informar a senha de sua preferência, observados aspectos de segurança.

Integrando o PHP com o MySQL

Para integrar o PHP com o MySQL é preciso instalar mais um pacote, de outra forma, a conexão do PHP com o banco de dados não irá funcionar, para evitar esse problema instale o seguinte pacote:
apt-get install php5-mysql

Instalando o PhpMyAdmin

Muitos preferem utilizar o servidor MySQL “puro”, sem interface gráfica, optamos aqui por utilizar o phpmyadmin como interface gráfica, o objetivo deste tutorial não é o aprendizado da linguagem SQL, por isso primamos pela produtividade no caso em questão.

Para instalar o phpmyadmin faça:

sudo apt-get install phpmyadmin

No decorrer da instalação ele poderá solicitar que seja escolhido o servidor web ao qual ele se vinculará automaticamente, selecione apache2, logo após irá solicitar a palavra passe que no caso é a mesma que foi fornecida ao instalar o MySQL. Uma terceira questão que poderá surgir é se você deseja configurar o phpmyadmin manualmente ou através do assistente, escolha a opção Sim para configurar através do assistente.

Agora precisamos acessar o phpmyadmin, contudo pode acontecer de não encontrarmos o phpmyadmin no endereço: http://192.168.3.10/phpmyadmin, pois ele pode estar localizado em uma pasta diferente, caso isso ocorra crie um simbólico para poder acessá-lo dentro de nossa pasta padrão, para isso faça:

sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

novamente reinicie o servidor apache e logo em seguida acesse: http://192.168.3.10/phpmyadmin

você deverá visualizar uma página semelhante a esta:

tela inicial phpmyadmin

Pronto! Já temos um ambiente de desenvolvimento com servidor web + linguagem de programação + servidor de banco de dados e interface gráfica, em outra oportunidade explicarei como desenvolver uma aplicação simples utilizando estas tecnologias.

Configurando o Servidor DNS para acessar os sites pelo nome

Para quem está acompanhando os artigos desde o início, como prometido no final do artigo anterior Clique aqui para ver irei mostrar como configurar o servidor DNS para que possamos acessar o site pelo nome e não pelo IP. Acesse o arquivo de configuração do BIND9 no servidor: pico /etc/bind/db.zonaDebian, e ao final do arquivo adicione o seguinte registro:

meuSite A 192.168.3.10

Reinicie o servidor de DNS: service bind9 reload
Simples assim! acesse no navegador o endereço: meuSite.debian.com.br, deverá aparecer a seguinte imagem:
Configurando o DNS do servidor Web

Caso prefira, pode ser criado uma nova zona de domínio no arquivo named.conf.local com um outro nome para o site, e em seguida configura-se os registros do site em um arquivo a parte.
Compartilhe com seus amigosShare on Google+Share on FacebookTweet about this on Twitter

2 ideias sobre “Instalando o Servidor web Apache 2 + PHP5 + MySQL + PhpMyAdmin

  1. Pingback: Configuração de Servidores Linux | Concursos de TI

  2. Pingback: Instalando e Configurando o Sarg

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *