‹ Volver a Procedimientos

Tutorial: Uso de certificados SSL de Let’s Encrypt con una WordPress instancia en Amazon Lightsail

Última actualización: 21 de enero de 2021

Amazon Lightsail facilita la protección de los sitios web y las aplicaciones con SSL/TLS mediante balanceadores de carga de Lightsail Sin embargo, el uso de un balanceador de carga de Lightsail podría no ser siempre la elección adecuada. Quizás su sitio no necesita la escalabilidad o la tolerancia a errores que proporcionan los balanceadores de carga, o quizás necesita optimizar costos. En este último caso, puede considerar el uso de Let's Encrypt para obtener un certificado SSL gratuito. Si es así, no hay ningún problema. Puede integrar esos certificados con instancias de Lightsail

En este tutorial se muestra cómo solicitar certificados de Let’s Encrypt mediante Certbot. También puede utilizar la herramienta de configuración HTTPS de Bitnami (bncert) para habilitar HTTPS en su instancia certificada porWordPress Bitnami, que proporciona un proceso más simplificado. Además, la bncert herramienta renueva automáticamente los certificados, pero Certbot no lo hace. Para obtener más información sobre el uso de la bncert herramienta , consulte Habilitación de HTTPS en la WordPress instancia en Amazon Lightsail .

Nota

La distribución Linux utilizada por las instancias "certificadas por Bitnami" cambió de Ubuntu a Debian en julio de 2020. Debido a este cambio, algunos de los pasos de este tutorial variarán en función de la distribución de Linux de la instancia. Todas las instancias "certificadas por Bitnami" creadas después del cambio utilizan la distribución Debian Linux. Las instancias creadas antes del cambio seguirán utilizando la distribución Ubuntu Linux. Para comprobar la distribución de la instancia, ejecute el uname -a comando . La respuesta mostrará Ubuntu o Debian como la distribución de Linux de su instancia.

Contenido

Paso 1: Completar los requisitos previos

Complete los siguientes requisitos previos si aún no lo ha hecho:

Una vez que haya completado los requisitos previos, continúe en la siguiente sección de este tutorial.

Paso 2: Instalar Certbot en su instancia de Lightsail

Certbot es un cliente que se utiliza para solicitar un certificado de Let's Encrypt e implementarlo en un servidor web. Let's Encrypt utiliza el protocolo ACME para emitir certificados y Certbot es un cliente preparado para ACME que interactúa con Let's Encrypt.

    Para instalar Certbot en la instancia de Lightsail

  1. Inicie sesión en la consola de Lightsail.

  2. En la página de inicio de Lightsail, elija el icono de conexión rápida de SSH para la instancia a la que desea conectarse.

    Conexión rápida de SSH en la página Lightsail de inicio de .
  3. Una vez que se haya conectado la sesión SSH basada en navegador de Lightsail, escriba el siguiente comando para actualizar los paquetes en su instancia:

    sudo apt-get update
    Actualice los paquetes en la instancia.
  4. Escriba el siguiente comando para instalar el paquete de propiedades del software: Los desarrolladores de Certbot utilizan un Personal Package Archive (PPA) para distribuir Certbot. El paquete de propiedades de software hace que sea más eficiente trabajar con PPAs.

    sudo apt-get install software-properties-common

    Nota

    Si detecta un error Could not get lock al ejecutar el comando sudo apt-get install, espere aproximadamente 15 minutos y vuelva a intentarlo. Este error puede deberse a un trabajo cron que utiliza la herramienta de administración de paquetes Apt para instalar actualizaciones de forma desatendida.

  5. Escriba el siguiente comando para agregar Certbot al repositorio apt local:

    Nota

    El paso 5 se aplica únicamente a las instancias que utilizan la distribución de Ubuntu Linux. Omita este paso si la instancia utiliza la distribución de Debian Linux.

    sudo apt-add-repository ppa:certbot/certbot -y
  6. Escriba el siguiente comando para actualizar apt para que incluya el nuevo repositorio:

    sudo apt-get update -y
  7. Escriba el siguiente comando para instalar Certbot:

    sudo apt-get install certbot -y

    Certbot ya se ha instalado en su instancia de Lightsail

  8. Mantenga abierta la ventana de terminal de la sesión SSH basada en navegador; volverá a ella posteriormente en este tutorial. Continúe en la siguiente sección de este tutorial.

