¿Cómo habilito HTTPS en Apache Web Server

¿Cómo habilito HTTPS en Apache Web Server
Apache es uno de los servidores web más populares que atiende a más del 30% de los sitios web. Es un servidor HTTP gratuito y de código abierto. Viene empaquetado con toneladas de herramientas y características para ejecutar aplicaciones de forma segura y con facilidad.

Este tutorial describe cómo configurar sitios web SSL Secure en el servidor web de Apache.

Nota: Este tutorial está escrito y probado para Debian 9, 10 y 11 y Ubuntu 20.04.

Requisitos.

Para seguir con esta guía, necesitará tener lo siguiente:

  1. Una instalación de Ubuntu/Debian
  2. Un permiso de sudo o raíz para instalar paquetes, modificar archivos de configuración y reiniciar servicios.

Instalación de Apache

Si no tiene apache instalado, necesitamos instalarlo. Ingrese los comandos:

Actualización de sudo apto
sudo apt install apache2 openssl

Una vez que tenga instalado el servidor Apache, inicie el servicio y asegúrese de que todo funcione correctamente.

Habilitando módulos mod_ssl y mod_rewrite.

El siguiente paso es habilitar los módulos mod_ssl y mod_rewrite. Para hacer esto, utilizamos el script A2enMod, que nos permite habilitar y deshabilitar los módulos en la configuración de Apache.

Use los comandos como se muestra a continuación:

sudo a2enmod ssl
sudo a2enmod reescribir

Permitir .anulación de htaccess

El siguiente paso es editar la configuración de Apache y agregar una entrada para permitir que la configuración predeterminada de Apache anule. La configuración primaria se realiza en el .Archivo Htaccess ubicado en el directorio Root de Apache.

sudo vim/etc/apache2/apache2.confusión

Navegue hasta el final del archivo y agregue la siguiente entrada:


Permateverride todo

Guarde y cierre el archivo.

Generación del certificado SSL

Hay varias formas de obtener un certificado SSL gratuito. Herramientas como los generadores CERTBOT y SSL son excelentes opciones.

Sin embargo, en esta guía, crearemos un certificado autofirmado utilizando la utilidad OpenSSL.

Cree un directorio en el directorio de configuración de Apache como:

sudo mkdir/etc/apache2/certs

Navegar por el directorio creado anteriormente.

CD/etc/apache2/certs

Ejecute la utilidad OpenSSL para generar su certificado autofirmado según lo dispuesto en el comando a continuación:

Nota: Puede proporcionar cualquier información en este proceso, excepto el nombre común. Asegúrese de dar una dirección IP o nombre de host.

Una vez que el proceso se completa con éxito, debe tener el Apache.CRT y Apache.clave en el directorio de certs.

Agregar certificado a la configuración de Apache

Agregue el certificado editando el archivo de configuración del sitio web de Apache predeterminado.

sudo vim/etc/apache2/sitios habilitado/000 default.confusión

Agregue un bloque de host virtual en el puerto 443 como se muestra:


ServerAdmin webmaster@localhost
Documentroot/var/www/html
ErrorLog $ apache_log_dir/error.registro
CustomLog $ apache_log_dir/access.registro combinado
SSLEGINE ON
SslCertificateFile/etc/apache2/certs/apache.CRT
SSLCertificAtekeyFile/etc/apache2/certs/apache.llave

Redirigir a https.

En la mayoría de los casos, querrá redirigir a los usuarios desde un punto final SSL a SSL. Haces esto agregando una regla de reescritura en los hosts virtuales del puerto 80.

Agregue la entrada como:

RewriteEngine en
RewriteCond %https !=
Rewriterule ^/?(.*) https: //%server_name/$ 1 [r = 301, l]

Nota: Asegúrese de que los bloques de arriba estén debajo del host virtual del puerto 80.

Reiniciar y acceder a Apache

Una vez que todo lo anterior esté configurado, reinicie el servicio Apache y acceda a su sitio web a través de localhost.

https: // 127.0.0.1

Puede ver la información del certificado haciendo clic en el icono de bloqueo en su navegador.

Conclusión

En esta guía, cubrimos cómo habilitar y configurar SSL en el servidor web de Apache.