GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Apache 2 con SSL en Linux (con mod_ssl, openssl)

Este artículo brinda instrucciones paso a paso sobre cómo instalar Apache 2 con mod_ssl.

Prefiero instalar Apache desde la fuente, ya que me da más flexibilidad sobre exactamente qué módulos quiero habilitar o deshabilitar, y también puedo actualizar o aplicar un parche inmediatamente después de que la fundación Apache lo publique.

1. Descargar Apache

Descargue Apache desde httpd.apache.org. La versión estable actual es 2.2.17.

Una vez que obtenga la URL directa para descargar la última versión estable de Apache, use wget como se muestra a continuación para descargarla directamente a su servidor.

cd ~
wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz
tar xvfz httpd-2.2.17.tar.gz

2. Instalar Apache con SSL/TLS

Vea todas las opciones de instalación y configuración de Apache disponibles como se muestra a continuación.

cd httpd-2.2.17
./configure --help

Para instalar un módulo de Apache, normalmente diría –enable-{module-name}. Por ejemplo, para instalar SSL con Apache, es –enable-ssl. Para instalar el módulo ldap, es –enable-ldap.

Para desinstalar cualquier módulo predeterminado que viene con Apache, normalmente diría –disable-{module-name}. Por ejemplo, para deshabilitar la autenticación básica en Apache, es –disable-auth-basic

En este ejemplo, instalaremos Apache con todos los módulos predeterminados, con la adición de –enable-ssl (para instalar mod_ssl para compatibilidad con SSL) y –enable-so, que ayuda a cargar módulos en Apache durante el tiempo de ejecución a través de Dynamic Shared. Mecanismo de objeto (DSO), en lugar de requerir una recompilación.

./configure --enable-ssl --enable-so
make
make install

Nota :De forma predeterminada, lo anterior instala Apache en /usr/local/apache2. Si desea cambiar esta ubicación, use la opción –prefix en ./configure.

3. Habilitar SSL en httpd.conf

El archivo de configuración de Apache httpd.conf se encuentra en /usr/local/apache2/conf.

Quite el comentario de la línea de inclusión httpd-ssl.conf en el archivo /usr/local/apache2/conf/httpd.conf.

# vi /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-ssl.conf

Vea httpd-ssl.conf para revisar todas las configuraciones SSL predeterminadas. En la mayoría de los casos, no necesita modificar nada en este archivo.

vi /usr/local/apache2/conf/extra/httpd-ssl.conf

El certificado SSL y la clave son necesarios antes de iniciar Apache. El archivo server.crt y server.key mencionado en httpd-ssl.conf debe crearse antes de continuar.

# egrep 'server.crt|server.key' httpd-ssl.conf
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"

4. Crear archivo server.crt y server.key

Primero, genere server.key usando openssl.

cd ~
openssl genrsa -des3 -out server.key 1024

El comando anterior le pedirá la contraseña. Asegúrese de recordar esta contraseña. Necesitas esto mientras inicias tu Apache más tarde.

Si no proporciona una contraseña, recibirá el siguiente mensaje de error.

2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters

A continuación, genere un archivo de solicitud de certificado (server.csr) utilizando el archivo server.key anterior.

openssl req -new -key server.key -out server.csr

Finalmente, genere un certificado SSL autofirmado (server.crt) utilizando el archivo server.key y server.csr anterior.

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Para obtener más detalles, consulte:Cómo generar una clave SSL, una CSR y un certificado autofirmado para Apache

5. Copie server.key y server.crt

Copie el archivo server.key y server.crt en la ubicación adecuada del directorio de configuración de Apache.

cd ~
cp server.key /usr/local/apache2/conf/
cp server.crt /usr/local/apache2/conf/

6. Inicie apache y verifique SSL

Inicie Apache como se muestra a continuación.

/usr/local/apache2/bin/apachectl start

Esto le pedirá que ingrese la contraseña de su clave privada.

Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.example.com:443 (RSA)
Enter pass phrase:

OK: Pass Phrase Dialog successful.

Por defecto, Apache SSL se ejecuta en el puerto 443. Abra un navegador web y verifique que puede acceder a su Apache usando https://{your-ip-address}


Linux
  1. ¿Cómo compilar e instalar Python con soporte OpenSSL?

  2. Cómo instalar Let's Encrypt SSL con Apache en Debian 11

  3. Cómo instalar Apache 2.4.2 desde el origen en CentOS 6.2 con SSL

  4. Cómo instalar JBoss AS 7 con SSL en Linux (habilitar HTTPS SSL en JBoss)

  5. Cómo instalar un servidor Linux de virtualización

Cómo instalar Apache en Fedora 20

Cómo instalar Apache en Debian 7

Cómo instalar Apache en Fedora 22

Cómo instalar Apache en Arch Linux

Cómo instalar Apache en Debian 8.2

Cómo instalar y configurar el servidor web Apache en Oracle Linux 8