この演習の目的は通りです。
Linux BoxをServerとするには、そのLinux BoxでServer用のProgramを( Daemonとして.. )走らせるだけでOkeyです。
例えば、Web Serverが欲しければ、Web Server用のProgramを利用するわけです。
このServer用のProgram、すなわちDaemonとして動かすには、色々とOS (この場合はLinux )の約束を守る必要があるのですが、その約束が守られたProgramが既に、用意されているので、それを利用しようというだけです。
Server Programは、何時でもClientからの要求に答える必要があるので、Serviceをするために、常時動いている必要があります。動いている状態なのに( Clientから要求がくるまで.. )何もしない状態になっている(1)のがDaemonだということもできます。
この点は、前回に行った DHCP Server の設定理屈は、全く同じです。
すなわち、次のような手順をとれば良いわけです。
入手したファイルは、一般には、そのままでは利用できない形で、配布されています(2)。
そこで、それを、Linxu Boxで利用できる形にします。この作業をinstallと呼びます。
RedHat系Linuxでは、rpmを利用します。
Linuxと呼ばれるものは、本来は、OSの中心部分となるkernelの名称です。逆に、それ以外のものはLinuxとは直接関係ありません(3)。
しかしながら、OS (すなわちLinux )だけあっても、コンピュータを操作して色々なことをすることはできません。つまり、OS以外の様々なProgramがあって、初めて、色々なことができるわけです。
そこで、Linux Kernelと一緒に利用できる様々なProgramをKernelと一緒に、パッケージ化したものが作られました。これがDistribution (ディストリビューション:配布パッケージ)と呼ばれるものです。
通常は、このDistributionの事を指してLinuxと呼ぶのですが、本来の意味とは異ることに注意してください。
もちろん、同じ目的で利用できるProgramは必ずしも一通りではないし、また、Distribution作成者によって、取捨選択がありますので、同じLinuxといいながら(まあ、当然kernelは共通のLinuxを利用しているので間違いではないのですが.. ) Distributionによって、様々ざまな個性があり、本当にこれを同じ仲間として括ってよいのか疑問にかんじるほど異るものもあります。
この中で、パッケージ管理に関して、比較的早期から、rpm (Redha Package Manager)というtoolを採用していたRedHat 社のDistribution「RedHat」は、そのrpmの優秀さが買われ多数の追従Distributionを生みました。
これらのDistributionの一つの共通点は、「rpmを利用してPackage管理ができる」ということです。
現在は、rpmを越るPackage管理toolや、あるいは、rpmの延長上にあるtool等も利用されていますが、rpmの歴史が長く、沢山の蓄積があるために、未だに、rpmが、標準となっているわけです。
SoftのInstallが終ると、今度は、そのSoftの振舞をその用途に併せて、設定を変更する必要があります。この作業をConfiguration (設定)と呼びます。
Configurationは、一般にConfiguration file (設定ファイル)と呼ばれる、Server Soft固有のFileをvi等のEditorで変更することで実現します。
Server機能が働くようにするためには、Server Processを起動する必要があります。
RedHat系Linuxでは、/etc/rc.d/init.dに起動用のScriptがあるので、これを実行します。
これは、Software Systemが複数のファイルから構成されていることが多く、これを配布するのに、配布しやすいように、一つのファイルに再構成されているからです。
もし、そのまま利用できる形で配布されていると、たくさんのファイルを正しく入手しなければならないので、かえって不便になるわけです。
Web Server用のProgramも色々とあるのですがここでは、Apacheを取り上げます。
Freeであり、元々Unix用に開発されLinuxに相性が良いというだけでなく、世界のスタンダードに近い勢力をもっているという意味でも無条件のお勧めだからです。
apacheに関する資料は次のようになります。
このファイルは、名前から解るようにversion 1.3.12のものです。これを利用する理由は、「単に、実習で利用するnote-pcに対応したものだから」というだけの理由です。
当然、古いversionであるので、「単に最新の機能が含まれていない」という問題もありますが、それ以上に、「Security Holeがある」という大問題を抱えています。
今回は、実験のためという目的なので、実験のLANの中でしか利用しないため、このSecurity Holeは問題になりませんが、もし、この実習の結果を、自分のPCで試そうと思う場合は、注意してください。万が一、本当にこのままの設定をして、Internetに公開したりしたら、次の日には、Crackされているものと覚悟する必要があります。
必ず、Security Holeがあるものは避けてください。
次のような実験をしてみてください。
実際に、Apacheを起動して、Web Browserで、URLを指定して、参照してみましょう。
URLは、
もし、Web Browserが容易できなければ、次のようにtelnetを利用する(6)こともできます。
[root@linux root]$ telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET /index.html HTTP/1.0 ... [root@linux root]$
name serverの場合は、bind (Berkeley Internet Name Domain)を利用します。
name serverの場合は、bindを利用します。諸情報は以下のようになっています。
次のような実験をしてみてください(8)。
[root@linux root]$ rm /etc/resolv.conf [root@linux root]$