GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Let's Encrypt con Apache en CentOS 7

En este tutorial, le mostraremos cómo instalar el cliente Let's Encrypt en su CentOS 7 VPS y emitir un certificado SSL para su dominio.

Mejorar la seguridad de su sitio web a través del cifrado SSL puede aumentar la confianza de sus visitantes en su sitio web. En el pasado, configurar el cifrado SSL en un sitio web era una tarea complicada. Sin embargo, Let's Encrypt es una autoridad de certificación (CA) gratuita y de código abierto que permite obtener e instalar certificados a través de comandos simples y automatizados. Gracias a ellos, configurar el cifrado y aumentar la seguridad de su sitio es mucho más fácil. Let's Encrypt proporciona un certificado SSL válido para su dominio sin ningún costo y también puede usarse para producción/uso comercial.

Comencemos con la instalación:es una instalación simple y no llevará mucho tiempo.

Requisitos

  • Para los fines de este tutorial, utilizaremos un VPS CentOS 7.
  • También se requiere acceso completo a la raíz SSH o un usuario con privilegios sudo.
  • Un nombre de dominio válido dirigido a la dirección IP de su servidor. En este tutorial usaremos domain.com .

Paso 1:Conéctese a través de SSH y actualice el sistema operativo

Conéctese a su servidor a través de SSH como usuario raíz usando el siguiente comando:

ssh root@IP_ADDRESS -p PORT_NUMBER

Recuerde reemplazar "IP_ADDRESS" y "PORT_NUMBER" con la dirección IP y el número de puerto SSH respectivos de su servidor.

Antes de comenzar con la instalación, deberá actualizar los paquetes de su sistema operativo a sus últimas versiones. Es fácil de hacer y no te llevará más de unos minutos.

Puede hacerlo ejecutando el siguiente comando:

yum update

Una vez que se completan las actualizaciones, podemos pasar al siguiente paso.

Paso 2:Instalar LAMP Stack

Necesitamos instalar la pila LAMP en el servidor. Consiste en Linux (que ya tenemos), Apache, MySQL y PHP. Podemos instalarlo ejecutando el siguiente comando:

yum install httpd mariadb-server php php-cli php-common

Una vez que todos los paquetes estén instalados, inicie los servicios de Apache y MariaDB:

systemctl start httpd
systemctl start mariadb

Permita que se inicien en el arranque del servidor con el siguiente comando:

systemctl enable httpd
systemctl enable mariadb

Paso 3:Configurar Apache

Necesitamos crear un nuevo archivo de configuración de Apache. Podemos crearlo con el siguiente comando:

nano /etc/httpd/conf.d/domain.com.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html"
    DirectoryIndex index.html
    ServerName domain.com
    ErrorLog "/var/log/httpd/domain.com.error_log"
    CustomLog "/var/log/httpd/domain.com.access_log" common
</VirtualHost>

Guarde y cierre el archivo.

Luego, crea un index.html archivo con fines de prueba con el siguiente comando:

nano /var/www/html/index.html

Agregue las siguientes líneas:

<html>
Test - Welcome to The Apache Web Server.
</html>

Guarde el archivo y cambie el propietario del archivo '/var/www/html/index.html' al usuario de Apache para que Apache pueda leer el archivo:

chown -R apache:apache /var/www/html/index.html

Recuerda cambiar domain.com con su nombre de dominio real.
Ahora que tenemos Apache instalado, podemos continuar e instalar certbot .

Paso 4:Instalar Certbot

Necesitamos instalar Certbot y habilitar el mod_ssl Módulo Apache en el servidor. Certbot es una herramienta simple y fácil de usar que simplifica la administración del servidor al automatizar la obtención de certificados y configurar los servicios web para usarlos.

De forma predeterminada, el paquete Certbot no está disponible en el repositorio del sistema operativo predeterminado de CentOS 7. Necesitamos habilitar el repositorio EPEL, luego instalar Certbot.

Para agregar el repositorio EPEL ejecute el siguiente comando:

yum install epel-release

Una vez habilitado, instale todos los paquetes necesarios con el siguiente comando:

yum install certbot python2-certbot-apache mod_ssl

