前提
この記事は、EC2におけるwebサーバー構築作法と考え方【概念編】の続編で実践編①です。
パッケージ管理ツール、amazon-linux-extras, リポジトリ、この3つの単語の意味がわからない場合は、上の記事を読んでから、この記事を読みましょう。
事前準備
EC2を立てておく。
OSはAmazon Linux 2。
いざ実践
- 単純にyum installでパッケージをインストールする場合
- amazon-linux-extrasでパッケージをインストールする場合
- 外部リポジトリをEC2に登録してからパッケージをインストールする場合
この3つを順番にハンズオンしていきますが、本記事では、
「単純にyum installでパッケージをインストールする場合」
をやります。
yum installでインストール
今回は、Apache2.4.43をインストールしましょう
EC2へログインしてから以下の手順を進めてください
ログイン後にやるべきこと
ログイン後の画面を見てください。
こんな感じになってると思います。一部xxで隠してあります。
Last login: Fri Jun 5 01:27:01 2020 from xxxxxx
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
5 package(s) needed for security, out of 9 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-xx ~]$
[ec2-user@ip-xx ~]$
[ec2-user@ip-xx ~]$
ログイン後のメッセージちゃんと読んでいますか?
ここです。
5 package(s) needed for security, out of 9 available
Run "sudo yum update" to apply all updates.
更新を反映するには、
sudo yum update
を実行してね、と言ってくれてます。
実行しましょう。
EC2はやって欲しいことをちゃんと教えてくれます。
僕らもちゃんと読んであげましょう。
EC2に限らずメッセージを読むことはとても大事です。ちゃんと読んで、適切なアクションをすれば大体解決します。
インストールされているか確認
更新できたら、Apacheがインストールされているか確認しましょう。
Apacheはhttpdという名前で存在するので
yum list installed | grep httpd
でインストール済みか確認しましょう。
何も表示されなければ、httpdはインストールされていません。
僕の環境では何も表示されていなかったので、httpdはインストールされていません。
インストールできるか確認
httpdがインストールされていないので、インストールする必要があります。
インストールできるかどうか、以下のコマンドで確認しましょう。
yum list available | grep httpd
僕の環境では、こんな表示になりました。
generic-logos-httpd.noarch 18.0.0-4.amzn2 amzn2-core
httpd.x86_64 2.4.43-1.amzn2 amzn2-core
httpd-devel.x86_64 2.4.43-1.amzn2 amzn2-core
httpd-filesystem.noarch 2.4.43-1.amzn2 amzn2-core
httpd-manual.noarch 2.4.43-1.amzn2 amzn2-core
httpd-tools.x86_64 2.4.43-1.amzn2 amzn2-core
keycloak-httpd-client-install.noarch 0.8-1.amzn2 amzn2-core
libmicrohttpd.i686 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd.x86_64 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd-devel.x86_64 0.9.33-2.amzn2.0.2 amzn2-core
libmicrohttpd-doc.noarch 0.9.33-2.amzn2.0.2 amzn2-core
python2-keycloak-httpd-client-install.noarch
今回インストールしたいのは、
httpd.x86_64 2.4.43-1.amzn2 amzn2-core
です。
どうやらインストールできそうですね。
バージョン確認
もう一つ確認したいことがあります。バージョンです。
パッケージがインストールできることはわかりましたが、バージョンも望み通りかはわかりません。
というわけで、以下のコマンドで確認しましょう。
yum info httpd
僕の環境では以下のような返答が返ってきました。
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
利用可能なパッケージ
名前 : httpd
アーキテクチャー : x86_64
バージョン : 2.4.43
リリース : 1.amzn2
容量 : 1.3 M
リポジトリー : amzn2-core/2/x86_64
要約 : Apache HTTP Server
URL : https://httpd.apache.org/
ライセンス : ASL 2.0
説明 : The Apache HTTP Server is a powerful, efficient, and
: extensible web server.
今回インストールしたいのはApache2.4.43なので、バージョンもあっていますね。
インストール
お待たせしました。ようやくインストールの準備が整いました。
以下のコマンドを実行して、httpdをインストールをしましょう。
sudo yum install httpd
途中で、
Is this ok [y/d/N]:
と聞かれるので、y
を押しましょう。ただし、 Downloading packeges
に問題がなさそうな場合に限ります。
ここには、一緒にインストールされるパッケージやバージョン変更されるパッケージが表示されます。
まだ、問題があるかどうかわからないと思うので、とりあえず目を通せばokです。
-yオプションについて
実はインストールする時に、
sudo yum -y install httpd
と書けば、
Is this ok [y/d/N]:
が表示されません。つまり、-y
オプションをつければ、途中確認なしでインストールされます。
一見-y
オプションをつけた方がいいと感じるかもしれませんが、とても危険です。
パッケージをインストールする時は、依存関係を解決するために色んなパッケージをインストールしたり、依存関係解決の中で既存のパッケージのバージョンが変わってしまう場合があります。
中には望ましくない変更もあります。望ましくない変更がある場合には、そのインストールは中止した方が良いです。
-y
オプションをつけると、このような変更が強制的に実行されてしまいます。
最初のうちはメッセージを読む癖をつけるためにも、-y
オプションをつけないことを強くおすすめします。
インストールできているか確認
というわけで、インストールできましたね。
しかし、インストールして終わりではありません。
インストールできているか、以下のコマンドで確認しましょう。
httpd -v
Server version: Apache/2.4.43 ()
Server built: May 8 2020 17:02:41
ちゃんとインストールできていますね。
まとめ
今回は石橋を叩くように一つ一つ確認しながら、httpdをインストールしました。
個人の環境であれば、どのようにインストールしても問題はないです。
しかし、複数人で開発する環境であれば、問題がないことを確認しながら進めるべきでしょう。
個人で開発する時から、このように一つ一つ確認する癖をつけておけば、スムーズに仕事できるのではないでしょうか。
次は、amazon-linux-extrasでredis4.0をインストールするので、お楽しみに。