Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Fehlerbehebungshandbuch für die Apache HTTP-Installation

Fehlersuche
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Die Installation von Apache HTTP macht immer Spaß. Vor ein paar Tagen war ich Installieren von Apache 2.4 auf CentOS VM und angetroffen mehrere Fehler.

Ich dachte, es wäre hilfreich, als Referenz zusammenzustellen.

APR not found

[root @ chandan httpd-2.4.25] # ./configure --enable-ssl prüft auf das ausgewählte Layout ... Apache prüft auf funktionierendes mkdir -p ... ja prüft auf grep, das lange Zeilen verarbeitet und -e ... / usr / bin / grep prüft auf egrep ... / usr / bin / grep -E prüft den Build-Systemtyp ... x86_64-unknown-linux-gnu prüft den Host-Systemtyp ... x86_64-unknown-linux-gnu prüft das Ziel Systemtyp ... x86_64-unknown-linux-gnu configure: configure: Konfigurieren der Apache Portable Runtime-Bibliothek ... configure: 
nach APR suchen ... nein
configure: error: APR nicht gefunden.  Bitte lesen Sie die Dokumentation. [root @ chandan httpd-2.4.25] #

APR steht für "Apache Portable Runtime" und muss aus der Quelle kompiliert werden. Wenn Sie sich in der gleichen Situation wie ich befinden, werden Sie folgen retten Sie.

Vornamemüssen Sie APR installieren.

  • Laden Sie die neueste Version von APR mit wget herunter
wget https://www-eu.apache.org/dist/apr/apr-1.6.3.tar.gz.
  • Extrahieren Sie die heruntergeladene Datei
gunzip -c apr-1.6.3.tar.gz | tar xvf -
  • es wird ein neuer Ordner erstellt “April-1.6.3"
  • Gehen Sie hinein und kompilieren Sie mit dem Befehl configure
. / Configure

Es dauert einige Sekunden und sobald Sie fertig sind, erhalten Sie eine Aufforderung zurück (stellen Sie sicher, dass kein Fehler vorliegt).

  • Der letzte Schritt wäre die Installation mit dem Befehl make
make make installieren

Als ich fertig war, habe ich versucht, Apache zu installieren und habe einen weiteren Fehler erhalten.

APR-util not found

[root @ chandan httpd-2.4.25] # ./configure --enable-ssl --enable-so Überprüfung des ausgewählten Layouts ... Apache-Überprüfung auf funktionierendes mkdir -p ... Ja-Überprüfung auf grep, das lange Zeilen und verarbeitet -e ... / usr / bin / grep prüft auf egrep ... / usr / bin / grep -E prüft den Build-Systemtyp ... x86_64-unknown-linux-gnu prüft den Host-Systemtyp ... x86_64-unknown- linux-gnu prüft den Zielsystemtyp ... x86_64-unknown-linux-gnu konfigurieren: konfigurieren: Konfigurieren der Apache Portable Runtime-Bibliothek ... konfigurieren: auf APR prüfen ... ja CC auf "gcc" setzen CPP auf "gcc setzen" - E "Setzen von CFLAGS auf" -g -O2 -pthread "Setzen von CPPFLAGS auf" -DLINUX -D_REENTRANT -D_GNU_SOURCE "Setzen von LDFLAGS auf" "Konfigurieren: Konfigurieren: Konfigurieren der Apache Portable Runtime Utility-Bibliothek ... Konfigurieren: 
Überprüfung auf APR-util ... nein
configure: error: APR-util nicht gefunden.  Bitte lesen Sie die Dokumentation. [root @ chandan httpd-2.4.25] #

Falls Sie auch den Fehler "APR-util nicht gefunden" haben, müssen Sie Installieren Sie Folgendes.

  • Laden Sie die neueste APR-util-Quelle herunter
wget https://www-eu.apache.org/dist/apr/apr-util-1.6.1.tar.gz.
  • Extrahieren Sie die heruntergeladene gz-Datei
gunzip -c apr-util-1.6.1.tar.gz | tar xvf -
  • Gehen Sie in den neu erstellten Ordner "apr-util-1.6.1" und installieren Sie ihn mit den folgenden Befehlen
./configure --with-apr = / usr / local / apr / bin / apr-1-config make make install

Versuchte erneut, Apache zu installieren und bekam einen weiteren Fehler.

pcre-config for libpcre not found

Das habe ich bekommen.

