Apache - Servidor Web

    - Instalando o servidor Web (apache).
     #apt-get install apache2
     
    - Verificando o principal arquivo de configuração.
     #vi /etc/apache2/apache.conf
     
    - Diretório padrão para configurações do apache "ServerRoot".
     /etc/apache2
     
    - Diretorio padrao dos arquivos do site (DocumentRoot.
     /var/www
     
    - Número de processos que vao iniciar:
     StartServers 5
     
    - Número minimo de processos adicionais.
     MinSpareServers 5
     
    - Número máximo de processos adicionais.
     MaxSpareServers 10
     
    - Número máximo de clientes adicionais.
     MaxClients 150
     
    - Número máximo de requisições que um processo pode servir.
     MaxRequestPerChild 0
     
    - Localização do arquivo de logs de erros.
     /var/log/apache2/access.log custon
     
    - Localização do arquivo de logs que registra os acessos ao site.
     /var/1og/apache2/acc~ess.1og custom
     
    - Especifica o formato de gravação dentro do arquivo de log.
     LogFormat "%h %1 %u %t \"%r\" %>s %b \"%{Refererh\" \"%{User-Agenth\"" comb ned
     LogFormat "%h %1 %u %t \"%r\" %>s %b" common
     LogFormat "%{Referer}i -> %U" referer
     LogFormat "%{User-agent}i" agent
     
    - Utilizando um pouco da obscuridade como seguran~a, e altamente recomendado
     desativarmos a diretiva que mostra para 0 mundo informa~6es senslveis sobre
     nosso sistema operacional e versiio do Apache:
     Iserversignature Off

    - Podemos modificar a documentaçao apresentada pelo web server.
     # AddDefau1tCharset iso-8859-1
     
 OBS: Por padrao esta diretiva vem comentada e a codifca~ao padrao e UTF-8, descomente
somente se ocorrerem problemas de acentuação.

    - Porta que o servidor ficará ouvindo para receber conexções:
    # vi /etc/apache2/ports.conf
    Listen 80
  
    - Teste para conferir o arquivo de configurações.
    # apache2ctl -t
    
    - Inicializar o apache.
    # /etc/init.d/apache2 stop
    # /etc/init.d/apache2 start
    
    - Verifique 0 processo pai e os processos filhos do Apache que foram inializados.
    # ps auxf I grep apache2 I grep -v grep
    
    - conferindo as portas abertas pelo servidor Web.
    # netstat -nltp I grep apache
    
    

Suporte ao PhP5

# aptitude install php5 # aptitude install libapache2-mod-php5 - Verificando se os módulos do PhP5 estão ativados. ls -l /etc/apache2/mods-enabled ou apache2ctl -M Se ao tentar abrir o PhP pelo navegador, e o mesmo pedir para fazer o download do arquivo, não executando o programa, teremos que procurar pelo php5.conf e alterar a linha php_admin_value engine OFF, para a seguinte linha php_admin_value engine ON. Caso o módulo php não esteje funcionando, ative-o usando o seguinte comando. - # a2enmod php5 Aumentando um pouco a segurança do PHP, edite o arquivo de configurações e ative as seguintes opções: #vi /etc/php5/apache2/php.ini safe_mode = On safe_mode_gid = On Desta forma toda vez que 0 PHP acessar algum arquivo do sistema sera feita uma checagem de DID e GID.

Criando domínios virtuais

Nesta versão do apache os domínios são configurados em dois diretórios: • /etc/apache2/sites-avaiIable: Nesse diret6rio £learn todos os arquivos de configuração dos domfnios virtuais, mas, mesmo estando dentro dele, na,o significa que esta.o ativados . • /etc/apache2/sites-enable: Aqui SaG criados Links Simb6licos apontando 0 dominio virtual dentro do /etc/apache2/sites-available para que ele possa ser ativado. # vi /etc/apache2/sites-available/seunome <VirtualHost www.seunome.com.br> DocumentRoot /var/www/seunome ServerName seunome.com.br ServerAdmin webmaster©seunome.com.br ErrorLog /var/log/apache2/seunome.com.br-error.log CustomLog /var/log/apache2/seunome.com.br-access.log common </VirtualHost> Agora, temos que criar um link simbolico dentro do /etc/apache2/sites-enable, apontando para a seu dominio virtual dentro do /etc/apache2/sites-available. Mas nao precisamos fazer o link na mao, 0 Apache2 tem uma ferramenta que faz isso. # a2ensite Crie o diretorio onde ficará hospedado o domínio virtual. # mkdir /var/www/seunome # mkdir /var/www/testevir/index.html Para testar a sintex de seu arquivo de virtual host. # lapachectl -S Sem parar nosso servidor web e colocar no ar a Virtual Host, recarregue os arquivos de configuração: # /etc/init.d/apache2 reload

Reescrita de URL

o Apache permite a reescrita de URL atraves de uso de expressoes regulaTes; para tal e necessaria ativar 0 modulo rewrite. # apache2ctl -M ou ls -l /etc/apache2/mods-enabled Se não ative o módulo rewrite. a2enmod rewrite Reinie o serviço # /etc/init.d/apache2 stop # /etc/init.d/apache2 start Vamos aproveitar nosso Virtual Host criado no exercicio anterior. Vamos edita- 10 e acrescentar alguns parametros: <VirtualHost www.seunome.com.br> DocumentRoot /var/www/seunome ServerName seunome.com.br ServerAdmin webmaster@seunome.com.br ErrorLog /var/log/apache2/seunome/error.log CustomLog /var/log/apache2!seunome/access.log common RewriteEngine on RewriteRule -(.*) [-/J$ / [R,NC,LJ] </VirtualHost> • Linha RewriteEngine - Estamos "ligando" 0 modo rewrite . • Linha RewriteRule - Estamos aplicando uma expressao regular onde qualquer palavra escrita apos ··http://wv.;w.seunome.com.brj." seja apagada e que nosso web server redirecione devolta para 0 ../". Isso e muito util quando nao queremos ninguem vasculhando os sub-diretorios de nosso dominio. As letras dentro dos colchetes significam respectivamente: [R] reescrever a URL e redirecionar, [NC] case insensitive e [1] aplica somente uma vez a cada tentativa, isso evita que a regra entre em loop infinito. Claro que esta nao e a unica forma de utilizar 0 modJewrite, pOl' utilizar expressoes regulares existem inumeras outras utilidades. Dentre elas, ajudar na reescrita de URL em um web server com balanceamento de carga, restri~ao de acesso, conteudo diferenciado pOl' honirio, mostrar conteudo especifico dependendo do browser, entre outros.