Priročnik za odpravljanje težav z namestitvijo Apache HTTP

Nameščanje Apache HTTP je vedno zabavno. Pred nekaj dnevi sem na CentOS VM namestil Apache 2.4 in naletel več napak.


Mislil sem, da bi bilo koristno sestaviti za referenco.

APR ni mogoče najti

[[zaščitena e-pošta] httpd-2.4.25] # ./konfiguracija –enable-ssl
preverjanje izbrane postavitve … Apache
preverjanje dela mkdir -p … da
preverjanje grep-a, ki upravlja z dolgimi črtami in -e … / usr / bin / grep
preverjanje egrep … / usr / bin / grep -E
preverjanje vrste sistema izdelave … x86_64-unknown-linux-gnu
preverjanje vrste gostiteljskega sistema … x86_64-unknown-linux-gnu
preverjanje vrste ciljnega sistema … x86_64-unknown-linux-gnu
konfiguriraj:
configure: Konfiguriranje Apache prenosne knjižnice izvajanja…
konfiguriraj:
preverjanje za APR … ne
configure: error: APR ni mogoče najti. Prosimo, preberite dokumentacijo.
[[zaščitena e-pošta] httpd-2.4.25] #

APR pomeni “Apache Portable Runtime” in ga je treba sestaviti iz vira. Če ste v isti situaciji kot jaz, potem sledi volja reševanje ti.

Najprej, morate namestiti APR.

  • Prenesite najnovejšo različico APR s wget-om

wget https://www-eu.apache.org/dist/apr/apr-1.6.3.tar.gz .

  • Izdvojite naloženo datoteko

gunzip -c apr-1.6.3.tar.gz | tar xvf –

  • ustvaril bo novo mapo “apr-1.6.3
  • Pojdi notri in sestavi z ukazom configure

./ konfigurirati

Trajalo bo nekaj sekund in ko boste končali, boste takoj dobili povratno sporočilo (brez napake).

  • Zadnji korak bi bila namestitev z ukazom make

narediti
da namestite

Ko končam, sem poskusil namestiti Apache in dobil še eno napako.

APR-util ni najden

[[zaščitena e-pošta] httpd-2.4.25] # ./konfiguracija –enable-ssl –enable-so
preverjanje izbrane postavitve … Apache
preverjanje dela mkdir -p … da
preverjanje grep-a, ki upravlja z dolgimi črtami in -e … / usr / bin / grep
preverjanje egrep … / usr / bin / grep -E
preverjanje vrste sistema izdelave … x86_64-unknown-linux-gnu
preverjanje vrste gostiteljskega sistema … x86_64-unknown-linux-gnu
preverjanje vrste ciljnega sistema … x86_64-unknown-linux-gnu
konfiguriraj:
configure: Konfiguriranje Apache prenosne knjižnice izvajanja…
konfiguriraj:
preverjanje za APR … ja
nastavitev CC na "gcc"
nastavitev CPP na "gcc -E"
nastavitev CFLAGS na " -g -O2 -predlo"
nastavitev CPPFLAGS na " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
nastavitev LDFLAGS na " "
konfiguriraj:
configure: Konfiguriranje Apache prenosne knjižnice Runtime Utility…
konfiguriraj:
preverjanje APR-util … št
configure: error: APR-util ni najden. Prosimo, preberite dokumentacijo.
[[zaščitena e-pošta] httpd-2.4.25] #

Če imate tudi napako »APR-util ni najden«, potem morate to storiti namestite naslednje.

  • Prenesite najnovejši vir APR-util

wget https://www-eu.apache.org/dist/apr/apr-util-1.6.1.tar.gz .

  • Izdvojite preneseno gz datoteko

gunzip -c apr-util-1.6.1.tar.gz | tar xvf –

  • Pojdite v novo ustvarjeno mapo “apr-util-1.6.1” in namestite z naslednjimi ukazi

./ configure –with-apr = / usr / local / apr / bin / apr-1-config
narediti
da namestite

Poskusili smo znova namestiti Apache in dobil še eno napako.

pcre-config za libpcre ni mogoče najti

To je tisto, kar imam.

preverjanje, ali deluje prevajalnik C … da
preverjanje privzetega imena izhodne datoteke prevajalnika C … a.out
preverjanje priponke izvedljivih datotek…
preverjamo, ali se navajamo navzkrižno … ne
preverjanje pripone objektnih datotek … o
preverjamo, ali uporabljamo prevajalnik GNU C … da
preverjanje, ali gcc sprejema -g … da
preverjanje možnosti gcc za sprejem ISO C89 … ni potrebno
preverjanje, kako zagnati predprocesor C … gcc -E
preverjanje možnosti gcc za sprejem ISO C99 … -std = gnu99
preverjanje konfiguracije pcre … false
configure: error: pcre-config za libpcre ni mogoče najti. PCRE je potreben in na voljo na spletni strani http://pcre.org/

