Página Inicial > Linux > CentOS: Ativando SSL no Apache

CentOS: Ativando SSL no Apache

Opa,

Esse post é sobre como gerar os certificados SSL no CentOS utilizando o OpenSSL e ativá-los no Apache para permitir conexões criptogradas ao seu servidor Web, para isso precisamos inicialmente instalar os pacotes necessários (caso ainda não estejam instalados):

# yum install mod_ssl openssl

Agora iremos gerar a chave privada:

# openssl genrsa -out ca.key 1024

Gere o arquivo CSR:

# openssl req -new -key ca.key -out ca.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:BR
State or Province Name (full name) [Berkshire]:Alagoas
Locality Name (eg, city) [Newbury]:Maceio
Organization Name (eg, company) [My Company Ltd]:Exemplo
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your servers hostname) []:www.exemplo.com
Email Address []:admin@exemplo.com

Please enter the following extra attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

OBS.: Common Name deverá ser a URL do serviço, nesse exemplo www.exemplo.com.

Assine o arquivo CSR utilizando a chave privada para gerar o certificado:

# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Mova os arquivos para a localização correta:

# mv ca.crt /etc/pki/tls/certs
# mv ca.key /etc/pki/tls/private/ca.key
# mv ca.csr /etc/pki/tls/private/ca.csr

Caso não utilize Virtual Host no seu servidor Apache, basta alterar as linhas abaixo no arquivo de configuração do SSL:

# vim /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

E reinicie o serviço:

# /etc/init.d/httpd restart

Caso utilize Virtual Host será necessário alterar o arquivo de configuração do Virtual Host ao invés do arquivo de configuração do SSL, abra o arquivo e adicione no início do arquivo:

# vim /etc/httpd/conf.d/meu_vhost.conf

NameVirtualHost *:443

E após a configuração do <VirtualHost *:80> adicione a entrada referente ao SSL:

# vim /etc/httpd/conf.d/meu_vhost.conf


SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

AllowOverride All

DocumentRoot /var/www/vhosts/exemplo.com/htdocs
ServerName www.exemplo.com

Feito isso reinicie o serviço:

# /etc/init.d/httpd restart

Pronto! Basta acessar seu servidor ou Virtual Host pelo seu navegador/browser preferido utilizando https para verificar o certificado criado!

Abraço!

Fonte: http://wiki.centos.org/HowTos/Https

Categories: Linux Tags: , , ,
  1. Andre
    4, setembro, 2009 em 08:47 | #1

    Bom artigo. Parabéns!

  2. 4, setembro, 2009 em 22:30 | #2

    Valeu Andre!

    Abraço!

  3. 9, setembro, 2009 em 09:39 | #3

    Olha rapaz, artigo novamente no br-linux. Ajudando mesmo a comunidade.
    Mais uma vez, parabéns.

  4. 10, setembro, 2009 em 21:22 | #4

    Valeu Wallisson!

  5. Julio
    6, abril, 2010 em 10:08 | #5

    Muito foda este artigo!
    Parabéns!

  6. 7, abril, 2010 em 21:30 | #6

    Obrigado pelo comentário Julio!

    Abraço!

  7. Caio
    30, agosto, 2010 em 15:45 | #7

    Amigo..muito bom tutorial,tenho uma dúvida.
    O que seria Virtual Host?

  8. 30, agosto, 2010 em 15:52 | #8

    Opa Caio,

    Virtual Host nada mais é do que a capacidade de hospedar diversos sites em um servidor, diferenciando seu conteúdo pelo endereço (URL) informada no seu navegador (browser), ex. http://www.uol.com.br e http://www.bol.com.br podem estar hospedados em um mesmo servidor, apenas apontando para conteúdos diferentes no servidor web.

    Espero ter esclarecido sua dúvida, se quiser saber mais basta procurar no Google por Virtual Host que irá encontrar vários sites explicando mais detalhadamente, um deles é a Wikipedia [1].

    Abraço!

    1 – http://pt.wikipedia.org/wiki/Virtual_hosting

  9. 6, julho, 2012 em 22:01 | #9

    Muito bom o tutorial , foi uma mão na roda pra mim…

  10. 19, julho, 2012 em 08:23 | #10

    Opa,

    Obrigado Andre!

    Abraço!

  1. Nenhum trackback ainda.