|
|
|
|
Linuxサーバー構築基礎講座
|
|
自宅サーバーのススメ
|
||
自宅サーバーのススメOSの種類と選定LinuxOSをすすめる理由LinuxOSの入手方法初心者のLinuxOS選びWhiteBoxLinuxとはWhiteBoxLinuxの良いところCentOSとはCentOSの良いところLinuxOS情報の収集方法 |
サーバー向きのOSとは一口に サーバー と言っても、その目的や役割、提供できるサービスは様々です。 例えばファイル共有などの単純な ファイルサーバー の他、ホームページをインターネット上で公開するための Webサーバー 、電子メールの送受信を担う メールサーバー 、ファイルの送受信を実現する FTPサーバー などが代表的なところです。 その他、印刷データの集中管理を行う プリンタサーバー のような特殊な用途のサーバーや、通信データ全般の キャッシュ を行う プロキシサーバー 、ネットワーク内のコンピュータにネットワークの利用のための情報を自動で与える DHCPサーバー 、インターネット空間の 名前解決 を担う DNSサーバー のように、ユーザーが意識しないところで働いている「縁の下の力持ちサーバー」もあります。 |
|||||
|
そしてこれらのサービスを行うには、 ホスト機 上でそのサービスを提供する アプリケーション を実行、動作させればよいわけです。 さて、最近のコンピュータは、装置である「 ハードウェア 」、目的をもって動作する「 アプリケーション 」、そしてその仲介役である「 オペレーティングシステム 」の三つで成り立っています。 ということは、自分が提供したいサービスを実行するには、そのサービスを提供するアプリケーションと、そのアプリケーションが動作するオペレーティングシステム、更にそれらの動作に充分な互換性と性能をもったハードウェアが準備できれば良いということになります。 |
||||||
|
|
例えばホームページの提供に使用される Apache というアプリケーションがあります。これは WindowsOS や MacintoshOS の他、多くのオペレーティングシステム用のアプリケーションが入手できますので、大抵のオペレーティングシステムならばどれでもほぼ同じホームページサービスが提供できる、という訳です。 では、アプリケーションさえ揃っていれば、そのベースとなるオペレーティングシステムは何でもいいか、というと必ずしもそうとは言えません。 例えばパソコンは、普通はモニタの前に座った人が一人で使うものです。そして実際に使用されるのは、ワープロ、表計算、メール、インターネットの閲覧、グラフィックデザイン、写真や動画の編集などのソフトウェア、つまり クライアント として使用するアプリケーション です。 これらのアプリケーションの動作は、かなりのコンピュータの処理能力を必要としますから、それを支えるオペレーティングシステムやハードウェアにはそれなりの性能のものが要求されます。 ただ、それらのアプリケーションが同時に使用されることはまれですから、ハードウェアやオペレーティングシステムには、 「一人のオペレーターが扱う、負荷の大きい幾つかのアプリケーションを高速に処理できること。」 が要求されます。もちろん、一般に使われるWindowsOSやMacintoshOSとそれらが動作するパソコンは、そういう点が重視された設計になっていることはいうまでもありません。 一方、サーバー用のアプリケーションは、普段使っているワープロや表計算のアプリケーションとは振る舞いが全く異なります。 |
|||||
|
実は面白いことに、Apacheがインストールされたコンピュータ自身も、Apacheにとってみれば
どこかのホストのひとつ
に過ぎません。
つまり、Apacheに対して「ホームページを見せてくれませんか」というリクエストを出すアプリケーション、いわゆる webブラウザ がインストールされていなければ、たとえそれがHTMLファイルを保管しているコンピュータ自身であってもホームページは閲覧できないというわけです。 |
例えばApacheの場合、これが インストール され、動作しているコンピュータは、ネットワーク上のどこかのホストから、 「ホームページを見せてくれませんか?」 というリクエストを受けると、Apahceは自身で管理している HTMLファイル をそのホストに提供する、という動作を行います。 サーバーアプリケーションのほとんどは、このような 「要求に応じたデータを要求元に送信する。」 |
|||||
|
サーバー専用機の場合、そのモニタの前に座って作業しなければならないのは、
一番最初のOSのインストールのときだけ
です。なぜなら、アプリケーションのインストールや設定の変更、サーバー機の再起動などほとんど全ての作業を、ネットワーク経由の
リモートコントロール
で行うことができるからです。
実際、この「お便利サーバー」のホスト機には、もう半年以上モニタもキーボードもマウスもつながれたことはありません。 |
という処理を繰り返しているに過ぎませんから、サーバー自身は複雑なグラフィック処理はおろか、「画面に何かを表示する」という作業すら行いません。つまりコンピュータにとって個々のサーバーアプリケーションの動作は「非常に負荷の小さい」ものでしかありません。 ということは、サーバー機自身が負荷の大きい処理を行うことはほとんどなさそうに思えます。 しかし、 個々の作業は単純であっても、それを一度に並行して処理しなければならない のがサーバーです。 例えば、一日にのべ5,000人が閲覧するホームページが開設できたとすると、時間帯によっては同時に100人以上が一つのサーバー機にアクセスすることになります。また、同じサーバー機上でメールサーバーやFTPサーバーなどを並行して運用しようとすると、更に多くのリクエストを同時に受け付け、処理しなくてはなりません。 個々の処理は簡単でも、それを 同時にかつ大量に こなすためには、やはりそれなりの性能は必要になります。 つまりサーバーを運用するハードウェアやオペレーティングシステムには、一人のユーザーが扱う特定のアプリケーションを高速に処理できることよりも、 「多くのアプリケーションを並行して動作させ、それぞれのアプリケーションが大勢のユーザーからのリクエストを処理できること。」 が要求される訳です。 |
|||||
| 実際、10年近く前の古くて処理能力の低いパソコンでも、マルチタスク環境に強いオペレーティングシステムを動作させることができれば、動作は遅いながらも立派に公開サーバーを運用できます。もちろん、機械の寿命が来なければ、の話ですが。 |
実をいうと、これはハードウェアの処理能力よりも、むしろオペレーティングシステムの マルチタスク 機能と、 マルチユーザー 機能の充実度にかかっているといっても過言ではありません。なぜなら、そういった多数の処理を順序だてて整理し、ハードウェアが処理し易い形にして受け渡すのはオペレーティングシステムの仕事だからです。 コンピュータシステムでのハードウェアの役割はその名前通り 「機械的に単純にデータ処理を行う」 ことですから、いくら高性能なハードウェアであっても、オペレーティングシステムが 「処理すべき作業の振り分け」 を上手にやってくれないと、その処理能力を充分に生かしきれないというわけです。 また、コンピュータは時々動作不良を起こします。 公開サーバーのアプリケーションは一日24時間一年365日、ほとんど止まることなくサービスを提供し続けられなければ意味がありません。 |
|||||
|
常に目の前で使うことが前提のオペレーティングシステムは、万が一「固まって」も、その場で再起動すればよいだけです。従って、設計そのものが
「安定性より使い勝手重視」
になっています。
逆にサーバーとして「無人稼動」が前提のオペレーティングシステムは、「固まったらその場で再起動」ということができませんから、 「使い勝手より安定性重視」 という特性が要求されるわけですね。 |
そのために最も重要なことは、そのアプリケーションを稼動させるオペレーティングシステムの安定性です。日頃から「アプリケーションがときどき固まってしまう」ようなオペレーティングシステムでは、満足なサービスが提供できるはずはありません。 また、そういう安定したオペレーティングシステム上でなければサーバーアプリケーションを運用しても意味がありませんから、不安定なオペレーティングシステム向けにはサーバーアプリケーションの開発はまず行われません。 つまりこれを逆に考えると、 「サーバー用アプリケーションの選択肢が少ないオペレーティングシステムは、そもそもサーバー運用に適したものではない。」 といえるのではないでしょうか。 |
|||||
|
|
もうお解りと思いますが、世の中で流布している、 WindowsはクライアントOSで、LinuxはサーバーOS。 などという分類は正しくありません。WindowsOSでも立派に公開サーバーの運用はできますし、文書の作成や映像の処理が LinuxOS ではできない、ということではありません。ただ、オペレーティングシステムの基本的な設計が、 どちらかといえばサーバー運用に向いているものを「サーバーOS」、クライアント用途に向いているものを「クライアントOS」。 と便宜上呼んでいるだけに過ぎず、これらに明確な境界線は存在しません。 また、当然のことですが、サーバー用途にオペレーティングシステムを選択する場合はその基本設計だけではなく、 セキュリティ の強さ、利用するときのコスト、なども判断基準にしなければなりません。 そういった諸々の面を総合的に判定し、ここでは、その「サーバーOS」としては LinuxOS を薦める方向で解説してゆきます。 その前に、まずは一般的に利用可能なオペレーティングシステムについて、「サーバーOS」としての妥当性を考えてみましょう。
|
|||||
| このページの先頭へ↑ |
実は優秀なWindowsOS「 セキュリティホール が多く、攻撃に弱い」と揶揄されることの多い WindowsOS ですが、実はそういうことはないようです。忘れずにセキュリティ アップデート を行い、きちんとした通信設定を行えば、攻撃に強いと言われる他の オペレーティングシステム となんら遜色はないようです。 |
|||||
| 現在のパソコンの多くが32ビットあるいはそれ以上の入出力幅でデータ処理を行なうのに対し、 MS-DOS 時代のパソコンは16ビット単位での処理が基本でした。更に、Windows3.1、95、98、Meは、その時代のプログラムの動作を継続させるために、 マルチタスク 動作時の安定性を犠牲にしていました。その結果、一つの アプリケーション にエラーが発生すると、他のアプリケーションや オペレーティングシステムの動作にまで影響を与えてしまうため、かなりの頻度でコンピュータシステムそのものが停止してしまいます。というわけでこれらのオペレーティングシステムは公開サーバーには不向きといえます。 |
WindowsOSは旧16ビット アーキテクチャ の Windows 3.1 、 95 、 98 、 Me と、 32ビットアーキテクチャの Windows NT 、 2000 、 XP 、 2003 、 Vista に分かれますが、運用する サーバー機 の安定性を考えると、旧16ビットのOSは考慮する必要はありません。 32ビットアーキテクチャの現行製品としては、 クライアント 向けのWindows 2000 Professional、Windows XP Home、Windows XP Professionalの三種類があり、これに サーバー 用途のプログラムが同梱されたものとしてWindows 2000 Serverシリーズ、Windows 2003 Serverシリーズがあります。 もちろん、Windows Serverシリーズが導入済みのサーバー専用機を購入するという選択肢が一番手っ取り早いのですが、サーバー専用機が高価なのに加えて、OSの価格だけでも\100,000くらいはしますから、個人で運用するには値が張りすぎると思います。また、高いお金を出して苦労せずに構築したサーバーに自己満足が得られるか、という問題?もあります。 |
|||||
|
Windowsサーバーの本
↓ |
手作りサーバーを目指すのであれば、やはり安価な一般使用向けのWindows 2000 ProfessionalやWindows XP、Windows Vistaシリーズに、適当なサーバープログラムを導入して構築するべきでしょう。 これらのOSには標準でインターネットインフォメーションサービス(略称IIS)という Webサーバー 用アプリケーションが付属していますし、先に述べた Apache も無料で利用できます。無料で使用できる メールサーバー アプリケーションもいくつか存在するようです。
|
|||||
| このページの先頭へ↑ |
もはやUNIXのMacintoshOS |
|||||
| 実は、MacOSXのベースは、Free BSD のバージョン5だったりします。 |
現行の Macintosh OS である MacOSX は、 UNIX ベースで作成されています。 UNIXの強固さと優れた通信環境に、Macintosh本来の洗練された操作性が融合され、さすがはアップルコンピュータだな、と感じさせる オペレーティングシステム です。 |
|||||
|
Macでサーバーの本
↓ |
以前のバージョンである Mac OS 9 と、それ以前のバージョンは、旧16ビット アーキテクチャ の WindowsOS と同様に、 マルチタスク と マルチユーザー 環境が充分ではないので、 サーバー 用途には不適当です。 さて、MacOSXにも、 クライアント 向けと サーバー向けがあって、価格構成も WindowsOS の場合とほぼ同じと考えてよいので、コストを考えてここでも同じくクライアント向けOSをサーバー用途として利用することを考えるべきでしょう。ただ、WindowsOSの場合と事情が異なるのは、そのOSが動作する ホスト機 が、アップルコンピュータから販売されているものに限られる、ということです。結構高価ですので、それなりの出費は覚悟しなければなりません。 MacOSXをサーバーで使用する場合、ベースがBSDなので、サーバー用途で用いるプログラムはUNIXから派生したOSのそれと酷似しています。 Apache を含め、それらのプログラムの多くは最初からOSに付属しているため、サーバー構築は比較的容易に行うことができます。 しかし、それではなんとなく釈然としないものがあります。 |
|||||
| やっぱりマックは、さりげなく目に入るリビングの片隅なんかに置きたいものですよね。人知れず押入れの中で黙々とサーバーをやらせておくのは、アップルのデザイナーに失礼なのではないでしょうか。 |
Macintoshのウリは本来、 おしゃれなデザインと洗練された操作性 にある訳ですから、それを サーバー専用機 にしてしまうのは「宝の持ち腐れ」というべきではないでしょうか。まして、ベースとなるOSが、安価に導入できるUNIX派生OSと同じだとすれば、サーバー用にわざわざ高いお金を出してMacintoshを準備するのはいかがなものでしょうか。 |
|||||
|
仕事でどうしても
WebObjects
というAppleの
サーバーアプリケーション
が必要になり、少し以前に
\1,000,000
近くのシステムを導入しました。
確かに色んな意味でビックリマシンですね、これは。 |
とはいうものの、 MacOSX Server + XserveG5 の組み合わせは、その管理の易しさとシステムの安定性と性能を見れば、高いお金を出すだけの価値は確かにあります。 が、それはとても個人で自宅サーバーとして運用するには 超贅沢 な代物です。とにかく利用すべきレベルが一桁違います。 MacOSXのサーバーシステムは、資金的にゆとりのある企業や大学、公的機関での利用がふさわしいのではないでしょうか。
|
|||||
| このページの先頭へ↑ |
難易度の高い商用UNIXとBSD系 |
|||||
| 商用のUNIXとしては米国サンマイクロシステムズのSolarisなどが有名です。 |
UNIX はインターネットが世の中に普及するずっと以前からコンピュータ通信に利用されてきただけあって、 サーバー 用途として最もふさわしい OS といえるでしょう。また、その流れを汲み、安価なパソコン上で無償利用ができる BSD は、個人用のサーバーにはうってつけといえるでしょう。 |
|||||
|
BSD系のサーバーの本
↓ |
どちらも正統派のUNIXですから、利用できるサーバー アプリケーション の種類も多く、比較的性能の低い安価な ホスト機 でも軽快に動作します。 問題があるとすれば、操作全般がかなり難しいという点があります。特にBSD系は、ホスト機へのOSの導入作業そのものが困難です。 これは、BSDが販売を目的としていないOSであるため、ユーザーを増やすための「初心者向けのガイドライン」の作成や簡単に利用できるための工夫を施すことよりも、機能の充実や新技術の導入に力が注がれざるを得ない、という事情があります。 また、商用UNIXの場合は、そもそも「何もわからない初心者」が扱うことが前提になっていませんから、マニュアル類も「ある程度UNIXの仕組みが解っている人」向けの解説になっています。こういう面からも、やはり導入にはそれなりの苦労は避けられません。 本格的に 公開サーバー を運用するのであれば、BSDと商用UNIXは価格面、安定性、機能性のどれをとっても満足のゆくOSなのですが、最初からこういった「ハードルの高すぎるOS」にチャレンジすると 「即挫折」 の危険が高いため、これらは後々本格的なサーバー構築のための「隠しダマ」にしておいてはどうでしょうか。
|
|||||
| このページの先頭へ↑ |
やっぱりLinuxOS!最近では Linux という言葉が、専門の新聞だけではなくて一般紙にもちらほら見られるようになりました。Linux専門雑誌も増えましたし、ヨーロッパでは最初から LinuxOS が インストール されたパソコンなどもメジャーに発売され始めています。 |
|||||
|
|
実は、Linuxは OS の名前ではなく、OS用に開発された カーネル のことを指します。 もともとLinuxとは、ヘルシンキ大学の学生だったLinus Torvalds氏が自らの UNIX の勉強のために、パソコンで動作する「UNIXのようなもの」として一から作ったものです。氏はこれを商用としてではなく、完全に無料で公開したことから、熱心なボランティアにより改良を加えられ、現在は世界中に幅広く普及しています。 さて、Linuxの元になったUNIXは、古くからオフィスや大学などで、事務処理や研究用途で使われてきた実績のあるOSです。 しかし、いかに優れたOSとはいえ、普通に人にとっては事務的過ぎる画面と、複雑でとっつき難い操作環境のUNIXは、個人向けにはほとんど普及しませんでした。もちろん、個人で所有するには、非常に高額であったことも普及しなかった理由のひとつです。実はこのことが、Linus Torvalds氏の「安価な環境で使えるUNIXが欲しい」という動機を生んだことは良く知られた話です。 このUNIXから派生したLinuxOSは、UNIXの特徴である強力な マルチタスク 能力と マルチユーザー 機能をそのまま引き継いでいます。従って、その能力的にはBSDや商用UNIXに引けをとりません。またLinuxは、現在では一部商業路線を歩んでいることもあって、BSD系の問題であるOSやプログラムの導入は、 Windows OS や Macintosh OS 並とはいかないまでも、それなりに容易なものになっています。 また、UNIX系OSの弱点といわれていた GUI による操作環境もかなり整ってきて、WindowsOSやMacintoshOSに似た「マウスを使うことが基本の」作業性も手に入れつつあります。 このようにLinuxOSは、安定性と融通性ではWindowsOSやMacintoshOSなどの クライアント 向けのOSを、「生まれたときから」凌駕していましたし、これにある程度簡単な操作性が備わったことで、このUNIX派生OSは本家のUNIXを置き去りにしてシェアを拡大し、家電製品の制御用や、個人や、学校、中小企業などが サーバー を構築するためのOSとして広く用いられるようになりました。 ただ、客観的にみてまだLinuxOSは、このGUIの部分の成熟度は決して高いとはいえず、普通の人が普通にパソコンを楽しむというクライアント向けOSとしての用途では、まだまだWindowsOSやMacintoshOSの後塵を拝していると思います。 しかし、そういう環境が多くの場合 無料 で手に入るわけですから、とりあえず適当なLinuxOSを使ってみて、ダメだったらべつのLinuxOSを、という具合に合法的に「お試し使用」ができることも利点といえるでしょう。
|
|
自宅サーバーのススメ
<<Previous
|
Next>>
LinuxOSをすすめる理由
|
| このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |