ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor Web Apache

                                     Frederico Madeira
                                   LPIC­1, LPIC­2, CCNA
                                   fred@madeira.eng.br
                                    www.madeira.eng.br
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.
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
SAMBA –   Instalando

                 Tela inicial do Apache
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)
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
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.
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/
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>
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>
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
ADMINISTRAÇÃO DE REDES I ­ LINUX
Servidor Web Apache

                                     Frederico Madeira
                                   LPIC­1, LPIC­2, CCNA
                                   fred@madeira.eng.br
                                    www.madeira.eng.br

Linux - Servidor Web Apache

  • 1.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor Web Apache Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  • 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
  • 4.
    SAMBA – Instalando Tela inicial do Apache
  • 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 – AtividadePrá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
  • 12.
    ADMINISTRAÇÃO DE REDES I ­ LINUX Servidor Web Apache Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br