読者です 読者をやめる 読者になる 読者になる

ソースからのソフトウエアインストール

LPIC Level2 LPIC 201 Apache tar

普段 yum とか rpm でインストールしていますが、コミュニティ版のソフトをインストールするにはソースからインストールする必要があります。ちょうど 201 の勉強中で出てきたので LPIC の本に沿って実際にやってみます。

 ■ 検証環境

# cat /etc/centos-release
CentOS release 6.5 (Final)

同梱版の httpd は入っていないことを確認

# yum list httpd

■ コミュニティ版の apache のページへ

Welcome! - The Apache HTTP Server Project

トップページから Apache httpd 2.2.29 Released → Download  をクリック

カレントディレクトリに tar.gz を wget します。

f:id:iwamocchan11:20141229034332j:plain

wget http://apache.petsads.us//httpd/httpd-2.2.29.tar.gz

■ ソースの展開

# tar zxvf httpd-2.2.29.tar.gz

 (参考)

tar オプションの覚え方 - iwamocchan’s diary

Makefile の作成

# cd httpd-2.2.29

# ./configure

 私はここでエラーが出たので追加作業を。

configure: error: in `/root/<Directory Name>/httpd-2.2.29/srclib/apr':
configure: error: no acceptable C compiler found in $PATH

 gcc をインストールします。

# yum install gcc*

# ./configure

 エラーがでなくなりました。

# make install

ここでも 特にエラー出なかったですね。ちゃんと出来たかよく分からなくて不安になり何時間か費やしてしまいました。起動してみます。

# /usr/local/apache2/bin/apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

あれ?なんか出た。一回やり直して、正常に終了できていなかった httpd がポートを占領している模様。

 # lsof -i | grep httpd
clock-app 1937 root 21u IPv4 25976 0t0 TCP 192.168.206.133:58411->a110-232-152-51.deploy.akamaitechnologies.com:http (CLOSE_WAIT)
httpd 13614 root 4u IPv6 25558 0t0 TCP *:http (LISTEN)
httpd 13615 daemon 4u IPv6 25558 0t0 TCP *:http (LISTEN)
httpd 13616 daemon 4u IPv6 25558 0t0 TCP *:http (LISTEN)
httpd 13617 daemon 4u IPv6 25558 0t0 TCP *:http (LISTEN)
httpd 13618 daemon 4u IPv6 25558 0t0 TCP *:http (LISTEN)
httpd 13619 daemon 4u IPv6 25558 0t0 TCP *:http (LISTEN)

 80 ポートを使用中のプロセスを kill します。

 # kill -9 13614 13615 13616 13617 13618 13619

 もう一度起動

 # /usr/local/apache2/bin/apachectl start

 出来た。ここでもなんかメッセージ出してほしいなぁ。

 

業務で初めてやった時は同梱版とコミュニティ版の区別があやふやで service で起動して違うよーと注意されました。きちんと区別しましょうね。(私だけか)

 

追記

tar ファイルを "tar ボール"って呼ぶのですが、初めて聞いたときに何それって思ったのでリンク貼っておきます。

tar - Wikipedia