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:
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.