Panduan Penyelesaian Masalah Pemasangan HTTP Apache

Memasang HTTP Apache sentiasa menyeronokkan. Beberapa hari yang lalu, saya memasang Apache 2.4 di CentOS VM dan menemui pelbagai kesalahan.


Saya fikir akan berguna untuk mengumpulkan rujukan.

APR tidak dijumpai

[[dilindungi e-mel] httpd-2.4.25] # ./configure –enable-ssl
memeriksa susun atur yang dipilih … Apache
memeriksa mkdir bekerja -p … ya
memeriksa grep yang mengendalikan garis panjang dan -e … / usr / bin / grep
memeriksa egrep … / usr / bin / grep -E
memeriksa jenis sistem binaan … x86_64-نامعلوم-linux-gnu
memeriksa jenis sistem hos … x86_64-نامعلوم-linux-gnu
memeriksa jenis sistem sasaran … x86_64-نامعلوم-linux-gnu
konfigurasikan:
configure: Mengkonfigurasi perpustakaan Runtime Portable Apache…
konfigurasikan:
memeriksa APR … tidak
configure: error: APR tidak dijumpai. Sila baca dokumentasi.
[[dilindungi e-mel] httpd-2.4.25] #

APR adalah singkatan dari “Apache Portable Runtime” dan perlu dikompilasi dari sumbernya. Sekiranya anda berada dalam situasi yang sama dengan saya maka ikuti kehendak menyelamat awak.

Pertama, anda perlu memasang APR.

  • Muat turun versi terkini APR menggunakan wget

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

  • Ekstrak fail yang dimuat turun

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

  • ia akan membuat folder baru “apr-1.6.3
  • Masuk ke dalam dan susun dengan perintah konfigurasi

./ konfigurasikan

Ia akan mengambil masa beberapa saat dan setelah selesai, anda akan mendapat balasan segera (pastikan tiada ralat).

  • Langkah terakhir ialah memasang menggunakan perintah make

membuat
buat pemasangan

Setelah selesai, saya cuba memasang Apache dan mendapat ralat lain.

APR-util tidak dijumpai

[[dilindungi e-mel] httpd-2.4.25] # ./configure –enable-ssl –enable-so
memeriksa susun atur yang dipilih … Apache
memeriksa mkdir bekerja -p … ya
memeriksa grep yang mengendalikan garis panjang dan -e … / usr / bin / grep
memeriksa egrep … / usr / bin / grep -E
memeriksa jenis sistem binaan … x86_64-نامعلوم-linux-gnu
memeriksa jenis sistem hos … x86_64-نامعلوم-linux-gnu
memeriksa jenis sistem sasaran … x86_64-نامعلوم-linux-gnu
konfigurasikan:
configure: Mengkonfigurasi perpustakaan Runtime Portable Apache…
konfigurasikan:
memeriksa APR … ya
menetapkan CC ke "gcc"
menetapkan PKP ke "gcc -E"
menetapkan CFLAGS ke " -g -O2 -preading"
menetapkan CPPFLAGS ke " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
menetapkan LDFLAGS ke " "
konfigurasikan:
configure: Mengkonfigurasi pustaka Utility Portable Runtime Utility…
konfigurasikan:
memeriksa penggunaan APR … tidak
configure: error: APR-util tidak dijumpai. Sila baca dokumentasi.
[[dilindungi e-mel] httpd-2.4.25] #

Sekiranya anda mempunyai ralat “APR-util tidak dijumpai” maka anda harus melakukannya pasang yang berikut.

  • Muat turun sumber penggunaan APR terkini

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

  • Ekstrak fail gz yang dimuat turun

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

  • Masuk ke dalam folder yang baru dibuat “apr-util-1.6.1” dan pasang menggunakan perintah berikut

./ configure –with-apr = / usr / local / apr / bin / apr-1-config
membuat
buat pemasangan

Cuba memasang Apache sekali lagi dan mendapat ralat lain.

pcre-config untuk libpcre tidak dijumpai

Inilah yang saya dapat.

memeriksa sama ada penyusun C berfungsi … ya
memeriksa nama fail output lalai C compiler … a.out
memeriksa akhiran yang boleh dilaksanakan…
memeriksa sama ada kita menyusun silang … tidak
memeriksa akhiran fail objek … o
memeriksa sama ada kita menggunakan penyusun GNU C … ya
memeriksa sama ada gcc menerima -g … ya
memeriksa pilihan gcc untuk menerima ISO C89 … tidak diperlukan
memeriksa cara menjalankan preprocessor C … gcc -E
memeriksa pilihan gcc untuk menerima ISO C99 … -std = gnu99
memeriksa pcre-config … salah
configure: error: pcre-config untuk libpcre tidak dijumpai. PCRE diperlukan dan tersedia dari http://pcre.org/

