Servidor Web: mudanças entre as edições
Linha 54: | Linha 54: | ||
====Configuração default==== | ====Configuração default==== | ||
Quando o '''apache''' é instalado é criado o arquivo '''/etc/apache2/sites-available/default.conf''' que contém a configuração de um '''site padrão'''. Este site usa o diretório '''/var/www''' para armazenar as '''páginas Web''', sendo o arquivo '''index.html''' a página base do site. | Quando o '''apache''' é instalado é criado o arquivo '''/etc/apache2/sites-available/default.conf''' que contém a configuração de um '''site padrão'''. Este site usa o diretório '''/var/www/http''' para armazenar as '''páginas Web''', sendo o arquivo '''index.html''' a página base do site. | ||
Se o '''servidor Web''' vai armazenar um único site, esta configuração é suficiente. | Se o '''servidor Web''' vai armazenar um único site, esta configuração é suficiente. | ||
Linha 88: | Linha 88: | ||
</VirtualHost> | </VirtualHost> | ||
Para tornar o site disponível, cria-se um link do arquivo de configuração para o diretório ''' | Para tornar o site disponível, cria-se um link do arquivo de configuração para o diretório '''sites-enabled''', como por exemplo: | ||
ln -s /etc/apache2/sites-available/redes10.conf /etc/apache2/sites- | ln -s /etc/apache2/sites-available/redes10.conf /etc/apache2/sites-enabled/redes10.conf | ||
:Caso se desejar tornar o site indisponível, sem remover a configuração, apenas se apaga o link simbólico. | :Caso se desejar tornar o site indisponível, sem remover a configuração, apenas se apaga o link simbólico. | ||
Linha 102: | Linha 102: | ||
service apache2 restart | service apache2 restart | ||
===Exercício=== | ====Exercício==== | ||
Criar '''sites virtuais''' para armazenar no servidor '''apache''', para tal realize os seguintes procedimentos: | Criar '''sites virtuais''' para armazenar no servidor '''apache''', para tal realize os seguintes procedimentos: | ||
*Crie pelo menos dois '''IP alias''' para responder pelos sites. | *Crie pelo menos dois '''IP alias''' para responder pelos sites. | ||
Linha 114: | Linha 114: | ||
;Dicas: Para não haver conflito de endereços IP entre as diversas equipes, utilizar a rede 192.168.100.0/24 e utilizar faixas específicas de IP para cada grupo. | ;Dicas: Para não haver conflito de endereços IP entre as diversas equipes, utilizar a rede 192.168.100.0/24 e utilizar faixas específicas de IP para cada grupo. | ||
:Compartilhar entre os grupos os endereços IP e nomes dos sites para testar acesso aos servidores dos demais colegas. | :Compartilhar entre os grupos os endereços IP e nomes dos sites para testar acesso aos servidores dos demais colegas. | ||
===Módulos=== | |||
A configuração dos '''módulos''' também é realizada em dois diretórios separados: | |||
*'''mods-available''', que contém a configuração e os scripts de inicialização dos módulos disponíveis; | |||
*'''mods-enabled''', que são os módulos habilitados. | |||
Para habilitar um módulo, usamos o comando: | |||
a2enmod | |||
Para desabilitar um módulo, usamos o comando: | |||
a2dismod | |||
==Suporte a PHP== | |||
==Referências== | ==Referências== |
Edição das 12h38min de 19 de dezembro de 2015
Servidor Apache
O servidor Apache é um servidor web livre amplamente utilizado na Internet.
O Apache implementa o lado servidor da Aplicação Web e atende requisições de clientes Web, ou navegadores, através do Protocolo HTTP (HyperText Transfer Protocol).
O Apache pode transferir para o cliente Web diferentes tipos de documentos, incluindo páginas HTML (Hipertext Meta Language), arquivos em formato PDF, arquivos de imagens, etc.
Um documento pode ser um simples arquivo em disco, mas também pode ser gerado dinamicamente através de tecnologias Web como PHP, JSP, ASP e outras. Estas tecnologias se caracterizam por uma linguagem de programação integrada ao servidor web, obtendo dele informação sobre como gerar o conteúdo da resposta [1].
Instalação do Apache no Ubuntu
- Instalação
sudo apt-get install apache2
Uma vez instalado o servidor Web já estará funcionando com um página Web básica, chamada index.html, localizada no diretório:
/var/www/http/
O servidor Web poderá ser testado com um navegador utilizando o endereço de loopback 127.0.0.1 (na própria máquina) ou através do endereço IP da máquina em uma rede.
Para o gerenciamento do apache deve instalar também alguns utilitários, disponíveis no pacote:
sudo apt-get install apache2-utils
Configuração do Apache no Ubuntu
Organização dos arquivos
O apache é um aplicativo modular e se limita a executar a tarefa de entregar páginas HTML ou outros tipos de arquivos a clientes. Qualquer outra tarefa é executada por módulos externos.
Por exemplo, para acesso a uma página PHP, o servidor apache repassa a requisição para o módulo mod_php, que aciona o interpretador PHP que processa a página e entrega ao apache para este entregar ao cliente [2].
- Arquivos de condfiguração
- Os arquivos de configuração do apache também são modulares e estão organizados dentro do diretório /etc/apache2:
/etc/apache2/ +- apache2.conf +- ports.conf +- sites-available/ +- sites-enabled/ +- mods-available/ +- mods-enabled/ +- conf-available/ +- conf-enabled/
- O arquivo apache2.conf contem configurações diversas do servidor;
- O arquivo ports.conf contem a configuração das portas TCP que o servidor vai escutar;
- Os diretórios sites-available e sites-enabled contém a configuração dos sites hospedados;
- Os diretórios mods-available e mods-enabled contém a configuração dos módulos.
Sites hospedados
Configuração default
Quando o apache é instalado é criado o arquivo /etc/apache2/sites-available/default.conf que contém a configuração de um site padrão. Este site usa o diretório /var/www/http para armazenar as páginas Web, sendo o arquivo index.html a página base do site.
Se o servidor Web vai armazenar um único site, esta configuração é suficiente.
Hospedagem de vários sites
O apache pode armazenar vários sites simultaneamente, cada um representado por um arquivo de configuração no diretório sites-available.
Para armazenar vários sites simultaneamente é necessário criar um endereço IP alias, por exemplo:
ifconfig eth0:0 192.168.100.10 netmask 255.255.255.0
Cria-se então um arquivo de configuração para o site, por exemplo redes10.conf, e armazena o mesmo no diretório sites-available. O conteúdo do arquivo contém as seguintes informações básicas:
<VirtualHost 192.168.100.10:80> #Endereço IP e porta de escuta ServerName www.redes10.edu.br # O nome de servidor ServerAdmin webmaster@redes10.edu.br #Administrador do site DocumentRoot /var/www/http/redes10 # Diretório onde estão os documentos desse site <Directory /var/www/http/redes10> Options Indexes DirectoryIndex index.html index.php order allow,deny allow from all </Directory> # As restrições de acesso aos documentos </VirtualHost>
Para tornar o site disponível, cria-se um link do arquivo de configuração para o diretório sites-enabled, como por exemplo:
ln -s /etc/apache2/sites-available/redes10.conf /etc/apache2/sites-enabled/redes10.conf
- Caso se desejar tornar o site indisponível, sem remover a configuração, apenas se apaga o link simbólico.
Os comandos a2ensite e a2dissite ativam e desativam os links de forma automática, por exemplo [2]:
a2ensite redes10.conf
- (ativa)
- ou
a2dissite redes10.conf
- (desativa)
Depois de modificada a configuração, reiniciar o servidor apache:
service apache2 restart
Exercício
Criar sites virtuais para armazenar no servidor apache, para tal realize os seguintes procedimentos:
- Crie pelo menos dois IP alias para responder pelos sites.
- Crie arquivos de configuração para os sites.
- Crie diretórios para armazenar as páginas dos sites no diretório /var/www/html/.
- Crie paginas HTML e salve nos diretórios do site correspondente, cada uma com o nome index.htlm.
- Testar o acesso ao servidor Web usando o endereço IP dos sites a partir de um navegador.
Para ter acesso as páginas Web a partir do nome do site seria necessário um servidor DNS, entretanto, para fins de teste, podemos incluir o nome dos sites que queremos acessar no arquivo /etc/hosts, para tal:
- Edite o arquivo /etc/hosts e acrescente linhas com o nome dos sites, por exemplo:
192.168.100.10 www.redes10.edu.br
- Dicas
- Para não haver conflito de endereços IP entre as diversas equipes, utilizar a rede 192.168.100.0/24 e utilizar faixas específicas de IP para cada grupo.
- Compartilhar entre os grupos os endereços IP e nomes dos sites para testar acesso aos servidores dos demais colegas.
Módulos
A configuração dos módulos também é realizada em dois diretórios separados:
- mods-available, que contém a configuração e os scripts de inicialização dos módulos disponíveis;
- mods-enabled, que são os módulos habilitados.
Para habilitar um módulo, usamos o comando:
a2enmod
Para desabilitar um módulo, usamos o comando:
a2dismod
Suporte a PHP
Referências
- ↑ VALLE, O. T. Gerência de Redes, Diário Aula, 2014. http://wiki.sj.ifsc.edu.br/wiki/index.php/GER20706-2014-1
- ↑ 2,0 2,1 MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.
--Evandro.cantu (discussão) 09h04min de 16 de dezembro de 2015 (BRST)