Überprüfen, ob der C-Compiler funktioniert ... Ja Überprüfen des Standardausgabedateinamens des C-Compilers ... a.Überprüfen, ob ausführbare Dateien vorhanden sind ... Überprüfen, ob Cross-Compilieren ausgeführt wird ... Keine Überprüfung auf Suffix von Objektdateien. o Überprüfen, ob wir den GNU C-Compiler verwenden ... Ja Überprüfen, ob gcc -g akzeptiert ... Ja Überprüfen, ob die Option gcc ISO C89 akzeptiert ... Es muss nicht überprüft werden, wie der C-Präprozessor ausgeführt wird ... gcc - E Überprüfung auf gcc-Option zur Annahme von ISO C99 ... -std = gnu99 Überprüfung auf pcre-config ... false
configure: Fehler: pcre-config für libpcre nicht gefunden. PCRE ist erforderlich und unter http://pcre.org/ erhältlich.

PCRE steht für Perl Compatible Regular Expressions, und dieser Fehler hat eine einfache Lösung. Sie müssen nur das pcre-devel-Paket installieren.

yum installiere pcre-devel

Noch nicht vorbei, bekam einen weiteren im nächsten Versuch im Zusammenhang mit OpenSSL.

OpenSSL version is too old

Überprüfen, ob mod_slotmem_plain aktiviert werden soll ... Keine Überprüfung, ob mod_ssl aktiviert werden soll ... Überprüfen von Abhängigkeiten auf OpenSSL überprüfen ... Auf vom Benutzer bereitgestelltes OpenSSL-Basisverzeichnis prüfen ... ./configure: Zeile 25426: cd: / usr / bin / openssl: Kein Verzeichnis /root/httpd-2.4.25, das "-I / root / httpd-2.4.25 / include" zur CPPFLAGS-Einstellung MOD_CFLAGS auf "-I / root / httpd-2.4.25 / include" hinzufügt, wobei ab_CFLAGS eingestellt ist "-I / root / httpd-2.4.25 / include" Hinzufügen von "-L / root / httpd-2.4.25 / lib" zu LDFLAGS Setzen von MOD_LDFLAGS auf "-L / root / httpd-2.4.25 / lib"
Überprüfung auf OpenSSL-Version> = 0.9.8a ... FEHLGESCHLAGEN
configure: WARNUNG: Die OpenSSL-Version ist zu alt
Keine Überprüfung, ob mod_ssl aktiviert werden soll ... configure: error: mod_ssl wurde angefordert, kann jedoch aufgrund vorausgesetzter Fehler nicht erstellt werden [root @ chandan httpd-2.4.25] #

Als erstes müssen Sie sicherstellen, dass Sie die neueste Version von OpenSSL haben, die in meinem Fall vorhanden war. Daher musste ich die installieren Paket entwickelnund es war alles in Ordnung.

yum installieren Sie openssl-devel

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

Beim Kompilieren von APR ist dieser Fehler aufgetreten.

[root @ instance-1 apr-util-1.6.1] # make
make [1]: Eingabe des Verzeichnisses `/opt/temp/apr-util-1.6.1 '
/ bin / sh / usr / local / apr / build-1 / libtool --silent --mode = kompiliere 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 / privat  -Ich / usr / local / apr / include / apr-1    -o xml / apr_xml.lo -c xml / apr_xml.c && Berühren Sie xml / apr_xml.lo
xml / apr_xml.c: 35: 19: fataler Fehler: expat.h: Keine solche Datei oder kein solches Verzeichnis
 #einschließen
                   ^
Kompilierung beendet.
make [1]: *** [xml / apr_xml.lo] Fehler 1

Wenn Sie diesen Fehler erhalten, kann dieser durch Installation behoben werden expat-devel Paket.

yum installiere expat-devel

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

Der nicht gefundene C-Compiler ist typisch für Software-Builds. Sie können dies beheben, indem Sie den Compiler installieren.

yum install gcc

nghttp2 version is too old

Dies ist spezifisch, wenn Sie es versuchen Installieren Sie Apache mit HTTP / 2. Sie erhalten den folgenden Fehler.

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

In diesem Fall können Sie das Problem beheben, indem Sie nghttp2 wie folgt installieren.

  • Laden Sie die neueste Version von nghttp2 von herunter hier
wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz
  • Extrahieren Sie die heruntergeladene Datei
tar -xvf nghttp2-1.37.0.tar.gz
  • Es wird ein neuer Ordner erstellt, in diesen Ordner verschoben und Folgendes ausgeführt
./configure
make
make install

Führen Sie den Apache-Quellbuild mit HTTP2 erneut aus, sobald er fehlerfrei ausgeführt wurde. Es sollte in Ordnung sein.

Endlich konnte ich Apache erfolgreich installieren. Wenn Sie mehr über die Apache HTTP Server Administration erfahren möchten, lesen Sie diese Informationen Online Kurs.

Danke an unsere Sponsoren
Weitere großartige Lektüren zu Apache HTTP
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder