h1

Activar SSL en Apache2 (Ubuntu 10.04)

julio 21, 2010

¿Queriendo hacer pruebas de conexiones SSL?

Aqui va el método rápido para habilitarlo en Apache2…

# Instalamos Apache
sudo aptitude install apache2

# Habilitamos el módulo SSL
sudo a2enmod ssl

# Habilitamos la configuración SSL por default

sudo a2ensite default-ssl

# Reiniciamos el servidor
sudo /etc/init.d/apache2 restart

Ya con esto queda habilitado, puedes probarlo entrando al localhost con https://127.0.0.1
Para crear  nuestro certificado, debemos seguir los siguientes pasos

# Creamos las llaves

cd /etc/apache2

sudo openssl genrsa -des3 -out server.key 1024

# Creamos el certificado con la llave
sudo openssl req -new -key server.key -out server.csr

# Creamos nuestro certificado, contestando las preguntas que nos indique recordando la contraseña


sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

#Cambiamos de carpeta la llave y certificado

sudo cp server.crt /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/

# Abrimos el archivo de configuracion default-ssl

cd /etc/apache2/sites-available
sudo vim default-ssl

# reemplazamos y habilitamos la siguiente configuracion
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

# habilitamos el archivo

sudo a2ensite default-ssl

# Reiniciamos apache y listo!!
sudo /etc/init.d/apache2 restart

37 comentarios

  1. Muchas gracias me sirvió de mucho. Para los q somos nuevos, te falta un sudo en «openssl req -new -key server.key -out server.csr» y a mi entender sería mejor «habilitamos y reemplazamos la siguiente configuración». Me funcionó sin problemas. Saludos


    • corregido.. gracias


  2. Hola, tengo un problema y es que cuando reinicio mi servidor se me queda clavado al arrancar el apache, me pide que meta la «pass pharase» pero la meto y se queda como pillado, no sigue y no arranca el servidor

    Gracias anticipadas


    • Es normal, tienes que crear un almacen de claves sin contraseña:

      $ openssl rsa -in server.key -out server_nopass.key

      y modificar la linea de configuracion del Apache para que apunte a server_nopass.key, o el nombre que le hayas dado.

      antes:
      SSLCertificateKeyFile /etc/ssl/private/server.key

      despues:
      SSLCertificateKeyFile /etc/ssl/private/server_nopass.key

      y reiniciar el Apache.
      saludos


  3. Excelente mi estimado, me fue de mucha ayuda lo necesitaba


    • Pero quees exactamente lo que tengo que hacer para poder ejecutar estas instrucciones… Sencillamente no avanza… Saludos y mil gracias!


  4. Todo salio bien hasta el ultimo punto donde dice que reinicie de nuevo mi Apache, pero me manda un error al tratar de reiniciarlo me aparece el siguiente error:

    * Starting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    Action ‘start’ failed.
    The Apache error log may have more information.

    Al abrir el log me aparece los siguiente:

    [Fri Jul 01 18:45:43 2011] [warn] RSA server certificate CommonName (CN) `ubuntu’ does NOT match server n$
    [Fri Jul 01 18:45:43 2011] [notice] Apache/2.2.17 (Ubuntu) PHP/5.3.5-1ubuntu7.2 with Suhosin-Patch mod_ss$
    [Fri Jul 01 19:08:31 2011] [notice] caught SIGTERM, shutting down
    [Fri Jul 01 19:08:32 2011] [error] Init: Multiple RSA server certificates not allowed
    [Fri Jul 01 19:08:46 2011] [error] Init: Multiple RSA server certificates not allowed
    [Fri Jul 01 19:10:18 2011] [error] Init: Multiple RSA server certificates not allowed
    [Fri Jul 01 19:17:46 2011] [error] Init: Multiple RSA server certificates not allowed
    [Fri Jul 01 19:33:20 2011] [error] Init: Multiple RSA server certificates not allowed
    [Fri Jul 01 19:35:23 2011] [error] Init: Multiple RSA server certificates not allowed

    Espero me puedan ayudar !!!

    Gracias


    • Debés comentar:
      #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
      #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key


      • Buenos días:

        Con el mismo error que Omar he cambiado a lo que dices (ssl-cert-snakeoil.pem y el otro ) y me sigue apareciendo el mismo error. Qué puedo hacer ahora??

        Gracias por la ayuda


  5. Arranque automático de Apache con clave privada cifrada con contraseña

    Cuando el servidor web se inicia trata de abrir la clave privada configurada. Si la llave privada está protegida con contraseña el servidor pide la contraseña por consola. Este proceso obliga a que haya una persona física arrancando el servidor e introduciendo la contraseña solicitada. Para que el servidor arranque sin solicitar la contraseña se debe configurar para que la obtenga por otros medios según se detalla a continuación:

    1. Editar el archivo de configuración de Apache (httpd.conf).

    2. Sustituir SSLPassPhraseDialog builtin por
    SSLPassPhraseDialog exec:/bin/clave.sh

    3. Crear el shell-script /bin/clave.sh que deberá contener: #!/bin/sh echo «PASSWORD»

    (Se puede generar el script en un solo comando:
    echo -e ‘#!/bin/sh\necho «PASSWORD»‘ > /bin/clave.sh)


  6. Estimados GENIOS, quiiero armar un pequeño servidor familiar, y, yo no soy capaz ya que soy una persona grande, por otro lado, nesecito ordenar, juntar o dividir la info que tenemos en nuestras PC, para tal fin, solicito presupuesto de tal trabajo y agradeceré propuestas de ayuda. Desde ya un abrazo y mis respetos a todos


  7. Me sirvio de mucho!!! muchisimas gracias a los de la web 🙂


  8. […] Link Like this:LikeBe the first to like this post. […]


  9. Muy buen post, fue de gran ayuda, thankss !!!


  10. Buenísimo, el mejor! Gracias!


  11. cuando quiero mover de carpeta el certificado me aparece un error que dice:

    cp: no se puede efectuar ‘stat’ sobre <> No existe el fichero o el directorio.

    Con la llave no hubo problemas espero tu pronta respuesta gracias.


  12. perdon la linea completa es;

    cp: no se puede efectuar ‘stat’ sobre <> No existe el fichero o el directorio


  13. es lo que contiene entre los signos de mayor y menor que,server.crt


  14. Muy util amigo.
    Hay gente que sabe hacer tutoriales, gracias.


  15. […] Source: Link […]


  16. Gracias muy amable


  17. Gracias, me sirvió de maravilla.

    salu2


  18. Me parecio Excelente y me funciono muy bien.

    Este https se extiende a todo lo que tenga montado en mi servidor apache, otros proyectos, etc..

    O como haria para habilitarselo a estos tmbn

    Ej:

    http://localhost/restaurante.php

    No me sale con https, como hago para configurarsela a el tambien??


  19. Reblogged this on ASIRMania.


  20. Me fue de mucha ayuda gracias muy amable


  21. Gracias por compartir, me sirvio mientras veia materias de la universidad y a varios compañeros; muchas gracias


  22. Muy útil el artículo. Lo tendré en cuenta para futuras instalaciones. Gracias.


  23. Para los que tienen el error cuando intentan reiniciar el apache, en le procedimiento cambien la extencion ‘crt’ por ‘pem’ y dejara de darles problemas


  24. hola!!!

    al momento de escribir: «sudo vim default-ssl» me dice que el comando no fucionaaaa…


    • cambia el editor de texto usa gedit o el que mas te paresca


  25. Gracias por el articulo. Tengo una duda. Yo tengo ubuntu 13.04. Funciona igual o tengo que hacer algo más. Agradezco sus respuestas.

    Saludos


  26. me sale este error al tratar de reiniciar el apache:
    (98)Address already in use: make_sock: could not bind to address [::]:80
    (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    …..


  27. Hola una duda siguiendo con todo el tutorial todo parece estar bien pero cuando quiero reiniciar el apache me indica lo siguiente:

    Init: Multiple RSA server certificates not allowed

    Esto como lo evito??


  28. […] Activar SSL en Apache2 (Ubuntu 10.04) | Betatwits. […]


  29. Hola, que tal, segui todos los pasos pero mi página sigue sin abrir con https…. la pagina esta dentro de /var/www y modifique el directorio Directory /var/www/voz/…. cual puede ser mi error??? Gracias


    • Hola, lograste solventar tu inconveniente? Tengo la misma situación. Instalé el certificado, no tengo errores pero no me lo está mostrando.



Deja un comentario