CENTRO FEDERAL DE EDUCAÇÃO TECNÓLOGICA DO ESPÍRITO SANTO UNIDADE DE ENSINO DESCENTRALIZADA DE COLATINA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES Servidor Apache Grupo: Filipe, Gabriel e Vicente Servidor Apache O Apache é um servidor Web extremamente configurável, robusto e de alta performance desenvolvido por uma equipe de voluntários (conhecida como Apache Group) buscando criar um servidor web com muitas características e com código fonte disponível gratuitamente via Internet. Instalação # apt-get install apache2 Instalação: Diretórios /etc/apache2/ – Contém arquivos de configuração como o apache2.conf e httpd.conf. /var/www – Diretório padrão para o conteúdo web, para modificá-lo utilize os arquivos de configuração Instalação: Diretórios /var/www/html/apache2-default – se você tiver instalado o manual do apache ele se encontrará nesse diretório, você poderá acessá-lo no endereço: http://localhost/. /usr/sbin – Contém executáveis, incluindo o próprio servidor Instalação: Diretórios /usr/bin – Possui alguns utilitários como o htpasswd que é usado para gerar arquivos de autenticação e senha. /var/log/http – Possui os arquivos de log, os principais são access_log e error_log, porém você pode personalizar. Instalação: Diretórios /var/run/lock – O script de inicialização adiciona um arquivo de bloqueio chamado httpd. /var/run – O apache cria um http.pid onde encontra-se o ID do processo pai do Apache. Inicialização e Encerramento Inicializando # /etc/init.d/apache2 start Reinicializando # /etc/init.d/apache2 restart Encerrando # /etc/init.d/apache2 stop Editando apache2.conf <diretorio um_diretorio/na/sua/arvore> diretiva opção opção diretiva opção opção </diretorio> Diretivas ServerType – Os dois tipos standalone e inetd; ServerRoot - Informa ao servidor onde encontrar todos os arquivos de configuração; Port – Indica a porta onde o servidor será executado; User and Group – Usado para definir o usuário e o grupo que o servidor usará para processar as solicitações; ServerAdmin – Configurado com o endereço do Webmaster que administra o servidor. Diretivas ServerName – Configura o nome do host retornado pelo servidor; DocumentRoot – Configura o diretório superior a partir do qual o Apache serve os arquivos; UserDir – Define o diretório home de usuário local onde ele poderá armazenar documentos html; DirectoryIndex – Mostra qual arquivo será o index. Controle de Acesso Utilizado para controlar o acesso a sessões podendo bloquear algumas áreas e possibilitar o acesso através de autenticação. Pode-se fornecer meios de desbloqueio aos usuários de sua escolha. Modelo de Controle de Acesso <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allo from site.dominio </Location> Autenticação Processo de garantir que os visitantes são quem realmente afirmam ser, mediante o fornecimento de usuário e senha. Módulos Os módulos permitem adicionar/remover características do Apache sem necessidade de recompilar todo o servidor web, assim interrompendo o serviço para a atualização dos arquivos. Módulos de programas terceiros também podem ser compilados e adicionado sem problemas através deste recurso. Alguns Módulos mod_userdir - Seleção de diretórios de recursos por nome de usuário. mod_dir - Manipulação de Diretório e arquivo padrão de diretório. mod_autoindex - Geração de índice automático de diretório. mod_auth - Autenticação HTTP básica (usuário, senha). Alguns Módulos mod_log_config - Registro de requisições personalizáveis. mod_status - Visualiza status do servidor em tempo de execução. Hosting Virtual Virtual Host (Site Virtual) - é um recurso que permite servir mais de um site no mesmo servidor. Hosting Virtual: Endereços Requer um endereço IP diferente para cada site. Este poderá ser um IP real (da interface de rede) ou um apelido, o que interessa é que deve haver um endereço IP diferente para cada site Exemplo de Host Virtual: Endereço <VirtualHost www.site.dominio> ServerName www.site.dominio ServerAdmin [email protected] DocumentRoot /var/www/site TransferLog /var/log/apache/site/access.log ErrorLog /var/log/apache/site/error.log </VirtualHost> Host Virtual: Nome Hosting Virtual baseado em nome permite rodar mais do que um Web Site no mesmo Host. Exemplo de Host Virtual: Nome NameVirtualHost 172.16.43.129 <VirtualHost 172.16.43.129> ServerName www.site2.dominio DocumentRoot /var/www/site2 CustomLog /var/log/apache/site2/access.log combined ErrorLog /var/log/apache/site2/error.log </VirtualHost>