参考
Amazon Web Services基礎からのネットワーク&サーバー構築
ネットワーク 基本
- 構成したサーバーはネットワークに接続しないと、通信できない。
- インターネットと接続可能なネットワークでは、TCP/IPというプロトコルを使う。
- TCP/IPではそれぞれのサーバーに、IPアドレスをふる。
- インターネットに接続する場合には通常、ルーターを使う。
- 各サーバーではルーターにデータが流れるように構成する。
- インターネットでは、 http://www.example.co.jp のようなドメイン名でアクセスする。
- ドメイン名を使うためにDNSサーバーが必要。
ネットワークを構築するために必要な知識
1.IPアドレスに関する知識
IPアドレスをどのように定めるのか、そしてルーターを介したインターネットとのデータの流れをどのように制御するのか。
2.DNSサーバーに関する知識
ドメイン名とIPアドレスとを結びつけるには、どのようにすればよいのか。
どのようなやりとりで、ドメイン名とIPアドレスとは相互に変換されているか。
OSと構成
ApacheはさまざまなOSで利用できる。
手軽にインストールできるUNIX系OSの代表として、
CentOS6やUbuntuなどの各種LinuxディストリビューションやMacのOSXがある。
サーバーでは、GUIは必要ない。LinuxではGUIをインストールしなければコンソール画面になるほか、sshなどでリモートアクセスして使う。
UNIX系OS
OS環境は異なっても動作するApacheというソフトウェアは同じもの。設定項目や設定方法の多くは同じもの。ただし。設定ファイルの位置やデフォルトの構造に違いがある。
CentOS
Red Hat社が提供するRed Hat Enterprise Linuxをベースにし、互換性を持たせた無料のサーバー向けLinuxディストリビューション。
パッケージ管理にyumコマンドを使う。Apacheのパッケージ名は、「httpd」で、2.2系のApacheが利用できる。
yumとrpmの違い
Ubuntu
Debianをベースに使いやすさに重点を置いてCanonicak社により開発されたLinuxディストリビューション。特にデスクトップ分野で人気がある。
パッケージ管理にapt-getコマンドを使う。Apacheのパッケージ名は「apache2」になる。
OS X(Mac)
AppleのMac向けのOS。サーバー版も販売されている。
Apacheは、機能の一部として最初からインストールされている。
Apacheのバージョン
- バージョン2.0,2.2,2.4の違い
2012年2月に2.4.1がリリースされたことにより、2.2系と2.4系の2つのバージョンに移行することが推奨されている。併存するバージョンのどちらを選択するかについては、どちらがよい、悪いというわけではなく、状況に応じて使い分けること。
パッケージからインストールするということ
OSで用意されているパッケージを利用する場合のメリットは、メンテナンスの手間が少ないことです。
ソースでインストールする場合は、バージョンやセキュリティ情報を自分でチェックして、必要に応じてコンパイルしてインストールしなければならない。
パッケージを利用すれば、新しいパッケージをダウンロードして簡単にアップデートできるし、自動的に最新版にアップデートすることもできる。
wgetと開発ツール
ソースファイルのダウンロードにwgetを使う
ソースからのコンパイルには、makeやgccなどのコマンドを使う。
※最小構成でOSをインストールした場合は上記のコマンドがインストールされていないことがある。
その場合は、yumやapt-getを使って、wgetやmake、gccをインストールをする。
Amazon Linux AMI
Amazon Linux AMI には、アマゾン ウェブ サービスとのシームレスな統合を可能にするパッケージおよび構成が含まれています。これにより、Amazon Linux AMI は面倒な設定をすることなく各種の AWS サービスで起動、実行できます。
リポジトリはすべてのリージョンで利用でき、yum でアクセスできます。各リージョンにホスティングリポジトリがあるため、データ転送料金なしで、アップデートを迅速にデプロイできます。
用語
- デーモン UNIX系OSではサーバーの機能などを複数のユーザーに提供し続けるプログラムのことをデーモンという。
※yumコマンドは、アプリケーションをダウンロードしてインストールしたり、アンインストールしたりするときに用いる管理者用コマンド。
※-yオプションはユーザーの確認なしにすぐにインストールする指定。
※sudoコマンドは、指定したコマンドを管理者権限(root権限)で実行するためのもの。
※インスタンスにはec2-userユーザーでログインする。ec2-userユーザーは管理者(rootユーザー)ではない。そのため、管理者権限が必要な場合は、sudoコマンドをつけて実行する。