Hướng dẫn khắc phục sự cố cài đặt HTTP HTTP

Cài đặt Apache HTTP luôn thú vị. Vài ngày trước, tôi đang cài đặt Apache 2.4 trên CentOS VM và gặp phải nhiều lỗi.


Tôi nghĩ rằng nó sẽ hữu ích để tập hợp lại để tham khảo.

Không tìm thấy APR

[[email được bảo vệ] httpd-2.4.25] # ./có hình –enable-ssl
kiểm tra bố cục đã chọn … Apache
kiểm tra để làm việc mkdir -p … có
kiểm tra grep xử lý các dòng dài và -e … / usr / bin / grep
kiểm tra egrep … / usr / bin / grep -E
kiểm tra loại hệ thống xây dựng … x86_64-unknown-linux-gnu
kiểm tra loại hệ thống máy chủ … x86_64-unknown-linux-gnu
kiểm tra loại hệ thống đích … x86_64-unknown-linux-gnu
cấu hình:
cấu hình: Cấu hình thư viện Apache Portable Runtime…
cấu hình:
kiểm tra APR … không
cấu hình: lỗi: Không tìm thấy APR. Vui lòng đọc tài liệu.
[[email được bảo vệ] httpd-2.4.25] #

APR là viết tắt của từ Apache Apache Portable Runtime và cần biên dịch từ nguồn. Nếu bạn ở trong hoàn cảnh giống như tôi thì sẽ làm theo giải cứu bạn.

Đầu tiên, bạn cần cài đặt APR.

  • Tải xuống phiên bản APR mới nhất bằng wget

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

  • Giải nén tập tin đã tải xuống

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

  • nó sẽ tạo một thư mục mớitháng tư-1.6.3Giáo dục
  • Đi vào bên trong và biên dịch với lệnh configure

./ cấu hình

Sẽ mất vài giây và sau khi hoàn thành, bạn sẽ nhận được lời nhắc lại (đảm bảo không có lỗi).

  • Bước cuối cùng sẽ là cài đặt bằng lệnh make

làm
cài đặt

Sau khi hoàn thành, tôi đã thử cài đặt Apache và gặp một lỗi khác.

Không tìm thấy APR

[[email được bảo vệ] httpd-2.4.25] # ./cool –enable-ssl –enable-so
kiểm tra bố cục đã chọn … Apache
kiểm tra để làm việc mkdir -p … có
kiểm tra grep xử lý các dòng dài và -e … / usr / bin / grep
kiểm tra egrep … / usr / bin / grep -E
kiểm tra loại hệ thống xây dựng … x86_64-unknown-linux-gnu
kiểm tra loại hệ thống máy chủ … x86_64-unknown-linux-gnu
kiểm tra loại hệ thống đích … x86_64-unknown-linux-gnu
cấu hình:
cấu hình: Cấu hình thư viện Apache Portable Runtime…
cấu hình:
kiểm tra APR … có
đặt CC thành "gcc"
đặt CPP thành "gcc -E"
đặt CFLAGS thành " -g -O2-đọc"
đặt CPPFLAGS thành " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
đặt LDFLAGS thành " "
cấu hình:
cấu hình: Cấu hình thư viện Apache Portable Runtime Utility…
cấu hình:
kiểm tra APR-produc … không
cấu hình: lỗi: Không tìm thấy APR. Vui lòng đọc tài liệu.
[[email được bảo vệ] httpd-2.4.25] #

Trong trường hợp bạn cũng không tìm thấy lỗi APR-produc thì bạn cũng phải cài đặt như sau.

  • Tải xuống nguồn APR mới nhất

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

  • Giải nén tập tin gz đã tải xuống

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

  • Đi vào bên trong thư mục mới được tạo ra, apr-produc-1.6.1, và cài đặt bằng các lệnh sau

./ configure –with-apr = / usr / local / apr / bin / apr-1-config
làm
cài đặt

Đã thử cài đặt lại Apache và gặp một lỗi khác.

pcre-config cho libpcre không tìm thấy

Đây là những gì tôi có.

kiểm tra xem trình biên dịch C có hoạt động không … có
kiểm tra tên tệp đầu ra mặc định của trình biên dịch C … a.out
kiểm tra hậu tố của thực thi…
kiểm tra xem chúng tôi có đang biên dịch chéo không … không
kiểm tra hậu tố của các tệp đối tượng … o
kiểm tra xem chúng tôi có đang sử dụng trình biên dịch GNU C không … có
kiểm tra xem gcc có chấp nhận -g … có
kiểm tra tùy chọn gcc để chấp nhận ISO C89 … không cần thiết
kiểm tra cách chạy bộ tiền xử lý C … gcc -E
kiểm tra tùy chọn gcc để chấp nhận ISO C99 … -std = gnu99
kiểm tra pcre-config … sai
configure: error: pcre-config cho libpcre không tìm thấy. PCRE là bắt buộc và có sẵn từ http://pcre.org/

PCRE là viết tắt của biểu thức chính quy tương thích Perl và lỗi này xảy ra giải pháp dễ dàng. Bạn chỉ cần cài đặt gói pcre-devel.

