Cómo instalar certificado SSL en Apache
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:
-
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.
-
Conéctate al servidor mediante SSH y accede al directorio en el que alojaremos los certificados:
cd /etc/apache2/ssl/
- Crea el directorio correspondiente a tu dominio y accede al mismo:
mkdir minuevaweb.es
cd minuevaweb.es
- 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/
- 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:
- Accede al directorio de ficheros de configuración vhosts:
cd /etc/apache2/sites-enabled/
- 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/
- 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)
-
En el segundo bloque VirtualHost, modificamos el puerto de 80 a 443:
<VirtualHost *:443>
-
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>
- 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>
-
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
-
Comprobamos que la configuración es correcta:
apache2ctl -t
Ha de aparecer Syntax OK.
Si aparece algún error, repasa los pasos anteriores.
-
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.
Si lo prefieres, podemos realizar esta gestión por ti. Solicítalo mediante un ticket para actuación técnica.