[Sy] Amazon Linux に yum を使って Apache(httpd) 2.4 をインストールする方法
Amazon Linux(EC2インスタンス)で Apache(httpd) を普通に yum でインストールすると、2016年10月時点では 2.2系がインストールされますが、 2.4系を使いたい場合も簡単にインストールできるのでその手順についてです。
環境
- サーバ:AWS EC2インスタンス (t2.nano)
- OS:Amazon Linux (AMI release 2016.09)
※この記事では、Apache(httpd) のことを httpd と表記します。
間違えて 2.2系をインストールしちゃった場合の対処
その前に、もし間違えて 2.2系をインストールしちゃった場合(もしくは初めから古めのバージョンがインストールされていた場合)は、一度アンインストールしておきます。
※まだ httpd のインストールをしていない場合は、この部分は飛ばしてください!!
すでにインストールされている httpd のバージョンを調べたいときは、以下のようにするとわかります。
$ httpd -version
Server version: Apache/2.2.31 (Unix)
Server built: Jul 19 2016 00:11:31
ではアンインストールを実行します。
$ sudo yum remove -y httpd
アンインストールが完了したら、which
コマンドを使ってPATHが通っているディレクトリのどこにも httpd が見つからないことを確認します。
$ which httpd
/usr/bin/which: no httpd in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin)
no httpd
とあるように、どこにも httpd が見つからなかったようなので、これでアンインストールは無事終わりです。
が、ここで注意すべきことがあります!
順番が前後しますが、httpd
だけをアンインストールした状態で、2.4系のパッケージ(httpd24
)をインストールしようとすると、以下のようなエラーがおきます。
(httpd2.4系をインストールしようとすると・・・)
$ sudo yum install -y httpd24
・
・
・
---> パッケージ httpd24-tools.x86_64 0:2.4.23-1.66.amzn1 を インストール
--> 衝突を処理しています: httpd24-tools-2.4.23-1.66.amzn1.x86_64 は httpd-tools < 2.4.23 と衝突しています
--> 依存性解決を終了しました。
エラー: httpd24-tools conflicts with httpd-tools-2.2.31-1.8.amzn1.x86_64
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
httpd-tools
という依存関係のあるパッケージが残っていて、2.2系と2.4系のhttpd-tools
が衝突(コンフリクト)を起こしてしまってエラーになっているということですね。
ですので、httpd-tools
もアンインストールしておく必要があります。
$ sudo yum remove -y httpd-tools
これでOKです。次へ進みましょう。
2.4系をインストール
それでは httpd 2.4系をインストールしていきます。ただ、最初に書いたとおり、普通にsudo yum install -y httpd
としてしまうと、2.2系がインストールされてしまいます。
そこで、httpd24
という文字で yum のパッケージを検索してみましょう。
$ yum list | grep httpd24
httpd24.x86_64 2.4.23-1.66.amzn1 amzn-main
httpd24-devel.x86_64 2.4.23-1.66.amzn1 amzn-main
httpd24-manual.noarch 2.4.23-1.66.amzn1 amzn-main
httpd24-tools.x86_64 2.4.23-1.66.amzn1 amzn-main
httpd24.x86_64
というパッケージがあるのがわかります。これが httpd 2.4系のパッケージです。
ということで、httpd24
のインストールを実行します。
$ sudo yum install -y httpd24
・
・
・
インストール:
httpd24.x86_64 0:2.4.23-1.66.amzn1
依存性関連をインストールしました:
httpd24-tools.x86_64 0:2.4.23-1.66.amzn1
完了しました!
先程問題になったhttpd-tools
の2.4系のパッケージも合わせてインストールしてくれてるのがわかります。
最後にバージョンを確認してみます。
$ httpd -version
Server version: Apache/2.4.23 (Amazon)
Server built: Jul 29 2016 21:42:17
無事インストール完了です!
起動確認
最後に起動を確認して終わります。
$ sudo service httpd start
Starting httpd: [ OK ]
http://[サーバのIPアドレス]
にアクセスし、Apacheのデフォルトページが表示されればOKです!