• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • 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

    [[correo electrónico protegido] 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 tipo de sistema de destino ... . 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. [[correo electrónico protegido] 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 apr-1.6.3.tar.gz | tar 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

    [[correo electrónico protegido] 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 comprobando 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 a "-g -O2 -pthread" configurando CPPFLAGS a "-DLINUX -D_REENTRANT -D_GNU_SOURCE" configurando LDFLAGS a "" configure: configure: Configurando la biblioteca Apache Portable Runtime Utility ... configure: 
    comprobando APR-util ... no
    configure: error: APR-util no encontrado.  Lea la documentación. [[correo electrónico protegido] 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 | tar 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
    no se puede comprobar si se debe habilitar mod_ssl ... configure: error: se ha solicitado mod_ssl pero no se puede construir debido a fallas de requisitos previos [[correo electrónico protegido] 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.

    [[correo electrónico protegido] apr-util-1.6.1] # hacer
    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 install 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 por línea.