Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Guía de solución de problemas de instalación de Apache HTTP

la solución de problemas
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Instalar Apache HTTP siempre es divertido. Hace unos días, estaba instalar Apache 2.4 en CentOS VM y encontró múltiples errores.

Pensé que sería útil juntarlos como referencia.

APR not found

[root @ chandan httpd-2.4.25] # ./configure --enable-ssl comprobando el diseño elegido ... Apache comprobando si funciona mkdir -p ... sí comprobando grep que maneja líneas largas y -e ... / usr / bin / grep comprobando egrep ... / usr / bin / grep -E comprobando el tipo de sistema de compilación ... x86_64-unknown-linux-gnu comprobando el tipo de sistema host ... x86_64-unknown-linux-gnu comprobando el objetivo tipo de sistema ... x86_64-unknown-linux-gnu configure: configure: Configurando la biblioteca Apache Portable Runtime ... configure: 
comprobando APR ... no
configure: error: APR no encontrado.  Lea la documentación. [root @ chandan httpd-2.4.25] #

APR significa “Apache Portable Runtime” y se necesita para compilar desde la fuente. Si estás en la misma situación que yo, lo siguiente rescatar tus vecinos.

Nombre, necesita instalar APR.

  • Descargue la última versión de APR usando wget
wget https://www-eu.apache.org/dist/apr/apr-1.6.3.tar.gz.
  • Extrae el archivo descargado
gunzip -c abril-1.6.3.tar.gz | alquitrán xvf -
  • creará una nueva carpeta "abr-1.6.3"
  • Entra y compila con el comando configure
. / Configure

Tardará unos segundos y, una vez hecho, recibirá un mensaje de respuesta (asegúrese de que no haya errores).

  • El último paso sería instalar usando el comando make
hacer hacer instalar

Una vez hecho esto, intenté instalar Apache y obtuve otro error.

APR-util not found

[root @ chandan httpd-2.4.25] # ./configure --enable-ssl --enable-so comprobando el diseño elegido ... Apache comprobando si funciona mkdir -p ... sí comprobando grep que maneja líneas largas y -e ... / usr / bin / grep comprobando egrep ... / usr / bin / grep -E comprobando el tipo de sistema de compilación ... x86_64-unknown-linux-gnu comprobando el tipo de sistema host ... x86_64-unknown- linux-gnu verificando el tipo de sistema de destino ... x86_64-unknown-linux-gnu configure: configure: Configurando la biblioteca Apache Portable Runtime ... configure: verificando APR ... sí configurando CC en "gcc" configurando CPP en "gcc - E "configurando CFLAGS en" -g -O2 -pthread "configurando CPPFLAGS en" -DLINUX -D_REENTRANT -D_GNU_SOURCE "configurando LDFLAGS en" "configure: configure: Configurando la biblioteca Apache Portable Runtime Utility ... configure: 
comprobando APR-util ... no
configure: error: APR-util no encontrado.  Lea la documentación. [root @ chandan httpd-2.4.25] #

En caso de que también tenga el error "APR-util not found", debe instalar lo siguiente.

  • Descargue la última fuente APR-util
wget https://www-eu.apache.org/dist/apr/apr-util-1.6.1.tar.gz.
  • Extraiga el archivo gz descargado
gunzip -c apr-util-1.6.1.tar.gz | alquitrán xvf -
  • Vaya dentro de la carpeta recién creada "apr-util-1.6.1" e instálela usando los siguientes comandos
./configure --with-apr = / usr / local / apr / bin / apr-1-config make make install

Intenté instalar Apache nuevamente y obtuve otro error.

pcre-config for libpcre not found

Esto es lo que conseguí.

comprobando si el compilador de C funciona ... sí comprobando el nombre del archivo de salida predeterminado del compilador de C ... a. comprobando el sufijo de los ejecutables ... comprobando si estamos compilando de forma cruzada ... sin comprobar el sufijo de los archivos de objeto ... . o comprobando si estamos usando el compilador GNU C ... sí comprobando si gcc acepta -g ... sí comprobando la opción gcc para aceptar ISO C89 ... no es necesario comprobar cómo ejecutar el preprocesador C ... gcc - E comprobando la opción gcc para aceptar ISO C99 ... -std = gnu99 comprobando pcre-config ... false
configure: error: pcre-config para libpcre no encontrado. Se requiere PCRE y está disponible en http://pcre.org/

