n2p blog

キャンペーンやSNSの
“ためになる”情報を
執筆しています。

EC2へ接続、Webサーバーインストール

前回はEC2インスタンスのコンソールの各項目を簡単に説明しました。 全然わからないとなんか落ち着かないけど、ちょっと分かると安心かなぁと。
今回はインスタンスにSSH接続し、Webサーバーをインストールしていきます。

『クライアントソフトをダウンロード』

必要なものの確認をしていきましょう。
まず、クライアントソフトをダウンロードします。これはサーバーなどと接続して、コマンドを打ち込み、結果を表示する出入力ソフトです。
 
いわゆる黒い画面、あのカッコイイやつです。
このクライアントソフトも色々あります。Macならターミナルが最初から用意されていると思います。
Windowsの場合は適当なソフトをダウンロードする必要があります。
 
僕はWindowsで初心者でも使いやすいということなのでTera Termを選びました。
なので、今回はTera Termで接続説明をしたいと思います。ダウンロードの項目から最新版をダウンロードして下さい。
 

『接続』

ダウンロード、インストールできたらTera Termを開いてみましょう。
ホストのフォームにインスタンスの管理画面にあるPublic IPを入れてあげます。コピーしておくといいです。
teraterm
 
一つだけ注意することは、Elastic IPを取得、紐付けしていない場合インスタンスのIPは起動毎に変わってしまうので、接続した時にEC2インスタンスのPublic IPを確認してその都度ホストの値を書き換えるようにしましょう。
Elastic IPは取得しただけでは意味が無いぞ!ちゃんとIPを固定したいインスタンスに紐付けないとな!
 
setuzoku
接続できたー!黒画面かっくいーー!
さて、ここまでのAWSとこれから使うUNIXコマンドなどについては何度もご紹介しているドットインストールさんの『UNIXコマンド入門 (一般ユーザー編) (全16回)』や『Amazon Web Services入門 (全17回) で勉強させて頂いてからチャレンジしているので、動画を確認しながら進めたいなって方はこちらをご覧になると良いと思います。
 

『アップデートとインストール』

さて接続出来ましたが、今このサーバ内は殆ど空っぽの状態です。
Webサービスを展開するための場所を手に入れただけというような状態ですね。 この場所に様々な機能を置いてあげる必要があります。
 
早速操作してみましょー。
画面を見てみると黒画面先輩が何か言っています。 「アップデートするから”sudo yum update”を走らせて」って言ってますね。
[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][html] $sudo yum update
[/html] と打ち込んでenterキーを押しましょう。
おぉー、なんか走った。
アップデートの内容を表示してくれて、これでいいか確認しています。
[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][html] <pre>$y //enterを押す!
[/html] とすれば続いてアップデートが開始されます。
因みに、y/d/Nと聞かれていますが、yはyes、NはNoです。
dは何かというと、アップロード用のパッケージをダウンロードするけどそれを適用しないというものです。
何も入力せずにenterするとNoとなります。
complete
 
Complete!と出たら、完了です。
 

『Webサーバーのインストールと起動』

 
続いてWebサイトの表示に必要なWebサーバーやライブラリをインストールしましょう。
ん?もうサーバー作ったのにWebサーバーをインストールするの?と思いましたか? 僕は最初思いました!
 
要するにサーバーなんだけど、生まれたてだからWebサーバーの機能は持ってないよー。 ッて言うような感じです。
なので、Webサーバーの機能をつけてあげようということですね。
ライブラリはサーバーの機能を拡張して便利にしてくれるものです。
 
[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][html]$sudo yum -y install httpd php mysql[/html] と打ち込んでみましょう。

Webサーバーをインストールしたら起動してあげる必要があります。
[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][html] $ sudo service httpd start
[/html] と打ち込み、[ OK ]と出れば起動完了です。
 
さらに、この起動状態はインスタンスが停止すると解除されてしまうので、インスタンスが起動したら一緒に起動するように設定してあげます。
[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][html] $ sudo chkconfig httpd on
[/html] 今度は[/fusion_builder_column][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][ OK ]と出ませんが、設定できていますので大丈夫です。
 
黒画面先輩は基本的には寡黙な方なので、指示に対して無言の時はやってくれてます。
逆にこちらの指示が間違ってたり、何らかの理由で実行出来ない指示に対しては「何を言ってるのか分からない」「それは出来ない」と優しく教えてくれる。
見た目も行動も男前。
 

『ブラウザにWebページを表示させる』

 
それでは、試しにブラウザにWebページを表示させてみましょう。 ブラウザに表示させるページを作ります。
ここではindex.htmlというファイルを表示させます。
[html] $ sudo vim /var/www/html/index.html
[/html] /はhtmlやcssでのファイル指定と同じく階層区切りの事で、フォルダの中(下)を意味する。
因みにサーバー環境ではフォルダの事をディレクトリと呼ぶので覚えておこう(と言うより元々はディレクトリと呼ばれていたのがフォルダになったみたいですね)
 
/ディレクトリ下のvarディレクトリ下のwwwディレクトリ下のhtmlディレクトリ下にindex.htmlというファイルを作る(vim)というコマンド。
Webページを作る際、この /var/www/html の下に置かれたファイルがページとして表示されるので、これも覚えておこう!
 
 
risou

できたら、Public DNSかPublic IPをブラウザ検索すると…
 
hpnine
 
 
出たー!というわけで、形だけながら自分のWebページのようなものができました~。
というあたりで今回はここまでです。 お疲れ様でした。
 

『今日の分かった』

  1. インスタンスに接続する際にはPublic IPを使う。Elastic IPを取得していない場合は、インスタンスを起動させる都度Public IPを確認すること
  2. 立ち上げたばかりのインスタンスサーバーは空っぽ、目的に合わせてサーバーやライブラリをインストールしてあげる
  3. サーバーの階層構造も最初はぼんやりでいいから覚えていくと、後々作業がしやすくなるかも!

 

参考にさせていただいたサイトさんや文献

amazon web services
ドットインストール
ナレコムAWSレシピ
彼女からは、おいちゃんと呼ばれています 『初心者の頃に知っておきたかった rpm と yum の違いと使い分け
Unix & Linux 『What do the characters y/d/N mean?
php.net
『Amazon Web ServiceではじめるWebサーバー』  大澤文孝 著  株式会社工学社 発行 平成25年11月25日
 
前回『AWSのEC2インスタンスコンソールを理解しよう
次回『【File Zilla】初心者でも使えちゃう!FTPクライアントソフト【EC2.ver】』[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]