Apache Apache, O que é? Apache foi um desenvolvimento do servidor http da NCSA (National Center for Super Computer Applications) de 1994 O nome é uma corruptela de A Patchy, por que o programa no início sofreu muitas correções (patches) Endereço para mais informações http://www.apache.org A fundação The Apache Software Foundation existe para dar suporte legal e financeiro para os projetos do grupo Diretórios importantes /home/httpd/html Diretório com as páginas do site, incluindo a principal /home/httpd/cgi-bin Armazena os scripts, programas, etc cgi /home/httpd/icons Armazena figuras Diretórios importantes /etc/httpd/conf Diretório onde ficam armazenados os arquivos de configuração /etc/httpd/logs Diretório onde ficam armazenados os logs de acesso /etc/httpd/modules Diretório onde ficam armazenados os módulos de funções Arquivos e programas /home/httpd/html/index.html Página inicial do Apache no servidor /home/usuario/public_html/index.html Página inicial do usuário usuário /sbin/httpd Daemon do Apache /etc/rc.d/init.d/httpd Script de inicialização do apache /var/run/httpd.pid Armazena o pid do daemon do Apache Arquivos e Programas /etc/httpd/httpd.conf /etc/httpd/access.conf /etc/httpd/srm.conf Arquivos de configuração do Apache O arquivo httpd.conf é o primeiro a ser lido Todos os três arquivos são tratados de maneira idêntica Versões mais modernas do Apache usam somente o arquivo httpd.conf, o conteúdo dos outros arquivos foi transferido para este arquivo. Configuração Nos arquivos indicamos as opções das diretivas e os módulos que serão executados Diretivas são opções que indicam como o servidor deve funcionar Módulos são partes do programa que são carregadas somente quando for necessário Diretivas em srm.conf DocumentRoot /home/httpd/html Especifica onde estará a página principal do apache UserDir public_html O nome do diretório que é adicionado no diretório home de um usuário quando, por exemplo, um pedido para www.computador.com/~usuario é recebido DirectoryIndex index.html index.shtml index.cgi home.html home.html Nomes válidos como páginas de abertura de um site. Diretivas em srm.conf ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ Apelido do diretório onde ficam os cgis Diretivas em httpd.conf ServerType standalone Se o daemon será iniciado a partir do inet.d ou script. não alterar! Port 80 Número da porta que o tcp irá responder ServerAdmin root@localhost Endereço do culpado por tudo ServerRoot /etc/httpd Onde ficam os arquivos de config, erro e log ErrorLog logs/error_log Onde ficam os logs de erro. Se não começa com / então é relativo a ServerRoot Diretivas em httpd.conf BindAddress * Ouve conexões em todos os IPs do servidor Liga um IP, nome ou todos os IPs do servidor Listen [IP:]porta Instrui Apache para ouvir mais de um IP ou porta Listen 80 Listen 8000 Listen 146.164.35.211:80 Listen 146.164.35.212:8000 Diretivas em httpd.conf Timeout 300 Número de segundos antes de receber ou enviar um timeout KeepAlive On Conexões persistentes, mais de um pedido de página por conexão StartServers Número máximo de cópias do servidor criadas no início. O número varia com a necessidade MaxClients Número máximo de conexões concorrentes ao site. Servidores Virtuais Permite ao daemon responder a mais de um endereço IP Forma padrão: <VirtualHost host.domain.com> ServerAdmin root@mail DocumentRoot /diretorio ServerName host.domain.com ErrorLog logs/host-error_log TransferLog logs/host-access-log </VirtualHost> Exemplo Assuma dois IPs para a mesma máquina 10.0.0.70 – suporte.com.br 10.0.0.80 – seguranca.com.br Exitem dois diretórios /home/suporte e /home/seguranca <VirtualHost suporte.com.br> ServerAdmin [email protected] DocumentRoot /home/suporte ServerName suporte.com.br ErrorLog logs/suporte-error_log TransferLog logs/suporte-error_log </VirtualHost> Exemplo Virtual Host cont <VirtualHost seguranca.com.br> ServerAdmin [email protected] DocumentRoot /home/seguranca ServerName seguranca.com.br ErrorLog logs/seguranca-error_log TransferLog logs/seguranca-error_log </VirtualHost>