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.