Una vez instalado, podemos continuar con el siguiente paso.

Paso 5:Obtenga e instale SSL para su dominio

Ahora que Certbot está instalado, puede usarlo para obtener e instalar un certificado SSL para su dominio.

Simplemente ejecute el siguiente comando para obtener e instalar un certificado SSL para su dominio:

certbot --apache -d domain.com

También podemos instalar un solo certificado para múltiples dominios y subdominios alojados en el servidor con el indicador '-d', por ejemplo:

certbot --apache -d domain.com -d www.domain.com -d domain2.com -d test.domain2.com

Se nos pedirá que proporcionemos una dirección de correo electrónico y aceptemos los términos del servicio.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Starting new HTTPS connection (1): supporters.eff.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/domain.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/domain.com-le-ssl.conf

Escriba Y y presione [Enter], y debería ver el siguiente resultado:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Aquí, debe elegir cualquier opción para continuar. Si elige la opción 1, solo descargará un certificado SSL y deberá configurar Apache manualmente para usar el certificado SSL. Si elige la opción 2, automáticamente descargará y configurará Apache para usar el certificado SSL. En este caso, elija la opción 2 y presione [Enter]. Cuando la instalación finalice con éxito, verá un mensaje similar a este:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com-0001/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com-0001/privkey.pem
Your cert will expire on 2019-10-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Los archivos de certificado generados están disponibles en /etc/letsencrypt/live/domain.com directorio. Puede verificar el certificado SSL recién creado con el siguiente comando:

ls /etc/letsencrypt/live/domain.com/

Debería ver el siguiente resultado:

cert.pem chain.pem fullchain.pem privkey.pem

Paso 6:Verifique su certificado SSL

Abra su navegador web y escriba la URL https://domain.com . Para comprobar el certificado SSL en Chrome, haga clic en el icono del candado en la barra de direcciones de https://domain.com y, en el cuadro emergente, haga clic en "Válido" en el mensaje "Certificado".

Paso 7:configurar la renovación automática

De forma predeterminada, los certificados de Let's Encrypt tienen una validez de 90 días, por lo que se recomienda renovar el certificado antes de que caduque. Idealmente, sería mejor automatizar el proceso de renovación para verificar y renovar periódicamente el certificado.

Podemos probar el proceso de renovación manualmente con el siguiente comando.

certbot renew --dry-run

El comando anterior verificará automáticamente los certificados actualmente instalados e intentará renovarlos si faltan menos de 30 días para la fecha de vencimiento.

También podemos agregar un cronjob para ejecutar automáticamente el comando anterior dos veces al día.

Para hacerlo, edite el crontab con el siguiente comando:

crontab -e

Agregue la siguiente línea:

* */12 * * * root /usr/bin/certbot renew >/dev/null 2>&1

Guarde y cierre el archivo.

¡Felicidades! Hemos instalado y configurado correctamente Let's Encrypt con Apache en un VPS CentOS 7.

Por supuesto, no tiene que instalar Let's Encrypt en CentOS 7 si usa uno de nuestros planes de alojamiento de VPS administrados, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que instalen Let's Encrypt en su CentOS 7 VPS por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD . Si le gustó esta publicación sobre cómo instalar Let's Encrypt en CentOS 7 , o si lo encontró útil, compártalo con sus amigos en las redes sociales usando los botones de compartir, o simplemente deje una respuesta a continuación. Gracias.


Cent OS
  1. Instale Let's Encrypt en Centos 8

  2. Cómo instalar Apache Cassandra en CentOS 8

  3. Cómo instalar Apache en CentOS 7

  4. Asegure Apache con Lets Encrypt en CentOS 7

  5. Cómo instalar Let's Encrypt SSL con Apache en Debian 11

Cómo instalar Let's Encrypt SSL con Apache en CentOS 7

Cómo instalar Apache con host virtual en CentOS 8

Cómo instalar Drupal en CentOS 7 con Apache

Cómo instalar WordPress en CentOS 7.1 con Apache

Cómo proteger Apache con Let's Encrypt en CentOS 8

Cómo instalar Apache con PHP-FPM en CentOS 8