Por Lucas Sabino
Tive dúvidas em relação como o Apache se comporta em relação às portas. O apache por padrão trabalha com a porta http, porta 80. Qualquer muleque de rua sabe disso. Aí que eu pensei e o tal do https que se comunica pela porta 443? Como o apache faz?? Então procurei.. dei umas googadas, perguntei pro meu chefe, (que é administrador de redes Linux há 8 anos) enfim.. descobri! Fiz um apache trabalhando com http e com https simultaneamente.
Vou postar aqui uma espécie de tutorial de como colocar o ssl no apache.
----------------------------------------------------------------------------------------------------------
Após ter instalado o Apache2, usando entre os parâmetros do configure a opção --enable-ssl, vá até o diretório /usr/local/apache2/conf e edite o httpd.conf. Verifique se existem as linhas:
IfModule mod_ssl.c>
Include conf/ssl.conf
< /IfModule>
Se tiver, OK. Saia do arquivo e agora edite no mesmo diretório o arquivo ssl.conf. Nesse arquivo vamos indicar onde ficarão as chaves para a criação da conexão segura.
Edite a linha:
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
Para ficar assim:
SSLCertificateFile /etc/ssl/apache2/server.crt
E também edite a linha:
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
Para ficar assim:
SSLCertificateKeyFile /etc/ssl/apache2/server.key
Antes de salvar e sair, edite as opções do SSL na parte onde está a configuração do virtual host:
DocumentRoot "/usr/local/apache2/htdocs/"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog /usr/local/apache2/logs/error_log
TransferLog /usr/local/apache2/logs/access_log
Edite da forma que achar conveniente. Agora vamos criar o diretório /etc/ssl/apache2 e entrar lá para criar as chaves:
# mkdir /etc/ssl/apache2
# cd /etc/ssl/apache2
Agora vamos criar a chave:
# openssl req -new > new.cert.csr
Vai aparecer algo semelhante a:
Generating a 1024 bit RSA private key
...............++++++
......++++++
writing new private key to \\\\\\\' privkey.pem\\\\\\\'
Enter PEM pass phrase:
Nessa parte informe uma senha, uma frase para que seja criado esse arquivo. Depois repita novamente e vá respondendo as perguntas que forem aparecendo. O próximo comando é:
# openssl rsa -in privkey.pem -out new.cert.key
Aqui você vai precisar informar a senha ou frase que você adicionou no primeiro comando acima.
# openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825
Pronto, agora foram criados os arquivos, vamos renomeá-los:
# cp new.cert.cert server.crt
# cp new.cert.key server.key
Depois disso vai estar tudo pronto, pare e inicie o Apache novamente usando o seguinte comando:
# /usr/local/apache2/bin/apachectl startssl
Agora acesse o seu servidor usando o endereço https://ip_do_servidor/ e assim ele vai informar o certificado e perguntar se vai aceitar. E esta pronto, ativado o suporte a ssl.
------------------------------------------------------------------------------------------------------
Bom é isso! Isso me deixou com uma dúvida imensa e consegui resolver o meu problema cerebral que não deixava eu dormir de tanta curiosidade. Espero informar para aqueles que não sabem!
Flw!!!
Tive dúvidas em relação como o Apache se comporta em relação às portas. O apache por padrão trabalha com a porta http, porta 80. Qualquer muleque de rua sabe disso. Aí que eu pensei e o tal do https que se comunica pela porta 443? Como o apache faz?? Então procurei.. dei umas googadas, perguntei pro meu chefe, (que é administrador de redes Linux há 8 anos) enfim.. descobri! Fiz um apache trabalhando com http e com https simultaneamente.
Vou postar aqui uma espécie de tutorial de como colocar o ssl no apache.
----------------------------------------------------------------------------------------------------------
Após ter instalado o Apache2, usando entre os parâmetros do configure a opção --enable-ssl, vá até o diretório /usr/local/apache2/conf e edite o httpd.conf. Verifique se existem as linhas:
IfModule mod_ssl.c>
Include conf/ssl.conf
< /IfModule>
Se tiver, OK. Saia do arquivo e agora edite no mesmo diretório o arquivo ssl.conf. Nesse arquivo vamos indicar onde ficarão as chaves para a criação da conexão segura.
Edite a linha:
SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt
Para ficar assim:
SSLCertificateFile /etc/ssl/apache2/server.crt
E também edite a linha:
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key
Para ficar assim:
SSLCertificateKeyFile /etc/ssl/apache2/server.key
Antes de salvar e sair, edite as opções do SSL na parte onde está a configuração do virtual host:
DocumentRoot "/usr/local/apache2/htdocs/"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog /usr/local/apache2/logs/error_log
TransferLog /usr/local/apache2/logs/access_log
Edite da forma que achar conveniente. Agora vamos criar o diretório /etc/ssl/apache2 e entrar lá para criar as chaves:
# mkdir /etc/ssl/apache2
# cd /etc/ssl/apache2
Agora vamos criar a chave:
# openssl req -new > new.cert.csr
Vai aparecer algo semelhante a:
Generating a 1024 bit RSA private key
...............++++++
......++++++
writing new private key to \\\\\\\' privkey.pem\\\\\\\'
Enter PEM pass phrase:
Nessa parte informe uma senha, uma frase para que seja criado esse arquivo. Depois repita novamente e vá respondendo as perguntas que forem aparecendo. O próximo comando é:
# openssl rsa -in privkey.pem -out new.cert.key
Aqui você vai precisar informar a senha ou frase que você adicionou no primeiro comando acima.
# openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825
Pronto, agora foram criados os arquivos, vamos renomeá-los:
# cp new.cert.cert server.crt
# cp new.cert.key server.key
Depois disso vai estar tudo pronto, pare e inicie o Apache novamente usando o seguinte comando:
# /usr/local/apache2/bin/apachectl startssl
Agora acesse o seu servidor usando o endereço https://ip_do_servidor/ e assim ele vai informar o certificado e perguntar se vai aceitar. E esta pronto, ativado o suporte a ssl.
------------------------------------------------------------------------------------------------------
Bom é isso! Isso me deixou com uma dúvida imensa e consegui resolver o meu problema cerebral que não deixava eu dormir de tanta curiosidade. Espero informar para aqueles que não sabem!
Flw!!!
Nenhum comentário:
Postar um comentário