Servidores WEB são essenciais na Internet para hospedar sites e fornecer páginas web aos usuários. Eles precisam ter hardware adequado e usar softwares como Apache ou Nginx para funcionar corretamente e entregar conteúdo aos navegadores. A configuração desses softwares permite configurar vários sites em um único servidor.
1. Disciplina de Redes de Computadores II
Prof. Marcelo Rios Kwecko
kwecko@camaqua.ifsul.edu.br
2. * Servidores WEB são elementos essenciais na rede mundial de
computadores, a INTERNET;
* Servidores WEB também são conhecidos como servidores
HTTP (Hypertext Transport Protocol);
* Um servidor Web pode ter dois significados:
* Computador no qual um ou mais sites são hospedados;
* Programa que é executado em um computador que executa essa
função.
Introdução
3. * Um Web Site é uma coleção de páginas da web que são
arquivos digitais geralmente escritos usando HyperText
Markup Language (HTML);
* Para um site estar disponível para todos, ele precisa ser
armazenado ou “hospedado" em um computador que está
conectado à internet 24 horas por dia, 7 dias por semanas e
365 dias no ano;
* Esse computador é conhecido como um servidor Web.
Servidor WEB – Hardware
4. * Há vários requisitos para um computador ser um servidor Web:
* Precisa ter bom desempenho:
* Ser rápido
* Ter um disco rígido de grande capacidade de armazenamento
* Boa quantidade de memória RAM
* Possuir um endereço de Internet válido (publico) caso se deseje
disponibilizar os sites na rede mundial de computadores (Internet).
Servidor WEB – Hardware (Cont.)
5. * Um programa que realiza a função de um servidor Web é o
software que tem por objetivo fornecer páginas web;
* Aguarda solicitações de navegadores web (também conhecidos
como clientes) e responde, enviando os dados solicitados para
eles;
* Essa interação, cliente-servidor, é a marca de como a web
funciona.
Servidor WEB – Software
6. * Há muitas implementações de um programas que forneça
paginas web;
* Os mais famosos e populares de todos eles é o Apache e o
NGINX:
* Não só é livre, mas também está disponível para vários sistemas
operacionais , incluindo Windows, Macintosh e Linux / Unix.
Servidor WEB – Software (Cont.)
8. * Servidores Web (computador e a aplicação) têm um papel vital
na Internet;
* O servidor armazena, em seus discos, os arquivos
correspondentes ao site, enquanto que o programa, auxilia a
entregar das páginas e seus arquivos associados (imagens,
vídeos e etc.), aos clientes (browsers).
Papel do servidor WEB na
INTERNET
9. * O processo de carregamento de um site web (página) em um
navegador, começa com o usuário digitando a URL na barra de
endereço ou clicando em um link;
* Cada página Web tem um endereço único (ou URL) na
Internet;
* Uma vez que a ação apropriada foi iniciada pelo usuário, o
navegador envia uma solicitação para o servidor WEB;
* A URL da página web deverá ser traduzida em um endereço IP;
* E a requisição ao chegar no servidor Web é encaminhado pelo
mesmo ao software web.
Papel do servidor WEB na
INTERNET (Cont.)
10. * O software web agora começa a trabalhar a procura no disco
rígido a página web solicitada;
* Ao encontrar o arquivo, ele envia uma resposta para o
navegador seguido do arquivo correspondente a página web, e
o mesmo ao recebê-la, começa a exibir a página ao usuário;
* Uma página web típica não só contém textos, mas também
incorpora elementos multimídia, como imagens e animações.
Esses arquivos "extras" estão separados da página web e são
incorporados pelo navegador a partir do servidor, um por um.
Papel do servidor WEB na
INTERNET (Cont.)
11. * Apenas o navegador determina como uma página Web é exibida pois
o servidor Web não tem controle sobre isso;
* O trabalho do servidor Web termina quando as solicitações do
navegador são processadas e as informações requeridas são enviadas
ao cliente;
* Embora possa parecer que o processo de solicitação e resposta leva
muito tempo, especialmente quando você considera que os
computadores cliente e servidor podem estar milhares de milhas de
distância, ele realmente acontece de forma muito rápida. Isso é por
causa do protocolo HyperText Transfer Protocol (HTTP), que é um
conjunto de regras desenvolvido para facilitar a transferência de
dados através da Internet.
Papel do servidor WEB na
INTERNET (Cont.)
12. * O Apache é um servidor Web, o qual é utilizado largamente no
mundo;
* Tanto sites pequenos com conteúdos estáticos, como grandes
portais utilizando banco de dados e paginas dinâmicas, utilizam
o Apache;
* Apache é o servidor web mais utilizada em sistemas Linux
Instalação e Configuração de um
Servidor Web no Linux
13. * No prompt do terminal, digite o seguinte comando:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
root@web-server:˜# apt-get install apache2
14. * Apache2 é configurado alterando certas diretivas nos arquivos de
configuração;
* Estas diretivas estão separadas entre os seguintes arquivos e diretórios:
* /etc/apache : diretório onde estão armazenadas os arquivos de configuração do
apache;
* apache2.conf : o principal arquivo de configuração do Apache2 . Contém
configurações globais;
* httpd.conf : historicamente o principal arquivo de configuração do Apache,
porém esse arquivo não existe. Em versões mais antigas do Ubuntu o arquivo
pode estar presente, mas vazio, como todas as opções de configuração foram
movidos para os arquivos.
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
15. * conf-available : este diretório contém arquivos de configuração disponíveis.
Todos os arquivos que estavam anteriormente em /etc/apache2/conf.d foram
removidos para esse diretório;
* conf-enabled : diretório que mantém links simbólicos para os arquivos em
localizados em /etc/apache2/conf-available. Quando um arquivo de
configuração é ligada simbolicamente, ele será ativado na próxima vez que o
Apache for reiniciado;
* envvars : arquivo onde as variáveis de ambiente são definidas para o Apache2;
* ports.conf : abriga as diretivas que determinam quais portas TCP Apache2 estará
escutando;
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
16. * sites-available : este diretório contém os arquivos de configuração para os
domínios virtuais. Domínio virtuais permitem que o Apache possa ser
configurado para responder por vários sites e com configurações distintas;
* sites-enabled : como o diretório mods-enabled, sites-enabled contém os links
simbólicos para o diretório /etc/apache2/sites-available. Da mesma forma,
quando um arquivo de configuração e ligado simbolicamente no sites-available,
o site configurado ficará ativo, uma vez Apache2 é reiniciado.
* magic : arquivo que contém as instruções que ajudam o Apache a determinar
automaticamente o tipo (MIME) de um arquivo.
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
17. * Iremos explica os parâmetros de configuração essenciais;
* Para maiores informações acessem a documentação do Apache em
http://httpd.apache.org/docs/2.4/
* Primeiramente iremos excluir a configuração padrão:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
root@web-server:/etc/apache2/sites-enabled# rm *
18. * Criar o arquivo de configuração do site (exemplo www.redes.net):
* Editar o arquivo criado:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
root@web-server:/# cd /etc/apache2/sites-avaliable
root@web-server:/etc/apache2/sites-available# cp 000-default.conf www.conf
root@web-server:/etc/apache2/sites-available# vim www.conf
19. * Configurações Essenciais :
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
<VirtualHost *:80>
# Email do administrador do Site
ServerAdmin webmaster@redes.net
# Domínio do Site. Importante quando há múltiplos domínio
ServerName www.redes.net
# Caso você deseje que esse site responda pelo IP do servidor Web
ServerAlias 192.168.10.11
# Localização dos arquivos que compõem o site
DocumentRoot /var/www/html
# Logs
ErrorLog ${APACHE_LOG_DIR}/error-www.log
CustomLog ${APACHE_LOG_DIR}/access-www.log combined
</VirtualHost>
20. * Habilitar o domínio criado usando o comando a2ensite :
* Recarregar o serviço Apache
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
root@web-server:/# a2ensite www
root@web-server:/# service apache2 reload
21. * Adicionar no servidor de DNS responsável pelo domínio, a entrada
referente ao site:
* Digamos que nosso domínio será www.redes.net e que o mesmo estará
hospedada no servidor web-server.redes.net
* Editar o arquivo de configuração do domínio redes.net:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
www CNAME web-server.redes.net.
Obs.:
• O serviço de DNS necessita ser reinicializado após as alterações.
22. * Validar a configuração usando um browser:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
Obs.:
• O serviço de DNS deverá estar funcionando perfeitamente;
• Utilize o comando Ping para validar o processo de tradução do serviço de DNS.
23. * É possível configurar um servidor Web para responder por vários sites de
domínios diferentes;
* Criando um segundo site no mesmo servidor (exemplo www2.redes.net):
* Editar o arquivo criado:
Configurando um Segundo Site no
Servidor Web Linux
root@web-server:/# cd /etc/apache2/sites-available
root@web-server:/etc/apache2/sites-available# cp 000-default.conf www2.conf
root@web-server:/etc/apache2/sites-available# vim www2.conf
24. * Configurações Essenciais :
Configurando um Segundo Site no
Servidor Web Linux (Cont.)
<VirtualHost *:80>
# Email do administrador do Site
ServerAdmin webmaster@redes.net
# Domínio do Site. Importante quando há múltiplos domínio
ServerName www2.redes.net
# Localização dos arquivos que compõem o site
DocumentRoot /var/www/html2
# Logs. Procure separar os arquivos de logs dos diferentes Sites
ErrorLog ${APACHE_LOG_DIR}/error-www2.log
CustomLog ${APACHE_LOG_DIR}/access-www2.log combined
</VirtualHost>
25. * Habilitar o domínio criado usando o comando a2ensite :
* Recarregar o serviço Apache
Configurando um Segundo Site no
Servidor Web Linux (Cont.)
root@web-server:/# a2ensite www2
root@web-server:/# service apache2 reload
26. * Adicionar no servidor de DNS responsável pelo domínio, a entrada
referente ao segundo site:
Configurando um Segundo Site no
Servidor Web Linux (Cont.)
www2 CNAME web-server.redes.net.
Obs.:
• O serviço de DNS necessita ser reinicializado após as alterações.
27. * Validar a configuração do novo site:
Configurando um Segundo Site no
Servidor Web Linux (Cont.)
Obs.:
• O serviço de DNS deverá estar funcionando perfeitamente;
• Utilize o comando Ping para validar o processo de tradução do serviço de DNS.
28. * Nginx (lê-se "engine x") é um servidor leve de HTTP, proxy
reverso, proxy de e-mail IMAP/POP3, feito por Igor Sysoev
em 2005, sob licença BSD-like 2-clause;
* Consome menos memória que o Apache, pois lida com
requisições Web do tipo “event-based server”; e o Apache é
baseado no “process-based server”.
Instalação e Configuração de um
Servidor Web no Linux / NGINX
29. * No prompt do terminal, digite o seguinte comando:
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
root@web-server:˜# apt install nginx
30. * O NGINX, assim como o Apache2, é configurado alterando certas diretivas
nos arquivos de configuração;
* Estas diretivas estão separadas entre os seguintes arquivos e diretórios:
* /etc/nginx : diretório onde estão armazenadas os arquivos de configuração do
nginx;
* nginx.conf : o principal arquivo de configuração. Contém configurações globais;
* sites-available : este diretório contém arquivos de configuração dos sites
disponíveis;
* sites-enabled : diretório que mantém links simbólicos para os arquivos
localizados no diretório /etc/sites-available/. Quando um arquivo de
configuração é ligada simbolicamente, ele será ativado na próxima vez que o
nginx for reiniciado.
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
31. * modules-available : este diretório contém módulos disponíveis ao servidor;
Módulos são funcionalidades que podem ser adicionadas facilmente ao servidor
(exemplo: suporte PHP);
* modules-enabled : diretório que mantém links simbólicos para os arquivos
localizados no diretório /etc/modules-available/, e que será ativado na próxima
vez que o nginx for reiniciado.
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
32. * No prompt do terminal, digite o seguinte comando:
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
root@web-server:˜# cd /etc/nginx/sites-avaliable
root@web-server:/etc/nginx/sites-avaliable# cp default meu_site
OU
root@web-server:/etc/nginx/sites-avaliable# touch meu_site
33. Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
server {
# Definição da Porta
listen 80 default_server;
listen [::]:80 default_server;
# Diretório que contém os Arq. Do Site
root /var/www/html/meu_site;
# Determina os tipo de arquivo index
index index.html index.htm;
# Nome do site; Domínio do Site. Importante quando há múltiplos domínio
server_name _;
# ou server_name www.redes.net;
location / {
# Tenta o arquivo solicitado, caso contrário retorna o erro 404
try_files $uri $uri/ =404;
}
}
34. * Adicionar no servidor de DNS responsável pelo domínio, a entrada
referente ao site:
* Digamos que nosso domínio será www.redes.net e que o mesmo estará
hospedada no servidor web-server.redes.net
* Editar o arquivo de configuração do domínio redes.net:
Instalação e Configuração de um
Servidor Web no Linux (Cont.)
www CNAME web-server.redes.net.
Obs.:
• O serviço de DNS necessita ser reinicializado após as alterações.
35. * No prompt do terminal, digite o seguinte comando:
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
service nginx <comando>
Comandos:
• stop - finaliza o serviço
• start - Inicializa
• status - informa se ocorreu erros
• restart - reinicializa o serviço
• reload - relê os arquivos de config.
systemctl <comando> nginx
36. * Validar a configuração usando um browser:
Obs.:
• O serviço de DNS deverá estar funcionando perfeitamente;
• Utilize o comando Ping para validar o processo de tradução do serviço de DNS.
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
37. Configurando o NGINX para trabalhar
com múltiplos Sites
* Criar o arquivo de configuração do segundo Site:
root@web-server:/etc/nginx/sites-avaliable# cp default segundo_site
OU
root@web-server:/etc/nginx/sites-avaliable# touch segundo_site
38. Configurando o NGINX para trabalhar
com múltiplos Sites (Cont.)
server {
# Definição da Porta
listen 80;
# Diretório que contém os Arq. Do Site
root /var/www/html/segundo_site;
# Determina os tipo de arquivo index
index index.html index.htm;
# Nome do site; Domínio do Site. Importante quando há múltiplos domínio
server_name www2.redes.net;
location / {
# Tenta o arquivo solicitado, caso contrário retorna o erro 404
try_files $uri $uri/ =404;
}
}
39. * No prompt do terminal, digite o seguinte comando:
Instalação e Configuração de um
Servidor Web no Linux / NGINX (Cont.)
service nginx reload
systemctl reload nginx
40. * Adicionar no servidor de DNS responsável pelo domínio, a entrada
referente ao segundo site:
Configurando o NGINX para trabalhar
com múltiplos Sites (Cont.)
www2 CNAME web-server.redes.net.
Obs.:
• O serviço de DNS necessita ser reinicializado após as alterações.
41. * Validar a configuração do novo site:
Configurando o NGINX para trabalhar
com múltiplos Sites (Cont.)
Obs.:
• O serviço de DNS deverá estar funcionando perfeitamente;
• Utilize o comando Ping para validar o processo de tradução do serviço de DNS.
42. * O IIs (Internet Information Server) é um servidor web criado
pela Microsoft para seus sistemas operacionais destinado
a servidores;
* Tem suporte a sites pequenos com conteúdos estáticos, como
também a grandes portais utilizando banco de dados e paginas
dinâmicas.
Instalação e Configuração de um
Servidor Web no Windows Server
43. * No Windows Server com interface gráfica, o processo de
instalação do serviço de DNS é todo visual;
* Windows fornece Assistentes de Instalação dos serviços que ele
tem suporte nativamente;
Instalação do IIS no Windows
Server
Clicar em ”Gerenciado do Servidor”
46. Instalação do IIS no Windows
Server (Cont.)
Selecione o Servidor em que
você deseja instalar o serviço
47. Instalação do IIS no Windows
Server (Cont.)
• Selecione Servidor
Web (IIS)
48. Instalação do IIS no Windows
Server (Cont.)
• Alguns serviços necessitam de que
alguns recursos estejam presente no
sistema operacional;
• O Assistente de Instalação verifica se
os recursos necessários já estão
instalados;
• Caso não estejam, ele solicita a
instalação dos mesmos;
49. Instalação do IIS no Windows
Server (Cont.)
• Depois dos recursos necessários foram
também selecionados para instalação,
a opção Servidor Web IIS aparecerá
selecionada.
50. Instalação do IIS no Windows
Server (Cont.)
• Aparecerá a lista
de recursos que
serão adicionados.
51. Instalação do IIS no Windows
Server (Cont.)
• Em seguida é possível
personalizar a função IIS
a ser instalada.
52. Instalação do IIS no Windows
Server (Cont.)
Lista das ações a serem executadas
Processo de Instalação
53. Configuração do IIS no Windows
Server
Clicar em ”Gerenciado do Servidor”
• Para Configurar o servidor IIS
selecione o ”Gerenciador do Servidor”;
• Na barra de ferramentas, selecione
”Ferramentas”, logo em seguida ”IIS”;
• Caso não apareça a opção ”IIS”,
provavelmente você não instalou os
recursos juntamente com o serviço.
55. Configuração do IIS no Windows
Server (Cont.)
• Para adicionar um site basta clicar com
o botão direito sobre a pasta ”Sites”;
• No Sub Menu escolhe a opção
”Adicionar Site”;
56. Configuração do IIS no Windows
Server (Cont.)
• Especificar o nome do Site;
• Especificar, no sistema de arquivo,
qual o diretório onde estará
armazenado as páginas Web deste site;
• Especificar o nome do host / URL do
site.
58. Configuração do IIS no Windows
Server (Cont.)
Ao selecionar
um determinado
site, é possível
personalizar os
parâmetros do
mesmo, bem
disponibilizar ou
não as páginas
do site.
59. Configuração do IIS no Windows
Server (Cont.)
• Acessar o diretório especificado
nas configurações do site;
• Colocar todos as páginas web
referentes ao Site;
• O primeira página do site é o
arquivo index.html.
60. Configuração do IIS no Windows
Server (Cont.)
• Adicionar no servidor de DNS responsável pelo domínio, a entrada referente ao
site;
• Utilize o Ping para validar o registro adicionado.
61. Configuração do IIS no Windows
Server (Cont.)
• Com o auxilio de um browser (navegador), verifique se o conteúdo do site está
disponível:
Conteúdo do Site
62. Configurando um Segundo Site no
IIS do Windows Server
• Acesse o gerenciador do serviço do
Serviços de Informações da
Internet (IIS);
• Sobre a pasta Sites, clique com o
botão direito;
• No Sub Menu, selecione
”Adicionar Site”.
63. Configurando um Segundo Site no
IIS do Windows Server (Cont.)
• Especificar o nome do Site;
• Especificar, no sistema de arquivo,
qual o diretório onde estará
armazenado as páginas Web deste site;
• Especificar o nome do host / URL do
site.
65. Configurando um Segundo Site no
IIS do Windows Server (Cont.)
• Acessar o diretório
especificado nas
configurações do site;
• Colocar todos as páginas
web referentes ao Site;
• O primeira página do site é
o arquivo index.html.
66. Configurando um Segundo Site no
IIS do Windows Server (Cont.)
• Adicionar no servidor de DNS responsável pelo domínio, a entrada referente ao
segundo site;
• Utilize o Ping para validar o registro adicionado.
67. Configurando um Segundo Site no
IIS do Windows Server (Cont.)
• Com o auxilio de um browser (navegador), verifique se o conteúdo do site está
disponível:
Conteúdo do Site
68. Acessando um determinado Site
pelo IP do Servidor
• É possível especificar qual dos sites será encaminhado ao browser quando for
especificado o IP do servidor;
Erro ao tentar acessar o site pelo IP!
69. Acessando um determinado Site
pelo IP do Servidor (Cont.)
• No gerenciador do serviço,
primeiramente selecione o site que
será encaminhado quando o acesso
ocorrer pelo IP;
• Selecione ”Associações”.
1◦
2◦
70. Acessando um determinado Site
pelo IP do Servidor (Cont.)
• Adicionar uma nova
associação do site;
• Especifique o IP sem
nome de host.
1◦
2◦
71. Acessando um determinado Site
pelo IP do Servidor (Cont.)
• Todas as associações de um determinado site:
72. Acessando um determinado Site
pelo IP do Servidor (Cont.)
• Com o auxilio de um browser (navegador), verifique se o conteúdo do site está
disponível através do IP do servidor Web:
73. * SCHMITT, Marcelo Augusto Rauh;
PERES, André; LOUREIRO, César
Augusto Hass. Redes de
computadores: nível de aplicação e
instalação de serviços. Porto Alegre,
RS: Bookman, 2013.
Referencias Bibliográficas