yum cài đặt pcre-devel

Chưa kết thúc, đã có một nỗ lực tiếp theo liên quan đến OpenSSL.

Phiên bản OpenSSL quá cũ

kiểm tra xem có bật mod_slotmem_plain … không
kiểm tra xem có bật mod_ssl không … kiểm tra phụ thuộc
kiểm tra OpenSSL … kiểm tra thư mục cơ sở OpenSSL do người dùng cung cấp … ./cool: dòng 25426: cd: / usr / bin / openssl: Không phải là thư mục
/root/httpd-2.4.25
thêm "-Tôi / root / httpd-2.4.25 / bao gồm" để CPPFLAGS
đặt MOD_CFLAGS thành "-Tôi / root / httpd-2.4.25 / bao gồm"
đặt ab_CFLAGS thành "-Tôi / root / httpd-2.4.25 / bao gồm"
thêm "-L / root / httpd-2.4.25 / lib" để LDFLAGS
đặt MOD_LDFLAGS thành "-L / root / httpd-2.4.25 / lib"
kiểm tra phiên bản OpenSSL >= 0,9,8a … KHÔNG CÓ
cấu hình: CẢNH BÁO: Phiên bản OpenSSL quá cũ
Không
kiểm tra xem có bật mod_ssl … configure: error: mod_ssl đã được yêu cầu nhưng không thể được xây dựng do lỗi tiên quyết
[[email được bảo vệ] httpd-2.4.25] #

Điều đầu tiên bạn phải đảm bảo bạn có phiên bản OpenSSL mới nhất trong trường hợp của tôi, vì vậy tôi cần phải cài đặt gói phát, và mọi thứ đều ổn.

yum cài đặt openssl-devel

xml / apr_xml.c: 35: 19: lỗi nghiêm trọng: expat.h: Không có tệp hoặc thư mục như vậy

Trong khi biên dịch APR, tôi đã gặp lỗi này.

[[email được bảo vệ] apr-produc-1.6.1] # make
make [1]: Nhập thư mục `/opt/temp/apr-util-1.6.1 ‘
/ bin / sh / usr / local / apr / build – 1.6.1 / bao gồm -I / opt / temp / apr-produc-1.6.1 / include / private -I / usr / local / apr / include / apr-1 -o xml / apr_xml.lo -c xml / apr_xml. c && chạm vào xml / apr_xml.lo
xml / apr_xml.c: 35: 19: lỗi nghiêm trọng: expat.h: Không có tập tin hoặc thư mục như vậy
#incolee
                   ^
biên dịch kết thúc.
thực hiện [1]: *** [xml / apr_xml.lo] Lỗi 1

Nếu bạn gặp lỗi này, thì có thể khắc phục bằng cách cài đặt gói expat-devel.

yum cài đặt expat-devel

configure: error: không có trình biên dịch C có thể chấp nhận được tìm thấy trong $ PATH

Trình biên dịch C không tìm thấy là điển hình cho bất kỳ bản dựng phần mềm nào và bạn có thể khắc phục điều này bằng cách cài đặt trình biên dịch.

yum cài đặt gcc

phiên bản nghttp2 quá cũ

Điều này cụ thể khi bạn cố gắng cài đặt Apache với HTTP / 2. Bạn sẽ nhận được lỗi sau.

kiểm tra xem có bật mod_http2 không … kiểm tra các phụ thuộc
kiểm tra OpenSSL … (lưu trữ) có
đặt MOD_LDFLAGS thành " -lssl -lcrypto -lrt -lcrypt -lpthread"
đặt MOD_CFLAGS thành " "
đặt MOD_CPPFLAGS thành "-DH2_OPENSSL"
kiểm tra nghttp2 … kiểm tra thư mục cơ sở nghttp2 do người dùng cung cấp … không
kiểm tra pkg-config cùng … kiểm tra phiên bản nghttp2 >= 1.2.1 … KHÔNG CÓ
cấu hình: CẢNH BÁO: phiên bản nghttp2 quá cũ
Không
kiểm tra xem có bật mod_http2 … configure: error: mod_http2 đã được yêu cầu nhưng không thể được xây dựng do lỗi tiên quyết

Và, nếu vậy, bạn có thể khắc phục bằng cách cài đặt nghttp2 như bên dưới.

  • Tải xuống phiên bản mới nhất của nghttp2 từ đây

wget https://github.com/nghttp2/nghttp2/release/doad/v1.37.0/nghttp2-1.37.0.tar.gz

  • Giải nén tập tin đã tải xuống

tar -xvf nghttp2-1.37.0.tar.gz

  • Nó sẽ tạo một thư mục mới, vào bên trong đó và chạy như sau

./ cấu hình
làm
cài đặt

Sau khi hoàn thành mà không gặp lỗi, hãy chạy lại bản dựng nguồn Apache với HTTP2. Nó sẽ ổn thôi.

Cuối cùng, tôi đã có thể cài đặt Apache thành công. Nếu bạn muốn tìm hiểu về Quản trị máy chủ HTTP Apache, thì hãy xem điều này khóa học trực tuyến.

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