4.2. Apache HTTPサーバの導入 (AmazonLinux2)¶
作業の目的 [why]¶
AmazonLinuxリソース"AmazonLinux2"を作成します。
完了条件/事前条件 [設計者用情報]
完了条件 [after]
主処理は、以下を満たしたときに成功したものとします。
- 完了条件1
Apacheパッケージがインストールされている。
- 完了条件2
httpdが起動している。
- 完了条件3
httpdの自動起動が有効になっている。
- 完了条件4
ファイル"/var/www/html/index.html"が存在する。
- 完了条件5
http://localhost/にアクセスできる。
事前条件 [before]
主処理の実施は、以下の状態であることを前提とします。
- 事前条件1
(OSをチェック)
- 事前条件2
Apacheパッケージがインストールされていない。
- 事前条件3
httpdが起動していない。
- 事前条件4
httpdの自動起動が有効になっていない。
- 事前条件5
/var/www/html/index.htmlファイルが存在しない。
作業対象 [what]¶
AmazonLinux2環境
標準時間(合計)¶
8分
パラメータ設定¶
- パラメータ設定の標準時間
2分
作業に必要なモノ・情報 [resource]¶
作業開始には、以下が全て揃っていることが必要です。
リソース1: root権限
作業ホストのroot権限が必要です。
今回はsudoコマンドを利用して、root権限を行使します。
タスクの実施¶
- タスク標準時間
6分
1. 前処理¶
1.2. 処理対象の状態確認¶
主処理の実施は、以下の状態であることを前提とします。
前提と異なることが判明した場合、直ちに処理を中止します。
事前条件1: (OSをチェック)
「(OSをチェック)」ことを確認します。
コマンド:
cat /etc/system-release
結果(例):
Amazon Linux release 2 (Karoo)
事前条件2: Apacheパッケージがインストールされていない。
「Apacheパッケージがインストールされていない。」ことを確認します。
コマンド:
yum list installed \ | grep httpd.x86_64 \ | cut -d ' ' -f 1
結果(例):
(出力なし)
事前条件3: httpdが起動していない。
「httpdが起動していない。」ことを確認します。
コマンド:
ps -e \ | grep httpd
結果(例):
(出力なし)
事前条件4: httpdの自動起動が有効になっていない。
「httpdの自動起動が有効になっていない。」ことを確認します。
コマンド:
systemctl is-enabled httpd.service
結果(例):
disabled
事前条件5: /var/www/html/index.htmlファイルが存在しない。
「/var/www/html/index.htmlファイルが存在しない。」ことを確認します。
コマンド:
! ls /var/www/html/index.html
結果(例):
ls: cannot access /var/www/html/index.html: No such file or directory
2. 主処理¶
Apacheの自動起動設定¶
コマンド:
sudo systemctl enable httpd.service
結果(例):
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
サンプルページの作成¶
コマンド:
cat << EOF | sudo tee /var/www/html/index.html <!DOCTYPE html> <html lang="ja"> <meta charset="utf-8"> <title>サンプル</title> <h1>サンプル</h1> <p>サンプル</p> </html> EOF
3. 後処理¶
3.2. 完了条件の確認¶
主処理は、以下を満たしたときに成功したものとします。
完了条件1: Apacheパッケージがインストールされている。
「Apacheパッケージがインストールされている。」ことを確認します。
コマンド:
yum list installed \ | grep httpd.x86_64 \ | cut -d ' ' -f 1
結果(例):
httpd.x86_64
完了条件2: httpdが起動している。
「httpdが起動している。」ことを確認します。
コマンド:
ps -e \ | grep httpd
結果(例):
17988 ? 00:00:00 httpd 17989 ? 00:00:00 httpd 17990 ? 00:00:00 httpd 17991 ? 00:00:00 httpd 17992 ? 00:00:00 httpd 17993 ? 00:00:00 httpd
完了条件3: httpdの自動起動が有効になっている。
「httpdの自動起動が有効になっている。」ことを確認します。
コマンド:
systemctl is-enabled httpd.service
結果(例):
enabled
完了条件4: ファイル"/var/www/html/index.html"が存在する。
「ファイル"/var/www/html/index.html"が存在する。」ことを確認します。
コマンド:
ls /var/www/html/index.html
結果(例):
/var/www/html/index.html
完了条件5: http://localhost/にアクセスできる。
「http://localhost/にアクセスできる。」ことを確認します。
コマンド:
curl http://localhost/index.html
結果(例):
<!DOCTYPE html> <html lang="ja"> <meta charset="utf-8"> <title>サンプル</title> <h1>サンプル</h1> <p>サンプル</p> </html>