Sistemas Operacionais Livres Servidor Web Apache
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