PCRE adalah singkatan dari Perl Compatible Regular Expressions, dan ralat ini mendapat penyelesaian yang mudah. Anda hanya perlu memasang pakej pcre-devel.

yum pasangkan pcre-devel

Belum selesai, mendapat usaha lain yang berkaitan dengan OpenSSL.

Versi OpenSSL terlalu lama

memeriksa sama ada untuk mengaktifkan mod_slotmem_plain … tidak
memeriksa sama ada untuk mengaktifkan mod_ssl … memeriksa kebergantungan
memeriksa OpenSSL … memeriksa direktori asas OpenSSL yang disediakan pengguna … ./configure: line 25426: cd: / usr / bin / openssl: Bukan direktori
/root/httpd-2.4.25
menambah "-I / root / httpd-2.4.25 / sertakan" kepada CPPFLAGS
menetapkan MOD_CFLAGS ke "-I / root / httpd-2.4.25 / sertakan"
menetapkan ab_CFLAGS ke "-I / root / httpd-2.4.25 / sertakan"
menambah "-L / root / httpd-2.4.25 / lib" ke LDFLAGS
menetapkan MOD_LDFLAGS ke "-L / root / httpd-2.4.25 / lib"
memeriksa versi OpenSSL >= 0.9.8a … GAGAL
konfigurasi: PERINGATAN: Versi OpenSSL terlalu lama
tidak
memeriksa sama ada untuk mengaktifkan mod_ssl … configigure: error: mod_ssl telah diminta tetapi tidak dapat dibina kerana kegagalan prasyarat
[[dilindungi e-mel] httpd-2.4.25] #

Perkara pertama yang harus anda pastikan anda mempunyai OpenSSL versi terbaru yang sesuai dengan saya, jadi saya perlu memasangnya pakej devel, dan semuanya betul.

yum install openssl-devel

xml / apr_xml.c: 35: 19: ralat maut: expat.h: Tiada fail atau direktori seperti itu

Semasa menyusun APR, saya mendapat ralat ini.

[[dilindungi e-mel] apr-util-1.6.1] # buat
buat [1]: Memasukkan direktori `/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 && sentuh xml / apr_xml.lo
xml / apr_xml.c: 35: 19: ralat maut: expat.h: Tidak ada fail atau direktori seperti itu
#sertakan
                   ^
kompilasi ditamatkan.
buat [1]: *** [xml / apr_xml.lo] Ralat 1

Sekiranya anda mendapat ralat ini, maka ini dapat diselesaikan dengan memasang pakej expat-devel.

yum pasang expat-devel

configure: error: tidak ada penyusun C yang dapat diterima dalam $ PATH

Kompilator C tidak dijumpai adalah khas untuk pembuatan perisian, dan anda boleh memperbaikinya dengan memasang penyusun.

yum pasang gcc

versi nghttp2 terlalu lama

Ini khusus untuk ketika anda cuba memasang Apache dengan HTTP / 2. Anda akan mendapat ralat berikut.

memeriksa sama ada untuk mengaktifkan mod_http2 … memeriksa kebergantungan
memeriksa OpenSSL … (cache) ya
menetapkan MOD_LDFLAGS ke " -lssl -lcrypto -lrt -lcrypt -lpthread"
menetapkan MOD_CFLAGS ke " "
menetapkan MOD_CPPFLAGS ke "-DH2_OPENSSL"
memeriksa nghttp2 … memeriksa direktori asas nghttp2 yang disediakan pengguna … tidak ada
memeriksa pkg-config bersama … memeriksa versi nghttp2 >= 1.2.1 … GAGAL
configure: AMARAN: versi nghttp2 terlalu lama
tidak
memeriksa sama ada untuk mengaktifkan mod_http2 … configigure: error: mod_http2 telah diminta tetapi tidak dapat dibina kerana kegagalan prasyarat

Dan, jika ya, anda boleh memperbaikinya dengan memasang nghttp2 seperti di bawah.

  • Muat turun versi terbaru dari nghttp2 dari di sini

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

  • Ekstrak fail yang dimuat turun

tar -xvf nghttp2-1.37.0.tar.gz

  • Ini akan membuat folder baru, masuk ke dalamnya dan jalankan yang berikut

./ konfigurasikan
membuat
buat pemasangan

Setelah selesai tanpa ralat, jalankan binaan sumber Apache dengan HTTP2 sekali lagi. Ia mesti baik-baik saja.

Akhirnya, saya berjaya memasang Apache. Sekiranya anda berminat untuk mengetahui mengenai Pentadbiran Pelayan HTTP Apache, maka periksa ini kursus dalam talian.

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