はじめに
- AWS EC2インスタンスにApacheをインストールしたときの諸々のメモです
- 誤りがあればご指摘ください
前提
- EC2インスタンスにSSH接続できている状態
EC2のライブラリをアップデートする
sudo yum update -y
- EC2を立ち上げたら最新の状態のライブラリにアップデートする
- yum = Linuxのパッケージ管理ツール。yumで管理しているパッケージを最新化できる
- yumコマンドはec2-userの権限では実行できないため、rootユーザーの権限(sudo)で実行する
- -y :yesオプション。付けないとライブラリを逐一インストールするか尋ねられて面倒
Apacheのインストール
sudo yum -y install httpd
- HTTPD はApacheを構成する実行ファイルのこと
Apacheの起動
sudo systemctl start httpd.service
- コマンド実行しただけだと起動しているかわからない
Apacheが起動しているか確認する
sudo systemctl status httpd.service
実行結果
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2023-01-29 05:18:53 UTC; 34s ago
Docs: man:httpd.service(8)
Main PID: 485 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
CGroup: /system.slice/httpd.service
├─485 /usr/sbin/httpd -DFOREGROUND
├─486 /usr/sbin/httpd -DFOREGROUND
├─487 /usr/sbin/httpd -DFOREGROUND
├─488 /usr/sbin/httpd -DFOREGROUND
├─489 /usr/sbin/httpd -DFOREGROUND
└─490 /usr/sbin/httpd -DFOREGROUND
- Active: active となっていたら起動できている
Apacheの起動確認 (プロセスを確認する)
ps -axu
- ps :Linux上で実行しているプロセスを表示する
- -ax :すべて表示する
- u :CPUやメモリ使用率をあわせて表示させる
実行結果(一部省略)
root 485 0.0 0.9 255484 9444 ? Ss 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
apache 486 0.0 0.6 306872 6440 ? Sl 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
apache 487 0.0 0.6 536312 6440 ? Sl 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
apache 488 0.0 0.6 306872 6440 ? Sl 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
apache 489 0.0 0.6 306872 6440 ? Sl 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
apache 490 0.0 0.6 306872 6440 ? Sl 05:18 0:00 /usr/sbin/httpd -DFOREGROUND
↑この表示があれば、Apacheが起動している
httpdに絞ってプロセスを確認する
ps -axu | grep httpd
- | パイプライン :左の実行結果を次の実行に使いたいときに使用
Apacheを自動で起動させる
sudo systemctl enable httpd.service
- 通常、毎回Apacheの起動コマンドを入力する必要がある
- これを行うことで自動起動をオンにできる
Apacheの自動機能ができているか?確認する
sudo systemctl is-enabled httpd.service
- enabled と表示されたら起動できている
どのポート番号にどのプログラムが待ち受けているか確認するコマンド
sudo lsof -i -n -P
- -i :ネットワークソケットファイルを表示するオプション。サーバーの待機ポートとプロセスを一覧表示する
- -n :IPアドレスをホスト名に変換しないオプション
- -P :ポート番号をサービス名に変換しないオプション
実行結果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 2623 rpc 6u IPv4 15828 0t0 UDP *:111
rpcbind 2623 rpc 7u IPv4 15829 0t0 UDP *:669
rpcbind 2623 rpc 8u IPv4 15830 0t0 TCP *:111 (LISTEN)
rpcbind 2623 rpc 9u IPv6 15831 0t0 UDP *:111
rpcbind 2623 rpc 10u IPv6 15832 0t0 UDP *:669
rpcbind 2623 rpc 11u IPv6 15833 0t0 TCP *:111 (LISTEN)
chronyd 2659 chrony 5u IPv4 16417 0t0 UDP 127.0.0.1:323
chronyd 2659 chrony 6u IPv6 16418 0t0 UDP [::1]:323
dhclient 2876 root 6u IPv4 16846 0t0 UDP *:68
dhclient 2925 root 5u IPv6 17054 0t0 UDP [fe80::4bd:b9ff:feed:6e61]:546
master 3070 root 13u IPv4 17978 0t0 TCP 127.0.0.1:25 (LISTEN)
sshd 3221 root 3u IPv4 19769 0t0 TCP *:22 (LISTEN)
sshd 3221 root 4u IPv6 19778 0t0 TCP *:22 (LISTEN)
sshd 32720 root 3u IPv4 55233 0t0 TCP 10.0.10.13:22->122.134.104.0:5178 (ESTABLISHED)
sshd 32738 ec2-user 3u IPv4 55233 0t0 TCP 10.0.10.13:22->122.134.104.0:5178 (ESTABLISHED)
- LISTEN :他のPCから待ち受けているポート
- ESTABLISHED : 相手と現在通信中のポート
sshd 3221 root 3u IPv4 19769 0t0 TCP *:22 (LISTEN)
sshdというプログラムが、22番ポートで待ち受けているよ、という意味
* (アスタリスク):どの接続元のIPでも受け付けるよ、という意味