ec2インスタンスでmakeできる環境を整える

2012.03.06

前回はyumコマンドによるインストールでhttpサーバをインストールしましたが、今回はあるサーバソフトウェアをセットアップするため、ソースからapache2.2.22をインストール必要が出てきましたので、makeできるまでの手順を備忘録としてまとめます。

ec2インスタンス(ex:t1.micro AMI)を立ち上げただけの状態ではソースコードをコンパイルしてインストールすることができません。その場合は、gccやg++などのコンパイラが必要となりますので先にコンパイル環境をインストールします。

※以後の作業はrootユーザで行います。

sudo su - root
yum install gcc*

として、必要なものをインストールします。(45個のrpmパッケージでトータル146MBもあります。。。)

その後、Apacheダウンロードでソースを落としてきてソースインストールをしてみます。(CUI環境なのでwgetを使って落とします。)

wget http://ftp.riken.jp/net/apache//httpd/httpd-2.2.22.tar.gz
tar xvfz httpd-2.2.22.tar.gz
cd httpd-2.2.22
./configure --enable-so --prefix=/usr/local/apache2
make
make install

とやる予定でしたが、configureのあとのmakeでコマンドがないって怒られました。

rpm -ql make ←確認コマンド
package make is not installed

上記の通り、package make is not installedとなってましたので、makeのパッケージをインストールします。

yum install make

makeコマンドのインストールが終了したので、make,make installを行います。

make
make install

どちらのコマンドもちょっと時間がかかりましたが、無事エラーもなくインストールまで終了しました。

次はApacheをソースからインストールしたので、自動起動のスクリプトを用意します。

cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

/etc/init.d/httpdをviで編集します。(# chkconfig: 345 85 15)を追加します。

#!/bin/sh
#
# chkconfig: 345 85 15
・
・

この行を追加することで、chkconfigコマンドによってスクリプトが各ランレベルのディレクトリ下にシンボリックリンクされ、サーバの起動時に参照されることで自動実行します。

ということで、chkconfig --addコマンドで自動起動登録します。

chkconfig --list httpd ←一応ないことを確認(下記メッセージが出るはず)
service httpd supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add httpd')
chkconfig --add httpd
chkconfig --list httpd ←下記状態で設定が出るはず
httpd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

とりあえずserviceコマンドでApacheを起動します。

service httpd start

参考までにInboundでsecurity groupに設定している項目は以下の設定にしています。

  • SSHポート(22番)の開放設定
  • HTTPポート(80番)の開放設定