Paso 3: Solicitar un certificado comodín de SSL de Let's Encrypt

Comience el proceso de solicitud de un certificado de Let's Encrypt. Con Certbot, solicite un certificado comodín que le permita utilizar un solo certificado para un dominio y sus subdominios. Por ejemplo, un único certificado comodín funciona para el dominio de nivel superior example.com y los subdominios blog.example.com y stuff.example.com

    Para solicitar un certificado comodín de SSL de Let’s Encrypt

  1. En la misma ventana de terminal de SSH basada en navegador utilizada en el paso 2 de este tutorial, escriba los siguientes comandos para establecer una variable de entorno para su dominio. Ahora puede copiar y pegar comandos de un modo más eficiente para obtener el certificado. Asegúrese de sustituir domain por el nombre de dominio registrado.

    DOMAIN=domain
    WILDCARD=*.$DOMAIN

    Ejemplo:

    DOMAIN=example.com
    WILDCARD=*.$DOMAIN
  2. Escriba el siguiente comando para confirmar que las variables devuelven los valores correctos:

    echo $DOMAIN && echo $WILDCARD

    Debería ver un resultado similar al siguiente:

    Confirme las variables de entorno del dominio.
  3. Escriba el siguiente comando para iniciar Certbot en modo interactivo. Este comando le indica a Certbot que use un método de autorización manual con desafíos de DNS para verificar la propiedad del dominio. Solicita un certificado comodín para su dominio de nivel superior, así como sus subdominios.

    sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
  4. Escriba su dirección de correo electrónico cuando se le solicite, ya que se utiliza para la renovación y los avisos de seguridad.

  5. Lea las condiciones de servicio de Let's Encrypt. Cuando haya terminado, pulse A si está de acuerdo. Si no está de acuerdo, no puede obtener un certificado de Let's Encrypt.

  6. Responda en consecuencia a la pregunta para compartir su dirección de correo electrónico y a la advertencia sobre el registro de la dirección IP.

  7. Ahora Let's Encrypt le pide que verifique que usted es el propietario del dominio especificado. Para ello, se añaden registros TXT para los registros de DNS del dominio. Se proporciona un conjunto de valores de registro TXT, tal y como se muestra en el siguiente ejemplo:

    Nota

    Let's Encrypt puede proporcionar uno o varios registros TXT que debe utilizar para la verificación. En este ejemplo, se nos proporcionaron dos registros TXT para utilizarlos para la verificación.

    Registros TXT para certificados de Let's Encrypt.
  8. Mantenga abierta la sesión SSH basada en navegador de Lightsail; volverá a ella posteriormente en este tutorial. Continúe con la siguiente sección de este tutorial.

Paso 4: Añadir registros TXT a la zona DNS de su dominio en Lightsail

Al añadir un registro TXT a la zona DNS de su dominio se verifica que usted es el propietario del dominio. Con fines de demostración, utilizamos la zona DNS de Lightsail Sin embargo, los pasos podrían ser similares para otras zonas DNS normalmente alojadas por registradores de dominio.

Nota

Para obtener más información acerca de cómo crear una zona DNS de Lightsail para su dominio, consulte Creación de una zona DNS para administrar los registros de DNS de un dominio en Amazon Lightsail.

    Para añadir registros TXT a la zona DNS del dominio en Lightsail

  1. En la página Lightsail de inicio de , elija la pestaña Redes.

  2. En la sección Zonas DNS de la página, elija la zona DNS del dominio que especificó en la solicitud de certificado de Certbot.

  3. En el editor de zona DNS, elija Añadir registro.

    Editor de zona DNS en la Lightsail consola de .
  4. En el menú desplegable del tipo de registro, elija Registro TXT.

  5. Escriba los valores especificados por la solicitud de certificado de Let’s Encrypt en los campos Subdominio y Responde con , tal y como se muestra en la siguiente captura de pantalla.

    Registros TXT en el editor de zonas Lightsail DNS de .
  6. Elija el icono de guardar.

  7. Repita los pasos 3 a 6 para añadir el segundo conjunto de registros TXT especificado por la solicitud de certificado de Let's Encrypt.

  8. Mantenga abierta la ventana del navegador de la consola de Lightsail: volverá a ella más adelante en este tutorial. Continúe en la siguiente sección de este tutorial.

