Apache2.4をソースからインストールしてみる


Apache2.4をソースからインストールしてみようとしたところ、2.2と比べてインストール中に出るエラーが増えていました。
忘れそうだったので備忘録的な意味も込めて記事にしようと思います。
※環境はcentOS6.6で、rootユーザーを使用しています。


① ディレクトリの移動
ダウンロードしたソースコードを展開するため、下記ディレクトリに移動します。

cd /usr/local/src/

② 必要なパッケージのダウンロード。
当然Apacheのソースコード(httpd-2.4.xx)が必要です。
加えて、Apache2.4以前はhttpdのコンパイル時に必要なARPというライブラリが同梱されていたのですが、
2.4では同梱されなくなってしまったため別途用意する必要があり、結果以下の3つのパッケージをダウンロードします。

wget ftp://ftp.jaist.ac.jp/pub/apache/apr/apr-1.6.5.tar.gz
wget ftp://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.6.1.tar.gz
wget ftp://ftp.jaist.ac.jp/pub/apache/httpd/httpd-2.4.35.tar.gz

※各バージョンは記事の執筆時点で最新のバージョンです。適宜置き換えて下さい。

③ ダウンロードしたファイルを展開
先ほどダウンロードした各ファイルを展開しておきます。

tar xzvf apr-1.6.5.tar.gz
tar xzvf apr-util-1.6.1.tar.gz
tar xzvf httpd-2.4.35.tar.gz

④ aprのインストール
apr-utilはaprに依存するため、まずはaprからインストールします。
手順としては、③で展開してできた「apr-1.6.5」ディレクトリに移動してコンパイル、インストールを行います。
今回はaprとapr-utilのインストール先を「/opt」の下に作成して使用することにします。

cd apr-1.6.5 (cd /usr/local/src/apr-1.6.5)
./configure –prefix=/opt/apr/apr-1.6.5
make
make install

⑤ apr-utilのインストール
続けてapr-utilをインストールしますが、後述のコマンドの「make」の所で以下のようなエラーになるはずです。

「expat」というライブラリがないためにエラーとなっています。
そのため、makeを行う前にexpatをインストールしておく必要があります。(今回はyumでインストールしました。)

yum -y install expat-devel

expatのインストールができていればaprと同様に、下記コマンドでインストールまで行って問題ありません。
「configure」を実行する所で先ほどインストールしたaprのディレクトリを参照しています。

cd apr-util-1.6.1 (cd /usr/local/src/apr-util-1.6.1)
./configure –prefix=/opt/apr-util/apr-util-1.6.1 –with-apr=/opt/apr/apr-1.6.5
make
make install

⑥Apacheのインストール
ようやくApache本体のインストールに移れるのですが、今度は後述のコマンドの「configure」の所で以下のようなエラーになります。

今度は「PCRE」というライブラリがないためにエラーとなっているので、先ほどと同様にyumでインストールしてしまいます。

yum install -y pcre-devel

これでApacheがインストールできます。
configureの際には先ほどインストールしたaprとapr-utilを参照しています。
また、今回はインストール先を指定していないのでデフォルトのディレクトリ(/usr/local/apache2)にインストールされます。

cd httpd-2.4.35 (cd /usr/local/src/httpd-2.4.35)
./configure –with-apr=/opt/apr/apr-1.6.5 –with-apr-util=/opt/apr-util/apr-util-1.6.1
make
make install

⑦ 起動確認
起動確認の前にServerNameを設定しておく必要があるので、下記コマンドで「httpd.conf」を開いて編集します。

vi /usr/local/apache2/conf/httpd.conf

編集するのは以下の箇所です。(ServerNameを検索すると早いです。)

「ServerName localhost:80」を追加しました。

これで最低限の準備はできたので、以下のコマンドでApacheを起動しましょう。

/usr/local/apache2/bin/apachectl start

起動ができていればcentOS上のブラウザで「localhost」にアクセスした時に「It works!」が表示されるはずです。
(上記コマンドのstartをstopに変えて実行した時と比べると良いと思います。)


以上でApache2.4のインストールは完了です。
2.4系はapr関連のインストールのせいでかなり面倒なので、yumでやりたいというのが正直なところです。

  • このエントリーをはてなブックマークに追加

PAGE TOP