【初心者のためのサーバー講座】サーバーって何だろう?

Pocket

サーバーって何だろう?~初心者でもよく分かるサーバーの基礎講座

みなさん「サーバー」ってどんなイメージでしょうか?
上のイメージのようなデータセンターだったり、ブログが作れたり、会社のホームページを公開するために必要だったり・・・
もちろんどれも正解ですが、意外とサーバーに関して、きちんと答えられる人は少ないように感じます。
これからサーバーの仕組みや目的や用途に応じたサーバーの選び方、注意点を解説できればと思います。

第1回目は、「サーバー」の基礎知識を解説します。

何となくとっつきにくい「サーバー」の構成

サーバーは、インターネットやLANなどのネットワーク上で、他のPCにさまざまな機能やサービスを提供します。
サーバーとPCが大きく異なるのはシステムの安定性が不可欠ということです。
一度動かすと、24時間365日、運用するのが一般的です。
そのため、ハードディスクを複数搭載して同期させておき、1台に不具合が起きた場合、同期させているもう1台のハードディスクを使って、データやアプリケーションを継続的に運用できるようにするなどの工夫がされています。
このようにハードウェアの違いはありますが、仕組み自体は、普段、自分たちが使用しているPCとさほど違いはありません。
私たちは、通常、PCを使用する時に、目的に応じてPCに表計算ソフトやブラウザといったソフトをインストールして使用しますが、サーバーも同じで、サイトをブラウザから閲覧できるための「WEBサーバー」やメールを送信するための「メールサーバー」をインストールすることによって、このような機能が使用できます。

PCとサーバーの違い

では、私たちが使用しているPCと最も異なる部分は、何でしょうか?
それは、OS(オペレーションシステム)です。

サーバーのOSって?

普段、私たちが使用しているOSは、WindowsやMacOSが多いかと思いますが、
サーバのOSは、Unix/Linux系のサーバーが主流となっています。
UnixやLinuxと聞くと、「ああ、あの黒い画面・・・」が思い浮かぶ方が多いかもしれませんが、サーバはPCと違い常に人間が操作している訳ではありませんので、WindowsやMacOSのようなGUI(グラフィカル・ユーザ・インタフェース)は必要ありません。
また、Unix/Linuxは「1台のコンピューターを複数のユーザーが利用する」ということを前提として作られたOSです。
このような特徴がサーバーOSに向いていると言われています。
サーバーにおけるUnix/Linux系のOSのシェアは、2016年6月現在で96%以上と圧倒的なシェアとなっています。

サーバーにおけるUnix/Linux系のOSのシェア率です。

次にサーバーに使用されるアプリケーションやプログラムを解説していきます。

サーバーに使用されるアプリケーションやプログラムとは?

WEBサーバー

私たちがWEBサイトを見るとき、ブラウザを使用します。
ブラウザを起動して、URLを入力したり、ブックマークから検索エンジンやお気に入りのサイトを見ます。
ブラウザは、アドレスとIPの紐付けした情報を、DNSサーバーから受け取ります。
その情報を受け取ったWEBサーバーは、サイトを表示するための必要なデータ(HTML、画像ファイル、CSS、JS)をブラウザに送り返します。

WEBサーバー概要図

代表的なアプリケーションは、Apacheです。

DNSサーバーとは?

普段、私達がブラウザを利用して、サイトへアクセスする際に「www.google.co.jp」とドメイン名が入力され、アクセスされています。
実は「www.google.co.jp」 といったドメイン名では、サイトへアクセスすることはできません。
このドメイン名をIPアドレス「206.50.54.35※」に変換してから、アクセスしています。
この変換する役目を担うのがDNSサーバーとなります。
※IPアドレスは実在しません。

メールサーバー

メールを送受信する際に必要なソフトです。
メールの送受信は、インターネット上の多くのメールサーバーが連携することによって動作しています。
一般的にメール送信や転送にはSMTPサーバー、メール受信にはPOPサーバーが使用されています。

メールサーバー概要図

代表的なアプリケーションは、 Postfix(メール送信用)Dovecot(メール受信用) です。

FTPサーバー

FTPサーバーは、FTPというルール(プロトコル)を使用し、ファイルを転送することができます。
インターネット上にWebサイトを公開するには、レンタルサーバーでスペースを借りて、FTPクライアントソフトで接続し、HTML、画像ファイル、CSS、JS等、作成したファイルををアップロードします。
このファイルたちが、WEBサーバーを通して、ユーザーに公開されます。

FTPサーバー概要図

データベースサーバー

データベースはデータを保存している入れものです。
イメージとしては、エクセルのような表に、データが整理されて格納されます。
ブログであれば、タイトル、記事、日付等が保存されます。
このデータベースを更新したり、追加することが可能です。
代表的なアプリケーションは、MySQLです。

データベースサーバー概要図

PHP

PHPは、サーバ側がHTMLを動的に作成することを主な目的として作られたプログラム言語です。
この動的にという部分が分かりにくいですが、「ユーザが要求したことに対してデータを返す」ということなります。
ブログを例に上げると、見たい記事のタイトルをクリックするのがユーザの要求だとすると、それに対しサーバ側は「データベースから、その記事のデータを出す」ということを行います。
これが、「ユーザが要求したことに対してデータを返す」ということになります。
この返したデータを元にページを表示するためのHTMLをPHPが書き出して、最後には Webページとして出力します。
ブログで有名なWordPressもPHPで動作しています。

PHP動作概要図

まとめ

なんだか分かりにくいサーバーですが、PCにこのようなOSやソフトをインストールした状態で私たちが知っている「サーバー」として初めて動きます。
このようなOSやアプリケーションを最初からインストールして、手軽にインターネット上にウェブサイトを公開できるスペースを提供しているのが皆さんご存知の「レンタルサーバー」となります。
しかし、このようなレンタルサーバーは、使用用途が限定されていたり、複数のユーザーが一つのサーバを使い回すなど、デメリットもあります。
現在は、自分でアプリケーションをインストールして、ゼロから構築するレンタルサーバーもあります。
次回は、レンタルサーバーの種類や目的に応じた最適なサーバ選びのポイントについて、解説していきます。

Pocket