はじめに

先日、OpenVZではipsetコマンドが使えないことがわかり新しくKVMを契約後、久しぶりにApacheをソースからインストールしました。

しかし、Apacheを構築している途中でapr-1.7.0のバグを踏んでしまい結構ハマったのでメモしておきます。

因みにサーバはMinimumインストールですが、開発ツール系はインストール済みです。

環境

CentOS7.7に以下のtarballを解凍しインストール。

apr-1.7.0.tar.gz

apr-util-1.6.1.tar.gz

httpd-2.4.41.tar.gz

事象

apachectl start でApacheを起動しようとすると下記エラーが発生。

Function not implemented: AH00141: Could not initialize random number generator

原因

apr-1.7.0のバグの模様。

公式サイトからapr-1.7.0.tar.gzをダウンロードして解凍後、./configure、make、make install、ここまでは問題なし。

ただし、apachectl start を実行するとエラー発生。

結構ググりましたが、結局Apacheの英文サイトぐらいしか情報がありませんでした。

http://mail-archives.apache.org/mod_mbox/apr-bugs/201904.mbox/%3Cbug-63388-43213@https.bz.apache.org/bugzilla/%3E

対処

最初はaprのバージョンが悪いのかそれともapr-utilなのか悩みましたが、旧サーバでApache2.4系をソースコードからインストールしたときはapr-1.6.3で且つapr-util-1.6.1で問題なく構築できていたので、aprのバージョンが原因と判断。

Apacheの公式サイトからapr-1.6.3.tar.gz をダウンロードし、コンパイル。

その後、apr-utilを再コンパイルし、無事解決。

まとめ

WEBサーバをApacheベースでソースコードから構築する機会はそれ程多くないと思いますが、久しぶりに一から構築すると各ライブラリー等のバージョンが上がっているため、バグを踏んでしまうことがあります。

手順は今まで通り問題ないはずなのに上手く起動しない場合は、ログを確認し対処するのはもちろんですが、対処できているはずなのにそれでも上手くいかないときはバグの可能性が高いと思います。

先日、メールサーバもソースから構築しましたが、いろいろな細かいところで結構ハマります。。

ご参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください