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

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


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

APR no encontrado

[[correo electrónico protegido] httpd-2.4.25] # ./configure –enable-ssl
comprobando el diseño elegido … Apache
buscando trabajo mkdir -p … si
buscando grep que maneja líneas largas y -e … / usr / bin / grep
buscando 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
configurar:
configure: Configuración de la biblioteca Apache Portable Runtime…
configurar:
buscando APR … no
configure: error: APR no encontrado. Por favor lea la documentación.
[[correo electrónico protegido] httpd-2.4.25] #

APR significa “Apache Portable Runtime” y necesitaba compilar desde la fuente. Si estás en la misma situación que yo, lo siguiente será rescate tú.

primero, necesitas 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

./ configurar

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

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

hacer
hacer instalar

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

APR-util no encontrado

[[correo electrónico protegido] httpd-2.4.25] # ./configure –enable-ssl –enable-so
comprobando el diseño elegido … Apache
buscando trabajo mkdir -p … si
buscando grep que maneja líneas largas y -e … / usr / bin / grep
buscando 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
configurar:
configure: Configuración de la biblioteca Apache Portable Runtime…
configurar:
buscando APR … sí
establecer CC en "gcc"
establecer CPP en "gcc -E"
configurar CFLAGS en " -g -O2 -pthread"
establecer CPPFLAGS en " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
establecer LDFLAGS en " "
configurar:
configure: Configuración de la biblioteca Apache Portable Runtime Utility…
configurar:
buscando APR-util … no
configure: error: APR-util no encontrado. Por favor lea la documentación.
[[correo electrónico protegido] httpd-2.4.25] #

En caso de que también tenga el error “APR-util no encontrado”, entonces debe instale 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
hacer
hacer instalar

Intenté instalar Apache nuevamente y recibí otro error.

pcre-config para libpcre no encontrado

Esto es lo que conseguí.

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

PCRE significa Expresiones regulares compatibles con Perl, y este error recibió un solución fácil. Solo tienes que instalar el paquete pcre-devel.

ñam instalar pcre-devel

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

La versión de OpenSSL es demasiado antigua

comprobando si habilitar mod_slotmem_plain … no
comprobando si habilitar mod_ssl … comprobando dependencias
comprobando OpenSSL … comprobando el directorio base OpenSSL proporcionado por el usuario … ./configure: line 25426: cd: / usr / bin / openssl: no es un directorio
/root/httpd-2.4.25
agregando "-I / root / httpd-2.4.25 / include" a CPPFLAGS
establecer MOD_CFLAGS en "-I / root / httpd-2.4.25 / include"
establecer ab_CFLAGS en "-I / root / httpd-2.4.25 / include"
agregando "-L / root / httpd-2.4.25 / lib" a LDFLAGS
establecer MOD_LDFLAGS en "-L / root / httpd-2.4.25 / lib"
buscando la versión de OpenSSL >= 0.9.8a … FALLIDO
configure: ADVERTENCIA: la versión de OpenSSL es demasiado antigua
No
comprobando si habilitar mod_ssl … configure: error: se ha solicitado mod_ssl pero no se puede generar debido a errores de requisitos
[[correo electrónico protegido] httpd-2.4.25] #

Lo primero que debe asegurarse es tener la última versión de OpenSSL que estaba en mi caso, así que necesitaba instalar el paquete de desarrollo, y todo estuvo bien.

yum install openssl-devel

xml / apr_xml.c: 35: 19: error fatal: expat.h: No existe tal archivo o directorio

Mientras compilaba APR, recibí este error.

[[correo electrónico protegido] apr-util-1.6.1] # make
make [1]: Entrando en el 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 && toque 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, entonces esto se puede resolver instalando el paquete expat-devel.

yum instalar expat-devel

configure: error: no se encontró un compilador de C aceptable en $ PATH

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

ñam instalar gcc

La versión nghttp2 es demasiado antigua

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

comprobando si habilitar mod_http2 … comprobando dependencias
buscando OpenSSL … (en caché) sí
establecer MOD_LDFLAGS en " -lssl -lcrypto -lrt -lcrypt -lpthread"
establecer MOD_CFLAGS en " "
establecer MOD_CPPFLAGS en "-DH2_OPENSSL"
buscando nghttp2 … buscando el directorio base nghttp2 proporcionado por el usuario … ninguno
comprobando pkg-config junto … comprobando la versión nghttp2 >= 1.2.1 … FALLIDO
configure: ADVERTENCIA: la versión nghttp2 es demasiado antigua
No
comprobando si habilitar mod_http2 … configure: error: se ha solicitado mod_http2 pero no se puede generar debido a fallas de requisitos previos

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

  • Descargue la última versión de nghttp2 desde 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, vaya dentro de ella y ejecute lo siguiente

./ configurar
hacer
hacer instalar

Una vez hecho sin error, ejecute la compilación de origen de Apache con HTTP2 nuevamente. Debería estar bien.

Finalmente, pude instalar Apache con éxito. Si está interesado en obtener información sobre la administración del servidor HTTP Apache, consulte esto curso por Internet.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map