Установить Apache HTTP всегда весело. Несколько дней назад я устанавливал Apache 2.4 на CentOS VM и столкнулся с несколько ошибок.

Я думал, что было бы полезно собрать для справки.

APR не найден

[[Электронная почта защищена] httpd-2.4.25] # ./configure –enable-ssl
проверка выбранного макета … Apache
проверка на работу mkdir -p … да
проверка на grep, который обрабатывает длинные строки и -e … / usr / bin / grep
проверка на egrep … / usr / bin / grep -E
проверка типа системы сборки … x86_64-unknown-linux-gnu
проверка типа хост-системы … x86_64-unknown-linux-gnu
проверка типа целевой системы … x86_64-unknown-linux-gnu
настроить:
configure: настройка библиотеки Apache Portable Runtime…
настроить:
проверка на апрель … нет
настроить: ошибка: APR не найден. Пожалуйста, прочитайте документацию.
[[Электронная почта защищена] HTTPD-2.4.25] #

APR означает «Apache Portable Runtime» и должен был компилироваться из исходного кода. Если вы находитесь в той же ситуации, что и я, то следующие спасение вы.

Первый, вам нужно установить APR.

  • Загрузите последнюю версию APR с помощью wget

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

  • Извлеките загруженный файл

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

  • это создаст новую папкуАпрель-1.6.3»
  • Зайдите внутрь и скомпилируйте с помощью команды configure

./ Configure

Это займет несколько секунд, и после этого вы получите ответ (убедитесь, что нет ошибок).

  • Последним шагом будет установка с использованием команды make

делать
сделать установку

После этого я попытался установить Apache и получил еще одну ошибку.

APR-util не найден

[[Электронная почта защищена] httpd-2.4.25] # ./configure –enable-ssl –enable-so
проверка выбранного макета … Apache
проверка на работу mkdir -p … да
проверка на grep, который обрабатывает длинные строки и -e … / usr / bin / grep
проверка на egrep … / usr / bin / grep -E
проверка типа системы сборки … x86_64-unknown-linux-gnu
проверка типа хост-системы … x86_64-unknown-linux-gnu
проверка типа целевой системы … x86_64-unknown-linux-gnu
настроить:
configure: настройка библиотеки Apache Portable Runtime…
настроить:
проверка на апрель … да
установка CC на "НКУ"
установка CPP на "GCC-E"
установка CFLAGS в " -g -O2 -ить резьба"
установка CPPFLAGS на " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
установка LDFLAGS на " "
настроить:
configure: настройка библиотеки Apache Portable Runtime Utility…
настроить:
проверка на APR-утилиту … нет
configure: error: APR-util не найден. Пожалуйста, прочитайте документацию.
[[Электронная почта защищена] HTTPD-2.4.25] #

Если у вас есть ошибка «APR-util not found», значит, вы попали в установить следующее.

  • Загрузите последнюю версию APR-util

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

  • Распакуйте скачанный файл gz

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

  • Перейдите во вновь созданную папку «apr-util-1.6.1» и установите с помощью следующих команд

./ configure –with-apr = / usr / local / apr / bin / apr-1-config
делать
сделать установку

Попробовал установить Apache снова и получил другую ошибку.

pcre-config для libpcre не найден

Это то, что я получил.

проверка работоспособности компилятора C … да
проверка имени выходного файла компилятора C по умолчанию … a.out
проверка суффикса исполняемых файлов…
проверяем ли мы кросс-компиляцию … нет
проверка суффикса объектных файлов … o
проверяем, используем ли мы компилятор GNU C … да
проверка, принимает ли gcc -g … да
проверка опции gcc для принятия ISO C89 … не требуется
проверка запуска C препроцессора … gcc -E
проверка опции gcc для принятия ISO C99 … -std = gnu99
проверка на pcre-config … ложь
configure: error: pcre-config для libpcre не найден. PCRE требуется и доступен на http://pcre.org/