PCRE son las siglas de Perl Compatible Regular Expressions, y este error obtuvo una solución fácil. Solo tienes que instalar el paquete pcre-devel.

yum instalar pcre-devel

Aún no ha terminado, tengo otro en el próximo intento relacionado con OpenSSL.

OpenSSL version is too old

verificando si habilitar mod_slotmem_plain ... sin verificar si habilitar mod_ssl ... verificando dependencias verificando OpenSSL ... verificando el directorio base de OpenSSL proporcionado por el usuario ... ./configure: línea 25426: cd: / usr / bin / openssl: No es un directorio /root/httpd-2.4.25 agregando "-I / root / httpd-2.4.25 / include" a CPPFLAGS configurando MOD_CFLAGS a "-I / root / httpd-2.4.25 / include" configurando ab_CFLAGS a "-I / root / httpd-2.4.25 / include" agregando "-L / root / httpd-2.4.25 / lib" a LDFLAGS configurando MOD_LDFLAGS en "-L / root / httpd-2.4.25 / lib"
comprobando la versión de OpenSSL> = 0.9.8a ... FAILED
configure: ADVERTENCIA: La versión de OpenSSL es demasiado antigua
sin comprobar si se habilita mod_ssl ... configure: error: se ha solicitado mod_ssl pero no se puede construir debido a fallas de requisitos previos [root @ chandan httpd-2.4.25] #

Lo primero que tienes que asegurarte es que tienes la última versión de OpenSSL que era en mi caso, así que necesitaba instalar el paquete de desarrollo, y estuvo bien.

yum install openssl-devel

xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory

Mientras compilaba APR, recibí este error.

[root @ instance-1 apr-util-1.6.1] # make
make [1]: Ingresando al directorio `/opt/temp/apr-util-1.6.1 '
/ bin / sh / usr / local / apr / build-1 / libtool --silent --mode = compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I / opt / temp / apr-util-1.6.1 / include -I / opt / temp / apr-util-1.6.1 / include / private  -I / usr / local / apr / include / apr-1    -o xml / apr_xml.lo -c xml / apr_xml.c && touch xml / apr_xml.lo
xml / apr_xml.c: 35: 19: error fatal: expat.h: No existe tal archivo o directorio
 #incluir
                   ^
compilación terminada.
make [1]: *** [xml / apr_xml.lo] Error 1

Si recibe este error, puede resolverlo instalando expat-devel paquete.

yum instalar expat-devel

configure: error: no acceptable C compiler found in $PATH

El compilador C no encontrado es típico de cualquier compilación de software, y puede solucionarlo instalando el compilador.

yum install gcc

nghttp2 version is too old

Esto es específico para cuando intentas instalar Apache con HTTP / 2. Obtendrá el siguiente error.

checking whether to enable mod_http2... checking dependencies
checking for OpenSSL... (cached) yes
  setting MOD_LDFLAGS to "  -lssl -lcrypto -lrt -lcrypt -lpthread"
  setting MOD_CFLAGS to " "
  setting MOD_CPPFLAGS to "-DH2_OPENSSL"
checking for nghttp2... checking for user-provided nghttp2 base directory... none
checking for pkg-config along ... checking for nghttp2 version >= 1.2.1... FAILED
configure: WARNING: nghttp2 version is too old
no
checking whether to enable mod_http2... configure: error: mod_http2 has been requested but can not be built due to prerequisite failures

Y, si es así, puede solucionarlo instalando nghttp2 como se muestra a continuación.

  • Descargue la última versión de nghttp2 de aquí
wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz
  • Extrae el archivo descargado
tar -xvf nghttp2-1.37.0.tar.gz
  • Creará una nueva carpeta, entra en ella y ejecuta lo siguiente
./configure
make
make install

Una vez hecho esto sin errores, vuelva a ejecutar la compilación fuente de Apache con HTTP2. Debería estar bien.

Finalmente, pude instalar Apache con éxito. Si está interesado en aprender sobre la administración del servidor HTTP Apache, consulte este curso en línea.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Apache HTTP
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder