Configurando SSL em Apache

De Infraestrutura São Carlos
Ir para navegação Ir para pesquisar

Objetivo

Descrever como configurar certificados SSL em Apache 2.

Requisitos

  • Servidor Ubuntu
  • Apache 2
  • OpenSSL

Procedimentos

  1. Gere o certificado conforme o manual Geração de certificados auto-assinados com o nome apache.pem.
  2. Crie o diretório /etc/apache2/ssl, que irá contém o certificado SSL:
    # mkdir /etc/apache2/ssl
    
  3. Copie o arquivo do certificado apache.pem e seu hash (link simbólico) para o diretório /etc/apache2/ssl.
  4. Habilite o módulo ssl do Apache:
    a2enmod ssl
    
  5. Crie um arquivo de configuração (ssl) para o SSL no diretório /etc/apache2/sites-available, com o seguinte conteúdo:
    NameVirtualHost *:443
    <VirtualHost *:443>
    ServerAdmin e-mail@dominio.br
    
    DocumentRoot /var/www/
    
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    
    <Directory "/var/www/">
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{SSL_PROTOCOL}x %{SSL_CIPHER}x %b" combined_ssl
    ErrorLog /var/log/apache2/error_ssl.log
    CustomLog /var/log/apache2/access_ssl.log combined_ssl
            
    LogLevel warn
            
    ServerSignature Off
            
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    </VirtualHost>
    
  6. Habilite o site com o SSL no Apache:
    # a2ensite ssl
    
  7. Configure o Apache para escutar na porta 443 editando o arquvo /etc/apache2/ports.conf, acrescentado a linha:
    <IfModule mod_ssl.c>
        Listen 443
    </IfModule>
    
  8. Reinicie o Apache:
    # /etc/init.d/apache2 stop
    # /etc/init.d/apache2 start
    

Referências