PCRE pomeni Perl združljive regularne izraze in ta napaka je dobila enostavna rešitev. Preprosto namestite paket pcre-devel.

yum namestite pcre-devel

Še ni konec, še en poskus v zvezi z OpenSSL.

Različica OpenSSL je prestara

preverjanje, ali omogočite mod_slotmem_plain … ne
preverjanje, ali omogočite mod_ssl … preverjanje odvisnosti
preverjanje za OpenSSL … preverjanje za osnovni imenik OpenSSL, ki ga je zagotovil uporabnik … ./configure: vrstica 25426: cd: / usr / bin / openssl: Ni imenika
/root/httpd-2.4.25
dodajanje "-I / root / httpd-2.4.25 / vključujejo" do CPPFLAGS
nastavitev MOD_CFLAGS na "-I / root / httpd-2.4.25 / vključujejo"
nastavitev ab_CFLAGS na "-I / root / httpd-2.4.25 / vključujejo"
dodajanje "-L / root / httpd-2.4.25 / lib" do LDFLAGS
nastavitev MOD_LDFLAGS na "-L / root / httpd-2.4.25 / lib"
preverjanje različice OpenSSL >= 0,9.8a … NI uspelo
konfiguracija: OPOZORILO: Različica OpenSSL je prestara
št
preverjanje, ali omogočite mod_ssl … configure: error: mod_ssl je bilo zahtevano, vendar ga ni mogoče zgraditi zaradi predhodnih napak
[[zaščitena e-pošta] httpd-2.4.25] #

Prva stvar, ki jo morate zagotoviti, imate najnovejšo različico OpenSSL, ki je bila v mojem primeru, zato sem moral namestiti devel paket, in bilo je v redu.

yum namestite openssl-devel

xml / apr_xml.c: 35: 19: usodna napaka: expat.h: Ni take datoteke ali imenika

Med sestavljanjem APR sem dobil to napako.

[[zaščitena e-pošta] apr-util-1.6.1] # znamka
make [1]: Vnos imenika `/opt/temp/apr-util-1.6.1 ‘
/ bin / sh / usr / local / apr / build-1 / libtool –silent –mode = sestavi gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -I / opt / temp / apr-util- 1.6.1 / vključujejo -I / opt / temp / apr-util-1.6.1 / vključujejo / zasebno -I / usr / lokalno / apr / vključujejo / apr-1 -o xml / apr_xml.lo -c xml / apr_xml. c && dotaknite se xml / apr_xml.lo
xml / apr_xml.c: 35: 19: usodna napaka: expat.h: Ni take datoteke ali imenika
#include
                   ^
kompilacija zaključena.
naredite [1]: *** [xml / apr_xml.lo] Napaka 1

Če se prikaže ta napaka, lahko to odpravite z namestitvijo paketa expat-devel.

yum namestite expat-devel

configure: error: v $ PATH ni najdeno sprejemljivega prevajalnika C

C prevajalnik C ni najden je značilen za katero koli gradnjo programske opreme, in to lahko odpravite tako, da namestite prevajalnik.

yum namestite gcc

Različica nghttp2 je prestara

To je značilno, ko poskusite namestiti Apache s HTTP / 2. Prikaže se naslednja napaka.

preverjanje, ali omogočite mod_http2 … preverjanje odvisnosti
preverjanje OpenSSL … (predpomnjeno) da
nastavitev MOD_LDFLAGS na " -lssl -lcrypto -lrt -lcrypt -lpthread"
nastavitev MOD_CFLAGS na " "
nastavitev MOD_CPPFLAGS na "-DH2_OPENSSL"
preverjanje nghttp2 … preverjanje uporabniškega osnovnega imenika nghttp2 … nobenega
preverjanje pkg-config skupaj … preverjanje za različico nghttp2 >= 1.2.1 … NI uspelo
configure: OPOZORILO: različica nghttp2 je prestara
št
preverjanje, ali omogočite mod_http2 … configure: error: mod_http2 je bilo zahtevano, vendar ga ni mogoče zgraditi zaradi predpogojnih napak

In če je tako, lahko to popravite tako, da namestite nghttp2 kot spodaj.

  • Prenesite najnovejšo različico nghttp2 iz tukaj

wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz

  • Izdvojite naloženo datoteko

tar -xvf nghttp2-1.37.0.tar.gz

  • Ustvaril bo novo mapo, pojdite v to in zaženite naslednje

./ konfigurirati
narediti
da namestite

Ko končate brez napak, znova zaženite gradnjo Apache vira s HTTP2. Naj bo v redu.

Končno sem uspel uspešno namestiti Apache. Če vas zanima učenje o skrbniški strežnici Apache HTTP, preverite to spletni tečaj.

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