2. Apache
✔ Implementação do protocolo HTTP(80) e HTTPS(443)
✔ Arquitetura Client / Server
✔ Proviemento de páginas WEB
✔ Open Source
✔ Servidor Web mais utilizado no mundo
✔ Daemon responsável pelo serviço: httpd
✔ Atualmente na versão 2.2. Versão 1.3 ainda é utilizada.
✔ Após qualquer alteração no arquivo de configuração, o serviço do
apache deve ser reiniciado.
3. Apache – Instalando
✔ Para instalá-lo, usamos :
yum install httpd
✔ Iniciando o serviço:
[root@localhost conf.d]# service httpd start
ou
[root@localhost conf.d]# /etc/init.d/httpd start
✔ Testando o serviço
Entre com a seguinte url em seu navegador web:
http://localhost/
http://localhost/manual
5. APACHE – Configuração
Diretórios:
✔ - /etc/httpd/ -Arquivos de configuração do apache (ServerRoot)
✔ conf/ - contém o arquivo de configuração do apache: httpd.conf
✔ conf.d/ - Arquivos de configurações de aplicações do apache.
Aqui dentro devem ser criados arquivos do tipo .conf com a
configuração de cada site
✔ logs/ - Diretório onde serão armazenados os logs do apache
✔ modules/ - Diretório onde encontram-se os módulos do apache.
✔ - /var/www/html – Arquivos que são disponibilizados pelo servidor
web (DocumentRoot)
6. HTTP – /etc/httpd/conf/httpd.conf
### Sessão 1: Global ###
ServerRoot "/etc/httpd" # Define o topo dos arquivos de config do apache
PidFile run/httpd.pid # arquivo que armazenará o PID do processo pai
Timeout 120 # Tempo de timeout de requisições em seg
KeepAlive Off # Define o uso de conexões persistentes
MaxKeepAliveRequests 100 #Máximo de requests em uma conex. persistente
KeepAliveTimeout 15 # número em seg de espera de nova request na mesma
#conexão do mesmo host.
Listen 80 # Porta/interface onde o http estará houvindo.
LoadModule auth_basic_module modules/mod_auth_basic.so # Adiciona
#módulos ao apache.
Include conf.d/*.conf # inclui os arquivos .conf do dir conf.d
User apache # usuário em que o servidor estará rodando
Group apache # Grupo em que o servidor estará rodando
7. HTTP – /etc/httpd/conf/httpd.conf
### Sessão 2: Main Server ###
Caso não exista um virtualhost que atenda a requisição
ServerAdmin root@localhost # Endereço de email do administrador
#ServerName www.example.com:80 # Nome do site, domínio registrado
DocumentRoot "/var/www/html" # Dir que armazena as páginas do dominio
<Directory "/var/www/html">
Options Indexes FollowSymLinks # Lista o conteudo do dir e segue links
AllowOverride None # Não deve ser usado o arquivo .htaccess
Order allow,deny
Allow from all
</Directory>
# Para cada deiretório, podem ser definidas certas opções, que são feitas
# através da tag acima
DirectoryIndex index.html index.html.var # Arquivos que devem ser
# carregados quando a pasta for acessada.
8. HTTP – /etc/httpd/conf/httpd.conf
### Alias ###
- Os Aliases (apelidos) servem para mapear diretórios para URL's.
Ex: Você deseja que o ao acessar: http://192.168.15.30/meuexemplo seja
exibido o conteúdo da pasta /opt/meuexemplo.
Basta adicionar no final do http.conf a seguinte linha:
Alias /meuexemplo/ /opt/meuexemplo/
Alias /meuexemplo /opt/meuexemplo/
9. HTTP – /etc/httpd/conf/httpd.conf
### <virtualhosts> ###
- Torna possível a hospedagem de múltiplos websites no mesmo
Servidor.
- Deve-se criar um arquivo .conf no /etc/httpd/conf.d para cada domínio.
- Configurações necessárias:
# Necessário descomentar a linha abaixo no httpd.conf
NameVirtualHost *
- Dentro do madeira.eng.br.conf adiciona-se:
<VirtualHost *>
ServerAdmin fred@madeira.eng.br
DocumentRoot /var/www/html/madeira.eng.br
ServerName www.madeira.eng.br
ServerAlias madeira.eng.br *.madeira.eng.br
ErrorLog logs/www.mandeira.eng.br-error_log
CustomLog logs/www.mandeira.eng.br-access_log common
</VirtualHost>
10. HTTP – /etc/httpd/conf/httpd.conf
### Autenticação ###
- Permite autenticar usuários baseado em senhas do htpasswd
- Criar o arquivo onde serão armazenadas as senhas no padrão htpasswd:
[root@server3 teste3]# /var/www/html/seudominio/
[root@server3 teste3]# htpasswd -c passwd fred
New password:
Re-type new password:
Adding password for user fred
- Deve-se adicionar as linhas abaixo dentro do arquivo .conf do diretório/domínio
em questão para que seja validado o acesso ao :
<Directory /var/www/html/seudominio>
AuthType Basic
AuthUserFile /var/www/html/seudominio/passwd
AuthName "Teste 3 - Linux"
Require valid-user
</Directory>
11. HTTP – Atividade Prática
1. Crie três pastas chamadas teste1, teste2 e teste3 no DocumentRoot do
apache.
2. Coloque os arquivos teste1.html, teste2.html e teste3.html em
suas respectivas pastas.
3. Acesse cada uma das pastas via web:
http://localhost/teste1/
http://localhost/teste2/
http://localhost/teste3/
4. Não permita que seja listado o conteúdo do diretório da pasta
teste1.
5. Configure no DNS local o domínio: meusobrenome.com.br e aponte os hosts
www, vpn e ftp para o seu IP local.
6. Configure o Apache para que ao acessar www.meusobrenome.com.br seja
exibido o conteúdo da pasta teste1, vpn.meusobrenome.com.br seja exibido o
conteúdo da pasta teste2 e ftp.meusobrenome.com.br seja exibido o conteúdo da
pasta teste3 (ative o uso de virtualhosts).
7. Adicione autenticação para o domínio ftp.meusobrenome.com.br