En este artículo, aprenderá cómo instalar un certificado SSL en CentOS 7.
SSL (Security Socket Layer) es un protocolo web utilizado para proteger el tráfico a su servidor a través del cifrado. Significa que toda la información está bloqueada y solo el destinatario previsto puede acceder a ella.
Por lo general, se espera que el comercio electrónico o los servicios financieros en línea tengan este protocolo, ya que almacenan información confidencial, como detalles de tarjetas de crédito.
Sin embargo, el certificado SSL es obligatorio para todos los sitios, para proteger los datos confidenciales de los usuarios, como las credenciales de inicio de sesión, los números de seguridad social, las tarjetas de identificación, etc.
Afortunadamente, puede obtener fácilmente un certificado SSL de un proveedor como COMODO SSL y Let's Encrypt, que se utilizará en nuestro tutorial de instalación.
Instalación manual de Apache
Antes de instalar SSL, asegúrese de que Apache (software de servidor web) ya esté instalado en su CentOS.
Puede probar esto fácilmente escribiendo httpd -v al acceder al servidor a través de SSH. Si Apache está instalado, verá un resultado similar al siguiente.
Afortunadamente en Hostinger, los usuarios pueden elegir tener Apache preinstalado en sus servidores o instalarlo manualmente.
En CentOS 7, Apache se puede instalar a través de repositorios de software ingresando este comando en la terminal:
sudo yum install httpd
Ahora, para comenzar a usar Apache, escriba:
sudo systemctl start httpd
Si desea que Apache se inicie automáticamente al arrancar, actívelo con:
sudo systemctl enable httpd
Cómo instalar un certificado SSL con Let's Encrypt
Let's Encrypt ofrece un certificado SSL gratuito. Echemos un vistazo a cómo instalarlo en su servidor.
¡Importante! Usamos “hostinger-dev-9.xyz ” como nuestro sitio de prueba, pero debe cambiarlo por el nombre de su sitio.
Recomendamos verificar el sistema primero solo para asegurarse de que esté actualizado.
yum -y update
A continuación, necesitará mod_ssl para configurar Let's Encrypt.
yum -y install mod_ssl
Ahora, configure Apache creando una carpeta raíz de documentos para el sitio web.
mkdir /var/www/hostinger-dev-9.xyz
Se requiere un archivo de configuración de host virtual en este paso. Puedes crearlo con nano e ingresar las siguientes líneas:
nano /etc/httpd/conf.d/hostinger-dev-9.xyz.conf
En nano, ingresa este código
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/hostinger-dev-9.xyz" ServerName hostinger-dev-9.xyz ServerAlias www.hostinger-dev-9.xyz.com ErrorLog "/var/log/httpd/test.error_log" CustomLog "/var/log/httpd/test.access_log" common </VirtualHost>
Reemplace el propietario de /var/www/hostinger-dev-9.xyz directorio con su usuario de apache para que pueda reconocer el directorio
chown -R apache:apache /var/www/hostinger-dev-9.xyz
Instalación de certbot
Antes de instalar certbot, asegúrese de tener repositorio EPEL se activa ingresando este comando:
yum -y install epel-release
Lo siguiente es instalar yum-utils
yum -y install yum-utils
Solo entonces podrá instalar certbot para Apache
yum -y install certbot-apache
Después de instalar certbot, ejecútelo ejecutando:
certbot
Aparecerá un mensaje que le preguntará los nombres en los que desea activar https:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apacheStarting new HTTPS connection (1): acme-v01.api.letsencrypt.org Which names would you like to activate HTTPS for? ------------------------------------------------------------------------------- 1: hostinger-dev-9.xyz 2: www.hostinger-dev-9.xyz ------------------------------------------------------------------------------- Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):
Simplemente presione enter para que ambos hostinger-dev-9.xyz y www.hostinger-dev-9.xyz será redirigido a https
Aparecerá otro mensaje:
Choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect – Make no further changes to the web server 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):
Seleccione número 2 para redirigir los nombres de ambos sitios web a https.
You should see the output below if the process is done correctly ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://hostinger-dev-9.xyz and https://www.hostinger-dev-9.xyz You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=hostinger-dev-9.xyz https://www.ssllabs.com/ssltest/analyze.html?d=www.hostinger-dev-9.xyz -------------------------------------------------------------------------------
Renovación automática de certificados
Lo bueno de usar Let's Encrypt es que puede configurar una renovación automática del certificado.
Para configurar la renovación automática, ingrese este siguiente comando:
export EDITOR=/bin/nano
Establecerá nano como el editor predeterminado y ahora puede editar el crontab :
crontab -e
En realidad, Let's Encrypt sugiere que el trabajo cron de renovación automática se ejecute dos veces al día. Para hacerlo, pegue este comando y guarde el crontab:
* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1
Cómo instalar un certificado SSL con Comodo
COMODO SSL es un proveedor de certificados SSL de pago. Con él, los usuarios pueden optar por cifrar el tráfico de su servidor. Aquí se explica cómo instalarlo en CentOS 7
Descarga el Intermedio (ComodoRSACA.crt ) y Certificado principal (domain_name.crt ) y cópielos en el directorio del servidor. Almacenará su certificado y archivos clave.
Encuentra la config de Apache expediente. Normalmente, el nombre del archivo es httpd.conf o apache2.conf . Las ubicaciones comunes para el archivo son /etc/httpd/ o /etc/apache2/ . Si no se puede encontrar, la alternativa es buscar usando grep escribiendo el siguiente comando:
grep -i -r "SSLCertificateFile" /etc/httpd/
¡Importante! Cambiar "/etc/httpd/ ” a su directorio base de instalación de Apache.
Ahora, si desea habilitar SSL en su servidor, configúrelo con su
<VirtualHost 31.220.62.130> DocumentRoot /var/www/hostinger-dev-9.xyz ServerName www.hostinger-dev-9.xyz SSLEngine on SSLCertificateFile /var/www/hostinger-dev-9.xyz.crt SSLCertificateKeyFile /var/www/your_private.key SSLCertificateChainFile /var/www/ComodoCA.crt </VirtualHost>
31.220.62.130 :cambie esto a la dirección IP de su servidor- Archivo de certificado SSL debe cambiarse a su archivo de certificado COMODO (por ejemplo, nombre_dominio.crt)
- Archivo de clave de certificado SSL es el archivo clave generado cuando creó la CSR (Solicitud de firma de certificado)
- Archivo de cadena de certificados SSL es el archivo de certificado intermedio COMODO (ComodoRSACA.crt)
Es importante verificar su archivo de configuración de Apache antes de reiniciar. Si hay un error de sintaxis, es posible que Apache no se inicie en absoluto. Puede escribir este comando para asegurarse de que todo funciona bien:
apachectl configtest
Después de verificar todo, reinicie Apache con soporte SSL:
apachectl stop
y luego
apachectl start
En caso de que Apache no comience con compatibilidad con SSL, utilice en su lugar "apachectl beginsl".
Conclusiones
Se requiere SSL para asegurar el tráfico en su sitio web, especialmente si se trata de transacciones. COMODO SSL y Let's Encrypt son dos proveedores que le permiten instalar un certificado SSL en CentOS 7. Si bien instalar cualquiera de ellos puede ser complicado, vale la pena el esfuerzo.