PCRE означает Perl-совместимые регулярные выражения, и эта ошибка получила простое решение. Вам просто нужно установить пакет pcre-devel.

ням установить pcre-devel

Еще не закончено, еще одна попытка связана с OpenSSL.

Версия OpenSSL слишком старая

проверка включения или выключения mod_slotmem_plain … нет
проверка включения или выключения mod_ssl … проверка зависимостей
проверка на наличие OpenSSL … проверка предоставленной пользователем базовой директории OpenSSL … ./configure: строка 25426: cd: / usr / bin / openssl: не каталог
/root/httpd-2.4.25
добавление "-I / корень / HTTPD-2.4.25 / включить" к CPPFLAGS
установка MOD_CFLAGS в "-I / корень / HTTPD-2.4.25 / включить"
установка ab_CFLAGS в "-I / корень / HTTPD-2.4.25 / включить"
добавление "-Л / корень / HTTPD-2.4.25 / Библиотека" к LDFLAGS
установка MOD_LDFLAGS в "-Л / корень / HTTPD-2.4.25 / Библиотека"
проверка на версию OpenSSL >= 0.9.8a … FAILED
configure: ПРЕДУПРЕЖДЕНИЕ: версия OpenSSL слишком старая
нет
проверка, нужно ли включить mod_ssl … configure: error: mod_ssl был запрошен, но не может быть собран из-за сбоев предварительных требований
[[Электронная почта защищена] HTTPD-2.4.25] #

Прежде всего вы должны убедиться, что у вас установлена ​​последняя версия OpenSSL, которая была в моем случае, поэтому мне нужно было установить пакет devel, и все было в порядке.

yum install openssl-devel

xml / apr_xml.c: 35: 19: фатальная ошибка: expat.h: такого файла или каталога нет

При компиляции APR я получил эту ошибку.

[[Электронная почта защищена] apr-util-1.6.1] # make
make [1]: вход в каталог `/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. с && коснитесь xml / apr_xml.lo
XML / apr_xml.c: 35: 19: фатальная ошибка: expat.h: нет такого файла или каталога
#включают
                   ^
компиляция прекращена.
make [1]: *** [xml / apr_xml.lo] Ошибка 1

Если вы получаете эту ошибку, то это можно решить, установив пакет expat-devel.

yum install expat-devel

configure: error: в $ PATH не найден приемлемый компилятор C

Компилятор C не найден, это типично для любой сборки программного обеспечения, и вы можете это исправить, установив компилятор.

ням установить gcc

Версия nghttp2 слишком старая

Это относится к случаям, когда вы пытаетесь установить Apache с HTTP / 2. Вы получите следующую ошибку.

проверка включения или выключения mod_http2 … проверка зависимостей
проверка на OpenSSL … (кэшировано) да
установка MOD_LDFLAGS в " -lssl -lcrypto -lrt -lcrypt -lpthread"
установка MOD_CFLAGS в " "
установка MOD_CPPFLAGS в "-DH2_OPENSSL"
проверка для nghttp2 … проверка для предоставленного пользователем базового каталога nghttp2 … нет
проверять pkg-config вместе … проверять версию nghttp2 >= 1.2.1 … FAILED
настройка: ПРЕДУПРЕЖДЕНИЕ: версия nghttp2 слишком старая
нет
проверка, включить ли mod_http2 … configure: error: mod_http2 был запрошен, но не может быть собран из-за сбоев предварительных требований

И, если это так, вы можете исправить, установив nghttp2, как показано ниже.

  • Загрузите последнюю версию nghttp2 с Вот

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

  • Извлеките загруженный файл

tar -xvf nghttp2-1.37.0.tar.gz

  • Это создаст новую папку, зайдите внутрь и запустите следующую

./ Configure
делать
сделать установку

Сделав это без ошибок, снова запустите сборку исходного кода Apache с HTTP2. Должно быть хорошо.

Наконец, я смог успешно установить Apache. Если вы заинтересованы в изучении администрирования Apache HTTP Server, проверьте это онлайн курс.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me