Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

Cómo instalar certificado SSL en Apache

Antes de empezar con el tutorial, ¿no tienes un servidor Cloud Linux con Apache en el que puedas instalar tu certificado SSL? ¡No te preocupes! Con solo un click, puedes desplegarlo fácilmente con SW Hosting.

cta:cloud_so

Para instalar un certificado SSL en Apache, necesitaremos los ficheros siguientes:

  • Certificado (.crt)
  • Clave privada (.key)
  • Autoridad de certificación (.ca)

¿Ya los tienes? Empezamos:

  1. Copia los tres ficheros en el servidor. En este manual asumimos que has subido los tres ficheros mediante FTP, pero puedes realizarlo de cualquier otra forma.

  2. Conéctate al servidor mediante SSH y accede al directorio en el que alojaremos los certificados:

cd /etc/apache2/ssl/

  1. Crea el directorio correspondiente a tu dominio y accede al mismo:

mkdir minuevaweb.es

cd minuevaweb.es

  1. Movemos los certificados en el directorio creado. Suponiendo que los has subido al directorio 'web' mediante FTP, los moveremos de la siguiente forma:

mv /var/www/minuevaweb.es/datos/web/certificado.crt /etc/apache2/ssl/minuevaweb.es/

mv /var/www/minuevaweb.es/datos/web/certificado.key /etc/apache2/ssl/minuevaweb.es/

mv /var/www/minuevaweb.es/datos/web/certificado.ca /etc/apache2/ssl/minuevaweb.es/

  1. Cambiamos el propietario y grupo de los certificados a root:

chown root:root /etc/apache2/ssl/minuevaweb.es/certificado.crt

chown root:root /etc/apache2/ssl/minuevaweb.es/certificado.key

chown root:root /etc/apache2/ssl/minuevaweb.es/certificado.ca

Ya hemos movido los certificados en el directorio correspondiente.

A continuación, procederemos a configurar el bloque VirtualHost en Apache:

  1. Accede al directorio de ficheros de configuración vhosts:

cd /etc/apache2/sites-enabled/

  1. Edita el fichero de configuración correspondiente a la web en la que estás instalando el certificado SSL. En este ejemplo utilizamos el editor de textos nano, pero puedes hacer uso de cualquier otro:

cd /etc/apache2/sites-enabled/

  1. Hacemos una copia del bloque VirtualHost existente debajo del mismo, quedando duplicado (luego haremos cambios, no te preocupes):
<VirtualHost *:80>
        ServerName minuevaweb.es
        ServerAlias www.minuevaweb.es
        DocumentRoot "/var/www/minuevaweb.es/datos/web"
        CustomLog /var/www/minuevaweb.es/logs/20190307.log common
        ErrorLog /var/www/minuevaweb.es/logs/error_20190307.log
</VirtualHost>

(el archivo original)

<VirtualHost *:80>
        ServerName minuevaweb.es
        ServerAlias www.minuevaweb.es
        DocumentRoot "/var/www/minuevaweb.es/datos/web"
        CustomLog /var/www/minuevaweb.es/logs/20190307.log common
        ErrorLog /var/www/minuevaweb.es/logs/error_20190307.log
</VirtualHost>
<VirtualHost *:80>
        ServerName minuevaweb.es
        ServerAlias www.minuevaweb.es
        DocumentRoot "/var/www/minuevaweb.es/datos/web"
        CustomLog /var/www/minuevaweb.es/logs/20190307.log common
        ErrorLog /var/www/minuevaweb.es/logs/error_20190307.log
</VirtualHost>

(el archivo con la copia original)

  1. En el segundo bloque VirtualHost, modificamos el puerto de 80 a 443: <VirtualHost *:443>

  2. En el segundo bloque VirtualHost, añadimos antes del final las siguientes líneas con las rutas correspondientes a nuestros certificados:

        ...
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/minuevaweb.es/certificado.crt
        SSLCertificateKeyFile /etc/apache2/ssl/minuevaweb.es/certificado.key
        SSLCACertificateFile /etc/apache2/ssl/minuevaweb.es/certificado.ca
</VirtualHost>
  1. Quedará de la siguiente forma:
<VirtualHost *:80>
        ServerName minuevaweb.es
        ServerAlias www.minuevaweb.es
        DocumentRoot "/var/www/minuevaweb.es/datos/web"
        CustomLog /var/www/minuevaweb.es/logs/20190307.log common
        ErrorLog /var/www/minuevaweb.es/logs/error_20190307.log
</VirtualHost>
<VirtualHost *:443>
        ServerName minuevaweb.es
        ServerAlias www.minuevaweb.es
        DocumentRoot "/var/www/minuevaweb.es/datos/web"
        CustomLog /var/www/minuevaweb.es/logs/20190307.log common
        ErrorLog /var/www/minuevaweb.es/logs/error_20190307.log
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/minuevaweb.es/certificado.crt
        SSLCertificateKeyFile /etc/apache2/ssl/minuevaweb.es/certificado.key
        SSLCACertificateFile /etc/apache2/ssl/minuevaweb.es/certificado.ca
</VirtualHost>
  1. Guardamos los cambios realizados. En el editor de textos nano, has de pulsar la siguiente combinación de teclas: Ctrl + X para guardar y salir Tecla Y para confirmar que quieres sobrescribir Tecla Enter

  2. Comprobamos que la configuración es correcta: apache2ctl -t Ha de aparecer Syntax OK. Si aparece algún error, repasa los pasos anteriores.

  3. Recargamos la configuración de Apache para que se apliquen los cambios: /etc/init.d/apache2 graceful

¡Listo! Accede a tu web con el prefijo https:// para verificar que funciona correctamente.

Recuerda que si no dispones aun de un servidor Cloud Linux en el que puedas instalar Apache y tu certificado SSL puedes desplegarlo fácilmente con SW Hosting.

cta:cloud_so