Paso 5: Confirmar que los registros TXT se han propagado

Utilice la MxToolbox utilidad para confirmar que los registros TXT se han propagado al DNS de Internet. La propagación de registros de DNS puede tardar un tiempo en función de su proveedor de alojamiento de DNS y el tiempo de vida (TTL) configurado para los registros de DNS. Es importante que realice este paso y que confirme que sus registros TXT se han propagado antes de continuar con la solicitud de certificado de Certbot. De lo contrario, se produce un error al solicitar el certificado.

    Para confirmar que los registros TXT se han propagado en el DNS de Internet

  1. Abra una nueva ventana en el navegador y vaya a https://mxtoolbox.com/TXTLookup.aspx.

  2. Escriba el siguiente texto en el cuadro de texto. Asegúrese de sustituir domain por su dominio.

    _acme-challenge.domain

    Ejemplo:

    _acme-challenge.example.com
    MXTookbox Búsqueda de registros TXT.
  3. Elija TXT Lookup (Búsqueda de TXT) para ejecutar la comprobación.

  4. Se obtiene una de las siguientes respuestas:

    • Si sus registros de TXT se han propagado al DNS de Internet, verá una respuesta similar a la que se muestra en la siguiente captura de pantalla. Cierre la ventana del navegador y continúe en la siguiente sección de este tutorial.

      Confirmación de que los registros de TXT se han propagado.
    • Si sus registros TXT no se han propagado al DNS de Internet, verá una respuesta DNS Record not found (Registro de DNS no encontrado). Confirme que ha añadido los registros de DNS correctos a la zona DNS de su dominio. Si ha añadido los registros correctos, espere un poco más a que los registros de DNS de su dominio se propaguen y ejecute de nuevo la búsqueda de TXT.

Paso 6: Finalizar la solicitud del certificado de SSL de Let's Encrypt

Vuelva a la sesión de SSH basada en Lightsail navegador de para la WordPress instancia y complete la solicitud de certificado de Let’s Encrypt. Certbot guarda los archivos de certificados SSL, de cadena y de clave en un directorio específico de la WordPress instancia.

    Para finalizar la solicitud de certificado SSL de Let’s Encrypt

  1. En la sesión de SSH basada en Lightsail navegador de de la WordPress instancia, pulse Intro para continuar la solicitud de certificado SSL de Let’s Encrypt. Si se realiza correctamente, aparece una respuesta similar a la que se muestra en la siguiente captura de pantalla:

    Solicitud correcta de certificado de Let's Encrypt.

    El mensaje confirma que sus archivos de certificado, de cadena y de clave están almacenados en el directorio /etc/letsencrypt/live/domain/ Asegúrese de sustituir domain por su dominio, como /etc/letsencrypt/live/example.com/.

  2. Anote la fecha de vencimiento especificada en el mensaje. Puede utilizarla para renovar su certificado en dicha fecha.

    Fecha de renovación de certificado de Let's Encrypt.
  3. Ahora que tiene el certificado SSL de Let’s Encrypt, continúe en la siguiente sección de este tutorial.

