Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21081

クラウド初心者のAWS入門(第6回)

$
0
0

第6回 Apacheのインストール

前回構築したインスタンスに、Apacheをインストールしていきます。
Apacheをインストールすることで、インスタンスにWEBサーバの機能を持たせます。

システム構成図_第6回目.png

以下の順で進めていきますのでよろしくお願いします。

  • TeraTermでインスタンスへログイン
  • Apacheインストール
  • httpd自動起動設定
  • httpd起動
  • セキュリティグループの設定
    • httpd待機ポート確認
    • セキュリティグループのポート開け
  • 動作確認

TeraTermでインスタンスへログイン


インスタンス作成後の確認も踏まえて、自端末からインスタンスへSSH接続を行います。
前回のインスタンス構築後に実施すれば良かったのですが・・・

今回使用させていただくターミナルソフトは、TeraTermです。
TeraTerm v4.105(窓の杜様に飛びます)

早速TeraTermを起動します。

1.png

TeraTermでの入力項目です。

  • ホスト名 :「パブリックIP」を入力します。
    パブリックIPの確認方法
    補足1.png


    • サービス :「SSH」を選択します。(デフォルト)
    • TCPポート: 「22」(デフォルト)

    「OK」を選択するとセキュリティ警告が表示されます。
    これは当該インスタンスへ初めて接続する場合に表示されるものです。
    問題はないので、続けて「OK」ボタンを選択してしまいます。

    その後、認証情報を問われますので入力していきます。

    • ユーザ名:「ec2-user」 最初から登録されているユーザ
    • RSA/DSA/ECDSA/ED25519鍵を使う:「チェック」
      • 秘密鍵:インスタンス起動時に生成したキーファイルを選択(hogehoge .pemってファイル)
    3.png

    認証に成功すると以下の初期画面が表示されます。
    さすがAWS、ログインバーナーもお洒落です。(なんのマーク?)

    4.png

    Apacheインストール


    ログイン後、以下のコマンドを実行しApacheをインストールします。
    完了するとcomplete!!と表示されプロンプトが戻ります。

    [ec2-user@ip-10-0-1-30 ~]$ sudo yum -y install httpd
    

    本当にインストールされたのか確認をします。

    $ yum list installed | grep httpd
    generic-logos-httpd.noarch            18.0.0-4.amzn2                 @amzn2-core
    httpd.x86_64                          2.4.41-1.amzn2.0.1             @amzn2-core
    httpd-filesystem.noarch               2.4.41-1.amzn2.0.1             @amzn2-core
    httpd-tools.x86_64                    2.4.41-1.amzn2.0.1             @amzn2-core 
    
    # httpdがインストールされた!!
    

    httpd自動起動設定


    インストールが終わったらhttpdデーモンの設定を行なっていきます。
    Apacheのデーモンがhttpdなので登場するのは、登場するのはほとんどhttpdです。

    はじめに、httpdサービスの自動起動を設定します。
    この設定で、インスタンス起動時にhttpdも起動します。

    # 現状の確認
    
    $ sudo systemctl list-unit-files | grep httpd
    httpd.service                                 disabled
    httpd.socket                                  disabled
    
    ## 「httpd.service」が「disabled」のため自動起動ではありません!!
    
    # 自動起動設定
    
    $ sudo systemctl enable httpd.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    
    # 自動起動設定確認
    
    $ sudo systemctl list-unit-files | grep httpd
    httpd.service                                 enabled
    httpd.socket                                  disabled
    
    ## 「httpd.service」が「enable」になったので、自動起動が有効になりました。
    

    httpd起動


    インストールした状態だとhttpdは起動していないので起動してあげます。

    # httpd起動
    
    $ sudo systemctl start httpd.service
    
    ## httpd起動確認
    
    $ 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 Tue 2020-05-19 06:18:46 UTC; 35s ago
    
       ### ステータスが「runnning」となっているのでOK
    
         Docs: man:httpd.service(8)
     Main PID: 3913 (httpd)
      ==============以下略==========================
    

    セキュリティグループの設定


    ここまででApacheのインストールと起動が完了しました。
    しかし、これだけはクライアントからアクセスすることはできません。

    Apacheが通信で使用するポートを確認して、インスタンス側でそれを許可する必要があります。


    httpd待機ポートの確認


    まずはhttpdが使用するポートを確認していきます。

    # 以下コマンドで確認
    $ sudo lsof -i -n -P | grep apache
    httpd    3914   apache    4u  IPv6  26636      0t0  TCP *:80 (LISTEN)
    httpd    3915   apache    4u  IPv6  26636      0t0  TCP *:80 (LISTEN)
    httpd    3916   apache    4u  IPv6  26636      0t0  TCP *:80 (LISTEN)
    httpd    3917   apache    4u  IPv6  26636      0t0  TCP *:80 (LISTEN)
    httpd    3918   apache    4u  IPv6  26636      0t0  TCP *:80 (LISTEN)
    
    ## Apacheは「TCP」の「80」で待機していることがわかりました。
    

    セキュリティグループのポート開け


    httpdが使用するポートが分かったので、セキュリティグループの設定を確認して、必要な設定を行なっていきます。
    「EC2 マネジメントコンソール」から、「インバウンドルール」タブの「インバウンドルールの編集」を選択します。


    EC2マネジメントコンソールの表示はこちら
    1.png


    2.png

    初期状態のためTCP22番ポートに対する許可設定しかされていません。
    前項で確認したApache用の「TCP」「80」を追加してあげます。

    5.png

    無事に追加できました。

    6.png

    必要な設定が完了したので、Webブラウザからインスタンスに接続してみます。
    Webブラウザのアドレスバーにhttp://"パブリックIP"を入力します。すると・・・

    4_apache起動.png

    インスタンスがApacheのWebサーバとして稼働していることがわかりました。
    今回はここまでです、次回はDNS周りの設定をする予定です。

    参考文献

    完コピにならないよう頑張ります。
    Amazon Web Services 基礎からのネットワーク&サーバー構築


Viewing all articles
Browse latest Browse all 21081

Trending Articles