0% encontró este documento útil (0 votos)
3 vistas7 páginas

Cómo Instalar Certificado SSL en Apache

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 7

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.
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/
3. Crea el directorio correspondiente a tu dominio y accede al mismo:
mkdir minuevaweb.es
cd minuevaweb.es
4. 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/
5. 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/
2. 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
3. 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)
4. En el segundo bloque VirtualHost, modificamos el puerto de 80 a
443: <VirtualHost *:443>

2
5. 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>
==================================================
6. 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>
====================================================
====

3
7. 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
8. Comprobamos que la configuración es correcta: apache2ctl -t Ha de
aparecer Syntax OK. Si aparece algún error, repasa los pasos anteriores.
9. 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.

OTRA GUÍA
Pasos iniciales
Si instala el certificado en un servidor en el que no se haya editado la configuración de
Apache, primero permita el HTTPS en el site por defecto y permita las conexiones TLS.
Sin estos dos pasos básicos el protocolo HTTPS no funcionará.

Introduzca en el terminal:
sudo a2enmod ssl
Así se activará el módulo HTTPS.
A continuación, permita el site por defecto para la conexión segura o el Apache
utilizará solamente el site por defecto con el HTTP:
sudo a2ensite default-ssl
Reinicie Apache para que a continuación, funcionen tanto el HTTP como el HTTPS:
systemctl restart apache2

Preparación de los certificados TLS e intermedio


El certificado TLS emitido se entrega por correo electrónico. El certificado llegará en
formato texto cifrado en Base64. Guarde el archivo linux_cert+ca.pem enviado por
nosotros o cópielo en el servidor.
El archivo linux_cert+ca.pem contiene el certificado para el dominio y el
certificado intermedio. Están en un archivo juntos porque los servidores web los
quieren tener juntos. El certificado intermedio es necesario para la credibilidad del
certificado emitido en los dispositivos de los clientes, sin embargo, usted no tiene por
qué buscar y añadirlo en la configuración.
Utilice el archivo linux_cert+ca.pem como SSLCertificateFile para Apache, en
el que se han unido el certificado y el intermedio. No utilice las directrices
SSLCertificateChainFile o SSLCACertificateFile, ya que son innecesarias.

Configuración del virtualHost

4
Para utilizar el certificado suministrado debe modificar la configuración del host para
el dominio. Abra el archivo de configuración default-ssl.conf (o dominio-ssl.conf) para
editarlo (debería estar en /etc/apache2/sites-enabled; si no es así, vuelva al apartado
Pasos iniciales) y edite la ubicación del archivo de clave privada y del archivo de
certificado que se utilizarán en las dos siguientes directivas:

SSLCertificateFile /etc/ssl/private/linux_cert+ca.pem
SSLCertificateKeyFile /etc/ssl/private/private.key
Las versiones anteriores de Apache soportaban la directiva SSLCertificateChainFile (no
está en uso desde la versión 2.4.8); puede eliminarla o desactivarla. El certificado
intermedio está en el archivo del certificado cómo ya se ha indicado anteriormente. La
directiva SSLCACertificateFile sirve para los certificados de clientes, así que puede
ignorarlo para el certificado TLS.
Guarde el archivo. Puede verificar la configuración correcta antes de reiniciar,
utilizando la orden
sudo apache2ctl configtest
Finalmente, reinicie Apache con
sudo systemctl restart apache2

Ejemplo de configuración del servidor


En el servidor web Apache se guardan las configuraciones permitidas y utilizadas en la
carpeta /etc2/apache2/sites-enabled. Aquí indicamos un ejemplo típico de la
configuración del servidor en el archivo default-ssl.conf.
SSLEngine on
SSLCertificateFile /etc/ssl/private/dominio.pem
SSLCertificateKeyFile /etc/ssl/private/dominio.key

OTRA GUÍA
Instalar certificado SSL Wildcard en sitio web con Apache2
Una de las formas más importantes de asegurar el intercambio de datos entre un
servidor y el cliente que accede a él es el uso de certificados SSL. Para asegurar que la
comunicación se realiza realmente con el servidor correcto, el servidor puede ser
certificado por una institución de confianza.
Requisitos:
 Asegurarse de que el servidor tiene el puerto 443 (https) abierto
 Haber adquirido un Certificado SSL en cualquier entidad certificadora oficial
 Fichero con la Clave Privada .key
 Fichero de Certificado SSL .cer o .crt

5
 Fichero de Certificados Intermedios .cer o .crt

Pasos:
1. Subir los ficheros con los certificados al servidor en una carpeta a la que se tenga
acceso, como por ejemplo la home : /home/personal/certificados
2. Crea una carpeta en la ruta /etc/ssl/certs
$ sudo mkdir /etc/ssl/certs/LaSendaDelAdmin

3. Copia los ficheros a la ruta recién creada:


$ sudo cp /home/personal/certificados/* /etc/ssl/certs/LaSendaDelAdmin

4. Cambia los permisos de los ficheros:


$ sudo chmod 777 /etc/ssl/certs/LaSendaDelAdmin/*

5. Edita la configuración del sitio de apache:


$ sudo vim /etc/apache2/sites-available/lasendadeladmin.conf

6. En la configuración del site, modifica el VirtualHost para que escuche el puerto


443 de https e incluye las 4 lineas de código para configurar los certificados en el
sitio:

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName lasendadeladmin.com
ServerAlias www.lasendadeladmin.com
SSLEngine on
SSLCertificateFile
/etc/ssl/certs/LaSendaDelAdmin/LaSendaDelAdmin.com_ssl_certificate.cer
SSLCertificateKeyFile
/etc/ssl/certs/LaSendaDelAdmin/*.LaSendaDelAdmin.com_private_key.key
SSLCertificateChainFile
/etc/ssl/certs/CloudGamers/*.LaSendaDelAdmin.com_ssl_certificate_INTERME
DIATE.cer
....

6
7. Si no esta el módulo SSL habilitado, habilitalo con el comando a2enmod ssl :
$ sudo a2enmod ssl

Considering dependency setenvif for ssl:


Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create
self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2

8. Ahora comprueba que no hay ningun error en el código:


$ sudo apachectl configtest
Syntax OK

9. Una vez verificado que la sintaxis de los ficheros de configuración es correcta, ya


solo queda reiniciar el servicio de apache para habilitar el sitio web ahora con el
certificado:
$ sudo systemctl restart apache2

También podría gustarte