Cree enlaces a los archivos de certificados SSL de Let’s Encrypt del directorio del servidor Apache de la WordPress instancia. Además, haga una copia de seguridad de los certificados existentes, por si los necesita más adelante.

    Para crear enlaces a los archivos de certificados de Let's Encrypt del directorio del servidor Apache

  1. En la sesión de SSH basada en Lightsail navegador de de la WordPress instancia, escriba el siguiente comando para detener los servicios subyacentes:

    sudo /opt/bitnami/ctlscript.sh stop

    Verá una respuesta parecida a la siguiente:

    Servicios de instancia detenidos.
  2. Escriba el siguiente comando para definir una variable de entorno para su dominio. Puede copiar y pegar comandos de un modo más eficiente para crear enlaces a los archivos de certificados. Asegúrese de sustituir domain con el nombre de dominio registrado.

    DOMAIN=domain

    Ejemplo:

    DOMAIN=example.com
  3. Escriba el siguiente comando para confirmar que las variables devuelven los valores correctos:

    echo $DOMAIN

    Debería ver un resultado similar al siguiente:

    Confirme la variable de entorno del dominio.
  4. Escriba cada uno de los comandos siguientes para cambiar el nombre de los archivos de certificados existentes, si existen:

    • Para las instancias más recientes que utilizan la distribución de Debian Linux:

      sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old
      sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old
      sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old
    • Para las instancias más antiguas que utilizan la distribución de Ubuntu Linux:

      sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.crt /opt/bitnami/apache/conf/bitnami/certs/server.crt.old
      sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.key /opt/bitnami/apache/conf/bitnami/certs/server.key.old
      sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.csr /opt/bitnami/apache/conf/bitnami/certs/server.csr.old
  5. Escriba cada uno de los comandos siguientes para crear enlaces a los archivos de certificados de Let's Encrypt del directorio de Apache:

    • Para las instancias más recientes que utilizan la distribución de Debian Linux:

      sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key
      sudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt
    • Para las instancias más antiguas que utilizan la distribución de Ubuntu Linux:

      sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache/conf/bitnami/certs/server.key
      sudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache/conf/bitnami/certs/server.crt
  6. Escriba el siguiente comando para iniciar los servicios de pila subyacentes que detuvo anteriormente:

    sudo /opt/bitnami/ctlscript.sh start

    Debería ver un resultado similar al siguiente:

    Servicios de instancia iniciados.

    Los archivos de certificados SSL de la WordPress instancia se encuentran ahora en el directorio correcto.

  7. Continúe con la siguiente sección de este tutorial.

Paso 8: Integrar el certificado SSL con su WordPress sitio de mediante el complemento Really Simple SSL

Instale el complemento Really Simple SSL en su WordPress sitio y utilícelo para integrar el certificado SSL. Really Simple SSL también configura la redirección de HTTP a HTTPS para garantizar que los usuarios que visiten su sitio estén siempre en la conexión HTTPS.

    Para integrar el certificado SSL con su WordPress sitio de mediante el complemento Really Simple SSL

  1. En la sesión de SSH basada en Lightsail navegador de de la WordPress instancia, escriba el siguiente comando para establecer que los wp-config.php archivos htaccess.conf y se puedan escribir. El complemento Really Simple SSL escribirá en el archivo wp-config.php para configurar sus certificados.

    sudo chmod 666 /opt/bitnami/apps/wordpress/htdocs/wp-config.php && sudo chmod 666 /opt/bitnami/apps/wordpress/conf/htaccess.conf
  2. Abra una nueva ventana del navegador e inicie sesión en el panel de administración de la WordPress instancia.

    Nota

    Para obtener más información, consulte Obtención del nombre de usuario y de la contraseña de aplicación para la instancia de Amazon Lightsail "certificada por Bitnami".

  3. Elija Plugins (Complementos) en el panel de navegación izquierdo.

  4. Elija Add New (Añadir nuevo) en la parte superior de la página Plugins (Complementos).

    Añada un nuevo complemento en WordPress.
  5. Busque Really Simple SSL.

  6. Elija Install Now (Instalar ahora) junto al complemento Really Simple SSL en los resultados de búsqueda.

    El complemento Really Simple SSL para WordPress.
  7. Una vez que acabe de instalarse, elija Activar.

  8. En la pregunta que aparece, elija Go ahead, activate SSL! (Adelante, activar SSL) Es posible que se le redirija a la página de inicio de sesión del panel de administración de la WordPress instancia.

    La WordPress instancia ya está configurada para utilizar el cifrado SSL. Además, la WordPress instancia ya está configurada para redireccionar automáticamente las conexiones de HTTP a HTTPS. Cuando un visitante se dirige a http://example.com, se le redirige automáticamente a la dirección HTTPS cifrada (es decir, https://example.com).

Paso 9: Renovar los certificados de Let's Encrypt cada 90 días

Los certificados de Let's Encrypt son válidos durante 90 días. Los certificados se pueden renovar 30 días antes de que caduquen. Para renovar los certificados de Let's Encrypt, ejecute el comando original que utilizó para obtenerlos. Repita los pasos de la sección Solicitar un certificado comodín de SSL de Let’s Encrypt de este tutorial.