前回、Tera Termを使ってインスタンスにSSH接続する手順を紹介しました。パブリックIPアドレスを静的IPにしました。
前回の記事『インスタンスにSSHで接続する』
EC2にインスタンスを作成しただけでは、Webサーバとしての機能を満たしていません。AWSの場合、ここにApache HTTP ServerをインストールしてWebサーバとしてインターネットに公開することができます。
レンタルサーバとは違い、ソフトをインストールしたりと、ひと手間ありますが、柔軟な構築が可能です。それが魅力だったりします。
目次
サーバーにApacheをインストールする
それでは、インスタンスにログインしましょう。
Tera TermでインスタンスにSSH接続します。
Apacheをインストールしましょう。
以下のコマンドを入力します。
sudo(superuser do)コマンドは、コマンドをroot権限で実行するためのコマンドです。
「httpd」は、Apacheを構成する実行ファイル名になります。これによって、Apacheがインスタンスにインストールされます。
yamコマンドは、アプリケーションをインストールする時に使用するコマンドです。
$ sudo yum -y install httpd
最後に、”complete!”と表示されればインストール完了です。
次にApacheを起動していきましょう。
$ sudo systemctl start httpd.service
ちなみに、Ceont OS6の場合は、[sudo service httpd start] とコマンド入力することで、実行できましたが、CentOS7以降では、[systemctl]コマンドが推奨され転送されますので注意が必要です。
これで、サーバが起動されます。しかし、サーバを再起動すると、Apacheが停止してしまい、再度、起動しなければなりません。
なので、サーバを起動する歳に、Apacheも自動的に起動するように設定します。コマンドは以下のように入力します。
$ sudo chkconfig httpd on
[chkconfig]コマンドに関しても同様です。systemctl enable httpd.serviceに転送されます。
これで、サーバーを起動した時に、Apacheが自動的に起動されるようになりました。
ここで起動状況をチェックしましょう。
$ sudo systemctl list-unit-files -t service
これで、自動起動の一覧状況が確認できます。これは、Cent OS6での[chkconfig]コマンドに相当します。
これでステータス一覧が表示されます。
特定のサービスが正しく設定されたか確認する
今回は、httpdが自動起動されるかどうかのチェックをすることが目的になります。
この場合の書式は[systemctl is-enabled サービス名.service]となります。※[.service]については省略可能です。
$ sudo systemctl is-enabled httpd.service
[enabled](有効)が返ってくれば正しく設定されています。
以上で、サーバにApacheをインストールし起動する状態になりました。
構築したネットワークイメージ
サーバーをWebサーバをーとして機能させるために、Apacheをインストールしました。Tera TermでSSH接続することで、サーバをインストールしました。
サーバーにアクセスしてみる
実際にサーバーにアクセスしてみましょう。
ApacheをインストールしてElastic IPを入力しましたが、接続できませんでした。
これは、ファイアウォールで80番ポートが開放されていない(クローズされている)ためです。
ファイアウォールの設定については、次回の記事で解説していきます。
ぜひ、お楽しみに。