Apache HTTPのインストールは常に楽しいものです。数日前、CentOS VMにApache 2.4をインストールしていたところ、 複数のエラー.
参考までにまとめると役立つと思いました.
Contents
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ライブラリの構成…
構成、設定:
4月をチェックしています…いいえ
構成:エラー:APRが見つかりません。ドキュメントをお読みください.
[[メール保護] httpd-2.4.25]#
APRは「Apache Portable Runtime」の略で、ソースからコンパイルする必要があります。あなたが私と同じ状況にいるなら、以下は 救援 君は.
最初, あなたはAPRをインストールする必要があります.
- wgetを使用してAPRの最新バージョンをダウンロードする
wget https://www-eu.apache.org/dist/apr/apr-1.6.3.tar.gz .
- ダウンロードしたファイルを解凍します
gunzip -c apr-1.6.3.tar.gz |タールxvf –
- 新しいフォルダが作成されますapr-1.6.3」
- 内部に入り、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ライブラリの構成…
構成、設定:
APRをチェックしています…はい
CCを "gcc"
CPPを "gcc -E"
CFLAGSを " -g -O2 -pthread"
CPPFLAGSを " -DLINUX -D_REENTRANT -D_GNU_SOURCE"
LDFLAGSを " "
構成、設定:
configure:Apache Portable Runtime Utilityライブラリーの構成…
構成、設定:
APR-utilをチェックしています…いいえ
構成:エラー: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 |タールxvf –
- 新しく作成されたフォルダ「apr-util-1.6.1」内に移動し、次のコマンドを使用してインストールします
./ configure –with-apr = / usr / local / apr / bin / apr-1-config
作る
インストールする
Apacheを再度インストールしようとしたところ、別のエラーが発生しました.
libpcreのpcre-configが見つかりません
これは私が得たものです.
Cコンパイラが機能するかどうかを確認しています…はい
Cコンパイラのデフォルトの出力ファイル名をチェックしています… a.out
実行可能ファイルのサフィックスを確認する…
クロスコンパイルしているかどうかをチェックしています…いいえ
オブジェクトファイルのサフィックスをチェックしています… o
GNU Cコンパイラを使用しているかどうかを確認しています…はい
gccが-gを受け入れるかどうかを確認します…はい
ISO C89を受け入れるためのgccオプションの確認…不要
Cプリプロセッサの実行方法を確認しています… gcc -E
ISO C99を受け入れるためのgccオプションをチェックしています… -std = gnu99
pcre-configをチェックしています… false
configure:error:libpcreのpcre-configが見つかりません。 PCREは必須であり、http://pcre.org/から入手できます。
PCREはPerl互換正規表現を表し、このエラーは 簡単な解決策. あなたはpcre-develパッケージをインストールするだけです.
yum install pcre-devel
まだ終わっていない、OpenSSLに関連する次の試みで別のものを得た.
OpenSSLバージョンが古すぎます
mod_slotmem_plainを有効にするかどうかを確認しています…いいえ
mod_sslを有効にするかどうかの確認…依存関係の確認
OpenSSLを確認しています…ユーザー提供のOpenSSLベースディレクトリを確認しています… ./configure:25426行目:cd:/ usr / bin / openssl:ディレクトリではありません
/root/httpd-2.4.25
追加 "-I / root / httpd-2.4.25 / include" CPPFLAGSへ
MOD_CFLAGSを "-I / root / httpd-2.4.25 / include"
ab_CFLAGSを "-I / root / httpd-2.4.25 / include"
追加 "-L /ルート/httpd-2.4.25/lib" LDFLAGSへ
MOD_LDFLAGSを "-L /ルート/httpd-2.4.25/lib"
OpenSSLバージョンの確認 >= 0.9.8a …失敗
設定:警告:OpenSSLバージョンが古すぎます
番号
mod_sslを有効にするかどうかを確認しています…構成:エラー:mod_sslが要求されましたが、前提条件のエラーによりビルドできません
[[メール保護] httpd-2.4.25]#
私の場合はOpenSSLの最新バージョンであることを最初に確認する必要があるため、 パッケージを開発する, そして大丈夫だった.
yum install openssl-devel
xml / apr_xml.c:35:19:致命的なエラー:expat.h:そのようなファイルまたはディレクトリはありません
4月のコンパイル中に、このエラーが発生しました.
[[メール保護] 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。 c && touch xml / apr_xml.lo
xml / apr_xml.c:35:19: 致命的な誤り: expat.h:そのようなファイルまたはディレクトリはありません
#含める
^
コンパイルが終了しました.
make [1]:*** [xml / apr_xml.lo]エラー1
このエラーが発生した場合は、expat-develパッケージをインストールすることで解決できます。.
yumインストールexpat-devel
構成:エラー:$ PATHに受け入れ可能なCコンパイラが見つかりません
Cコンパイラが見つからないことは、どのソフトウェアビルドでも一般的であり、コンパイラをインストールすることで修正できます.
yum install gcc
nghttp2バージョンが古すぎます
これは、HTTP / 2でApacheをインストールしようとした場合に固有です。次のエラーが発生します.
mod_http2を有効にするかどうかの確認…依存関係の確認
OpenSSLをチェックしています…(キャッシュ)はい
MOD_LDFLAGSを " -lssl -lcrypto -lrt -lcrypt -lpthread"
MOD_CFLAGSを " "
MOD_CPPFLAGSを "-DH2_OPENSSL"
nghttp2を確認しています…ユーザー指定のnghttp2ベースディレクトリを確認しています…なし
pkg-configの確認… nghttp2バージョンの確認 >= 1.2.1 …失敗
設定:警告:nghttp2バージョンが古すぎます
番号
mod_http2を有効にするかどうかを確認しています…構成:エラー: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
- それは新しいフォルダーを作成し、その中に行き、以下を実行します
./構成、設定
作る
インストールする
エラーなしで完了したら、HTTP2でApacheソースビルドを再度実行します。大丈夫だ.
最後に、Apacheを正常にインストールすることができました。 Apache HTTP Serverの管理について知りたい場合は、こちらをご覧ください。 オンラインコース.