次のページ 前のページ 目次へ

3. インストール過程

3.1 必要なハードウェア

データベースサーバで必要なハードウェアについて一般的なことは言えません。 予想されるユーザーの数、アプリケーションの種類、ネットワーク経路(network load)等に大きく依存しています。 2〜3人のユーザがいるだけでネットワークトラフィックも少ない最小な環境では RAM 16MB、i486程度のマシンで十分です。Linuxはリソースに関してはそれで 十分で、同時にさまざまなアプリケーションを起動するだけの馬力があります。 もちろんもっと速いプロセッサやRAMの増設をすればするほど高速化することもで きますが、プロセッサよりもRAMの容量の方が重要です。 RAMを増やせば増やすほど、障害を生じやすい集中的なメモリープロセスのディスク スワップが小さくなっていくのです。

32 MB RAM と PCIバスがあればスワップファイルなどを使わないで検索とソート を高速に行うことができます。

この文書で書かれているインストールは32 MB RAM、1.2 GB IDEハードディスクの IBM 686(133Mhz) で行っています。はじめからインストールするものとして以下、 必要な手順のリストを書きました。

3.2 必要なソフトウェア

この文書で取り扱うソフトウェアはCD-ROMやインターネットから入手できるもの です。以下のものを使います:

3.3 OSのインストール

著者はRed Hat Linux Distribution 4.2からLinuxをインストールしています。 ちゃんとインストールするために、マシンはDOSでアクセスできるCDROMドライブ/ ブート可能なCDROMドライブか、Linux CDの以下の設定を盛り込んだブートディスク のどちらかを持っているとよいでしょう。

インストールの途中でソフトウェアパッケージの選択と設定を行います。 以下のアイテムを選択しておいて下さい。

これらのパッケージはLinuxディストリビューションで配布されています。 もしすぐにこれらのパッケージをインストールしないなら、ソフトウェア パッケージにあるグラフィカルで直観的なインストールマネージャを使って後から インストールできます(訳注:setupコマンドなどで)。 これらのパッケージをインストールする際はrootで作業をして下さい。

この文書ではネットワークインストールや初期設定の仕方は取り扱いません。 オンラインドキュメント(manページ、HTML、texinfo)や出版されている ドキュメント((Linux Bibleなどなど)を参照して下さい。

Red Hatのインストール方法は十分確立されていて、選択(ホスト名の指定など)を 普通に行うだけです。インストールが成功すれば、システムはすぐに稼働できます。

X Window Systemのインストールはサーバには必ずしも必要ではありませんが ローカルアクセスやテストが簡単になるので入れておくとよいでしょう。 Xのインストール方法はいくつかプログラムを使うことで行えます(XF86Setup は自己テストの機能(self-testing facilities)を装備していて、例えばビデオ クロックプログラミングなど難しい操作はほとんどありません)。必要なことは ソフトウェアがビデオアダプタを検出できるかどうかということだけです。 安価なアクセラレータグラフィックアダプタ(S64UV+の前身のTrio S64のような アダプタなど)は通常、特に何もしなくても(``out of the box'')動作します。

ここでシステムにApache, Perl, X Window Systemがすでにインストールされて いるものとします。今後、ファイル/ディレクトリといった基本的なことはインストール 時のままとして話しを進めていきます。またホスト名はlocalhostとします。 このホスト名をインストールのテスト用に使います。全システムがちゃんと動作 したら適当な名前をつけます。/etc/hostsファイルなどを編集する 必要があることもおぼえておいて下さい。理想的にはこれらはroot用の管理者 ツールを使って行うべきです。

3.4 httpサーバ

Linuxで使われるhttpサーバはApache(httpd)が有名です。 manページ(man httpd)でhttpデーモン(httpd)のインストールと稼働の仕方 について説明しています。しかし問題なくインストールできているならすでにサーバは 稼働されています。ディレクトリを確認します:/home/httpd/以下3つ のサブディレクトリ../cgi-bin/../html/../icons/ があります(訳注:RedHat以外のディストリビューションではディレクトリが若干 違うかもしれません)。../html/ディレクトリにはindex.html ファイルがあります。あとでこのファイルは各自のファイルindex.htmlに 置き換えて下さい。設定の情報は/etc/httpd/conf/に蓄積されています。 システムが十分に設定されていて、特にエラーもなくインストールができたならこれ 以上は必要ありません。

3.5 ブラウザ

基本的にLinux用のブラウザには3つのものがあります:

LynxとArenaLinuxに附属していますが、Netscape はよそから入手しなければ なりませんix86アーキテクチャ上で動作するLinux用のものがバイナリファイルで 配布されています。アーカイブを展開すればすぐに(``out of the box'')実行でき ます。

Lynxの設定

Lynxは起動時にデフォルトURLを表示しようとします。これは常にインターネットに 接続していない場合にはちょっと厄介です。このデフォルトURLを変更する (また他の設定も変更する)ために、システム管理者は/usr/lib/lynx.cfg (訳注:または/usr/local/lib/lynx.cfgなど)ファイルを編集する必要が あります。この設定ファイルは約57,000バイトと大きく不必要な情報を含んでいるも のもあり、/usr/local/lib/ディレクトリをホームディレクトリとして記述 しています。 ファイルのはじめあたりにSTARTFILEではじまる行があるので、これを 以下のように変更します。


# STARTFILE:http://www.nyu.edu/pages/wsn/subir/lynx.html
# STARTFILE:http://lynx.browser.org/  
STARTFILE:http://localhost

ファイルを保存後、Lynxは引数なしでindex.htmlドキュメントを 表示するようになります。

[訳注:"Lynxについて"

LynxはVer2.5あたりから特別なパッチなしで日本語が通るように なりました。以下のサイトを参照してみて下さい。

]

Arenaの設定

Arenaも引数なしで起動するとデフォルトURLを表示します。このデフォルトURLは 実行ファイルに組み込まれていますが、環境変数WWW_HOMEによって変更 (overrun)することもできます。システム管理者は/etc/profileファイルに WWW_HOME="http://localhost"となるように書き込んで下さい(bashなどの 場合はexportするようにします)。例えば、


WWW_HOME="http://localhost"
export WWW_HOME

とします。 一度ログインし直せば、新しいデフォルトURLがArenaで有効になります。

Netscapeのインストールと設定

Netscapeは商用の製品でLinuxディストリビューションでは配布されていません。 (訳注:Caldera Open Linuxなど商用のディストリビューションではライセンス されたNetscapeがついてくるものもあります)。 インターネットやCDROMのソフトウェアコレクションから入手できます。Netscape は各プラットフォーム用にコンパイルされたバイナリ形式で配布されています。 インストールするにはアーカイブファイルを展開するディレクトリとして /usr/local/Netscape/を作ります(訳注:アーカイブに附属の インストールプログラムを使えば自動的に/usr/local/netscape/ ディレクトリを作ります)。 Javaライブラリを除くファイルは全てこのディレクトリ内にあります(Netscape ライブラリについてはREADMEファイルを参照して下さい)。以下のように してリンクをはります(/usr/local/bin/ディレクトリで作業をします)。

# ln -s /usr/local/Netscape/netscape .
Netscapeは「Options」メニューで設定できます。「General Preferences」では 「Appearance」カードがあるので、「Home Page Location」に http://localhostを指定します。Netscapeを終了するまえに、オプション の保存を忘れないで下さい(「Options」---「Save Options」で)。次回の起動で Apacheのページが開きます(訳注:これはローカルマシンのページで、Apache インストール時に作られます)。

3.6 Apacheとブラウザの協力関係

ブラウザとhttpサーバの最初のテストをします。適当なブラウザを起動すると apache: red hat linux web serverのページが表示されます。このページでは ファイルの場所とhttpサーバのインストールの基本を説明します。 もしこのページが表示されない場合はファイルが適当な場所にあるか、ブラウザの 設定が正しいかチェックしてください。ブラウザをもう一度開く前に設定ファイル の編集を終らせて下さい。以上の設定が正しければ次にマシンのネットワーク設定 をテストします。ホスト名が設定ファイルに書いたものと違ったりネットワーク セットアップが正しいかどうか。少なくとも/etc/hostsに以下の行が あることをチェックします。これは重要です。


127.0.0.1               localhost localhost.localdomain

これはマシンにローカル接続をするとき非常に重要です。引数にホスト名を使うような ネットワーク用コマンドを使ってテストします。例えば、telnet localhost とします(telnet はすでにマシンにインストールされています)。もしこれがおかし ければ次の作業に移るまえにもう一度ネットワーク設定をチェックしておいて下さい。

3.7 データベースエンジンとインストール

データベースをインストールするには、netscapeといった上記のインストールよりも、 若干準備しておくことがあります。 ランタイムやアドミニストレーションがそれぞれ違うsqlデータベースエンジンが 2〜3あり、その中で一番わかりやすいシステムであるmsql(mini-sql)を使います。 このシステムはdavid hughes氏によるもので、シェアウェアです。 料金は使うバージョンに依ります。 商用的な使用の場合は250.00ドル(us)以上。個人ユーザの場合は65.00ドル(us)以上。 教育、非商用的な機関の場合はフリーで使うことができます。 正確な価格(figures)はデータベースに附属しているドキュメントのライセンスを 参照してください。ここに書いた価格はだいたいの目安として下さい。

なぜ著者がmsqlを選択したかその理由を2、3述べます。まず第一に インストール/管理が簡単で、sql言語のカバーしている範囲が十分であることが 挙げられます。ここまで書いた時点で alligator descartes' dbi faq (perl database interface faq) に適当な説明が見つかりました。

From the current author's point of view, if the dataset is relatively small, being tables of less than 1 million rows, and less than 1000 tables in a given database, then mSQL is a perfectly acceptable solution to your problem. This database is extremely cheap, is wonderfully robust and has excellent support. [...]

[日本語訳: 現在の作者の指摘によると、データセットが100,000列以下の表や1000以下の テーブルといった、比較的小さいものならmSQLは完全にあなたの問題を解決して くれます。このデータベースは安くしっかりしたもので優れたサポートがあります。 ]

Msqlは2つのバージョン(msql-1.0.16, msql-2.0.1)が入手できます。 この違いはパフォーマンスの違い(小さい仕事では特に差はありません)や添付されて いるソフトウェアの違い(新しいバージョンには多くのツール、スクリプトファイル があります)によっています。以下この2つのバージョンでのインストールについて それぞれ解説していきます(2〜3違いがあります)。

msql-1.0.16のインストール

msqlはソースやELFサポートバイナリとして入手できます。ELFバイナリを使えば インストールは簡単です。アーカイブファイルmsql-1.0.16.ELF.tgzは そのパッケージ中にインストール先のディレクトリを含んだ形でパッケージ化され ています。そのため展開する時にルートディレクトリで 展開するだけで適当なディレクトリにインストールされます。

もしmsql-1.0.16をコンパイルして、DBIインターフェースよりもMsqlPerlパッケージ (この両者の違いについては後で述べます)を使う場合に、 MsqlPerlをテスト中「some instruction inside msql failed(msql内で命令が失敗 しました)」となることがあります。この場合MsqlPerlドキュメント (patch.lost.tables)に書かれているパッチが必要です。特にmsqldb.c の1400行( entry->def = NULL;)からの3行

        *(entry->DB) = 0;
        *(entry->table) = 0;
        entry->age = 0;
が大切です。 コードフラグは以下です。
        freeTableDef(entry->def);
        safeFree(entry->rowBuf);
        safeFree(entry->keyBuf);
        entry->def = NULL;
        *(entry->DB) = 0;
        *(entry->table) = 0;
        entry->age = 0;

msqlをコンパイルするためにいくつか手順を踏みます。ますソースアーカイブを 展開してターゲットディレクトリを作ります。
        # make target
これがうまくいったら、システムは
Build of target directory for Linux-2.0.30-i486 complete
と表示します。 この新しいディレクトリに移動して
        # ./setup
と実行します。 ./シーケンスはこのディレクトリのsetupコマンドを実行する ために必要です。これを付けないと別のsetupが実行されてしまいます。 ソースディレクトリやrootインストールが必要かどうか聞かれます。この後 システムはコンパイラ、ユーティリティなどのソフトが使えるかテストします。
Ready to build mSQL.

You may wish to check "common/site.h" although the defaults should be
fine.  When you're ready, type  "make all" to build the software
と表示されます。そして
        # make all
と実行して下さい。

make[2]: Leaving directory `/usr/local/Minerva/src/msql'
<-- [msql] done       

Make of mSQL complete.
You should now mSQL using make install

NOTE : mSQL cannot be used free of charge at commercial sites.
       Please read the doc/License file to see what you have to do.

make[1]: Leaving directory `/usr/local/Minerva/src'
バイナリは/usr/local/bin/にソフトリンクを作ることで検索パス に通るようにします。/usr/local/bin/ディレクトリに移動して
        # ln -s /usr/local/Minerva/bin/* .
と実行して下さい。

msql-1のテスト

インストール後、データベースがちゃんと動作するかどうかテストします。 サーバデーモンをスタートさせるためにシステム管理者(root権限)としてコマンドを 実行します。

        # msqld &
(バックグランドでmsqlを実行するために、&を付けるのを忘れない ようにして下さい)。以下のメッセージが表示されます。
mSQL Server 1.0.16 starting ...

Warning : Couldn't open ACL file: No such file or directory
Without an ACL file global access is Read/Write
このメッセージは、アクセス制限を設定していないために動作していない ということを意味しています。さしあたってシェル内からmsqlデーモンを開始 できます。そこでコマンドを適当なrc.dスクリプトに書いておきます( 管理者だけがデータベースコマンドを実行できます)。
        # msqladmin create inventur
(訳注:このコマンドの実行で空のデータベースinventurが作られます)。 msqlはDatabase "inventur" created.と返答します。 /usr/local/Minerva/msqldb/ディレクトリに空の../inventur/ サブディレクトリができます。この新しいデータベースはアドミニストレーション ツール(詳細はmsqlドキュメントに書かれています)を使って操作できます。

msql-2.0.1のインストール

新しくパワフルなHugheのmSQLサーバがあり、以前のバージョンと2〜3の点で インストールに違いがあります。msql-2のインストールをはじめから行うには 以下のステップをふみます。適当なディレクトリ(例えば/usr/local/msql-2/) にアーカイブをコピーして展開します。

        # tar xfvz msql-2.0.1.tar.gz 
(訳注:アーカイブは以下のサイトから入手できます。 http://www.hughes.com.au/software/msql2/)
        # make target
と実行します。 targetsに変更してマシンタイプを選びます。新しいサブディレクトリ Linux-(バージョン)-(CPU)/ このディレクトリに変更して以下のようにセットアップをスタートします。
        # ./setup
編集可能なsite.mmファイルがあります。ディレクトリ名 /usr/local/Minerva/を使っていることと思います。 保存したいですか?この場合INST_DIR=...の行に保存したいディレクトリ 名を書き込んで下さい。 データベースを構築します。
        # make
        # make install
インストールに成功すると以下のメッセージが表示されます。
[...]

Installation of mSQL-2 complete.

*********
**   This is the commercial, production release of mSQL-2.0
**   Please see the README file in the top directory of the
**   distribution for license information.
*********
インストールが適切に行われたら次はデータベース管理の詳細に注意を 払わなければなりません。ここでmsql-1とは違う作業が必要です。データベース 管理を担うユーザmsqlを作ります:
        # adduser msql
mSQLディレクトリのオーナーをmsqlに変更します。
        # cd /usr/local/Minerva
        # chown -R msql:msql *
次に/usr/local/bin/のデータベースバイナリへのソフトリンクを 作ります。
        # ln -s /usr/local/Minerva/bin/* .
以上です。

msql-2のテスト

データベースサーバはmsql2d &コマンドによって開始され、

Mini SQL Version 2.0.1
Copyright (c) 1993-4 David J. Hughes
Copyright (c) 1995-7 Hughes Technologies Pty. Ltd.
All rights reserved.

        Loading configuration from '/usr/local/Minerva/msql.conf'.
        Server process reconfigured to accept 214 connections.
        Server running as user 'msql'.
        Server mode is Read/Write.

Warning : No ACL file.  Using global read/write access.
と応答が出ます。 これで完璧です。データベースはコンパイルされ適当な場所にあります。 続いてperlモジュールを継続します。perlモジュールはテスト用に動作している データベースサーバの振舞いに部分的に基づいています。

きっかけがあればmsql-2.0.1に附属しているマニュアルの印刷をしておくと よいでしょう:

        # gzip -d manual.ps.gz
        # lpr manual.ps
続いてインターフェースの構築を行いますが、新しく作ったSQLサーバを保存して 実行したほうがよいでしょう。そのほうが安心してインターフェースライブラリ のテストができます。

3.8 インターフェースの選択:DBI/mSQL, MsqlPerl, Lite

perlを使う時に参考になることがらがCamel Book(訳注:「ラクダ本」と 呼ばれるものです)に書かれています。これは今回のモデルアプリケーションを も書かれています。基本的にCGIを経由してmsqlデータベースにアクセスする方法が 以下3つあります。 はじめにperlを使うかどうかということに関することです。 (この文書が対象としている)perlを使うなら二つの異なるインターフェースモデル のどちらかを選べます。perlを使う場合はmsql独自のスクリプト言語(Lite)も使う ことができます。非常にわかりやすく、C言語に近いクローンです。

DBI と DBD-mSQL

この執筆の時点までにDBIと呼ばれるperlのデータベースインターフェースが 。 DBIは2,3の役立つ点があります:コマンド一つで多くの商用データベースを操作 できる統一されたアクセスコントロールが提供されています。与えられたシステム で実際のデータベースはプログラマからデータベースの横取り(pecularities)を 防ぐドライバを使ってアクセスできる。DBIを使うことでマーカーによる異なるデータ ベース間でスムーズな移行ができる。一つのスクリプトで複数のデータベースに アクセスできる。詳しくはDBI-FAQを参照して下さい。しかし一つ欠点もあります: DBIインターフェースはまた開発中でバージョンがどんどん変わっています(一カ月 も経たないうちに新しいものに変わってしまうこともあります)。同様にそれぞれの データベースドライバもアップデートされ特定のインターフェースバージョンに 依存していることもあります。初期にインストールしたユーザーはこの文書で挙げた バージョンをつ使わないといけないかもしれません。というのも他のバージョンでは 複雑になってしまったり、テストのトラブルシューティングも意味のないものに なってしまうことがあるからです。

MsqlPerl

MsqlPerl はperlスクリプトからmsqlに直接アクセスするためのライブラリです。 DBIインターフェースを回避してとてもコンパクトです。 msqlの両バージョンともよく動作しますが、その使い方は一般化されたDBI インターフェースを使う(promoted)ことはできません。 ですが小さいシステムでインストールが容易なので選択するインターフェースと します。特にDBIや特定のデータベースドライバよりもバージョンに依存しません。

msqlのスクリプト言語:Lite

msql-2ではスクリプト言語(Lite)を持っています。この言語はシェルライクな 特徴を追加したちょっと変わったものです(特定のPerlバージョンに似ています)。 Liteはシンプルな言語でmsql-2マニュアルに詳しく書かれています。msql-2 パッケージにはLiteを使った簡単なアプリケーションも附属しています。

Liteについては優れた文書(msql-2に特定した内容)があるのでここではLiteに ついては説明しません。またこの文書を読んでいる読者はperlについて基礎的な 理解があるものと想定しています。 ですがLiteをよく調べてみることをお奨めします。Liteはそのシンプルで 直観的な概念に関してmsql-2環境(他のデータベースで行われているような) での解決を提供している場合があります。

3.9 一般的な方法:DBI と DBD-msql

すでにシステム設定でperlをインストールしてあるか上記したパッケージマネージャを 使ってperlが入っているものとします。perlについては詳しく述べません。 perlのバージョンを見るには、

        # perl -v
とします。 perlは以下のメッセージを表示します。

This is perl, version 5.003 with EMBED
        Locally applied patches:
          SUIDBUF - Buffer overflow fixes for suidperl security

        built under linux at Apr 22 1997 10:04:46
        + two suidperl security patches

Copyright 1987-1996, Larry Wall
[...]
これで問題なければ、次はデータベース用のperlライブラリ(DBI)、msqlドライバ (DBD-mSQL)、CGIをインストールします。CGIドライバはいろんな場面で必要に なります。3つのアーカイブが必要です:
  1. DBI-0.81.tar.gz
  2. DBD-mSQL-0.65.tar.gz
  3. CGI.pm-2.31.tar.gz (あるいはこれ以上のもの)
初心者の方に注意があります。ここまでで述べてきたテストインストール は上記したバージョンを使って正確に動いています。他のバージョンでは エラーとなるかもしれません。欠陥のあるバージョンのデバッグは 呼び出しの規則(conventions)やインターフェースについて詳しく ない人にはどうしようもありません。

同じ動作をしているものをリネームするのが一つの方法ですが 内部構造が著しく変更されていることがあったりします。 そこで それまでは新しいバージョンに上がっていても、安全に使いたいのであれ ばここで紹介したバージョンにするよう心がけて下さい。

mSQL((DBD-mSQL)用のデータベースドライバはインターフェース(generic interface) DBIの後にインストールするということは重要です。

オリジナルのperlディレクトリを保存するために/usr/local/PerlModules/ ディレクトリを作ることから始めます。ディレクトリ名は特に決っていないので これとは違う名前にすることもできます(どのperlモジュールのREADMEファイルにも ディレクトリ名については書かれていません)。上記のアーカイブを /usr/local/PerlModules/にコピーして、

# tar xzvf [archive-file]
3つのアーカイブをそれぞれ展開します([archive-file]はアーカイブ名に 置き換えて下さい)。

3つのモジュールのインストールプロセスは通常通り行います(このドキュメント では各パッケージで重要なものだけを書き出してします)。

perlデータベースインターフェース DBI のインストール

データベースインターフェースは特定のデータベースドライバをインストール する前に入れておいて下さい。DBIアーカイブを展開すると /usr/local/PerlModules/DBI-0.81/ディレクトリが作られるので このディレクトリに移動します。READMEファイルとperl用makefileが あります。

        # perl Makefile.PL
と実行して下さい。 次々とメッセージが表示されます。そのうち重要な箇所を引用します。
[...]
MakeMaker (v5.34)
Checking if your kit is complete...
Looks good
        NAME => q[DBI]
        PREREQ_PM => {  }
        VERSION_FROM => q[DBI.pm]
        clean => { FILES=>q[$(DISTVNAME)/] }
        dist => { DIST_DEFAULT=>q[clean distcheck disttest [...]
Using PERL=/usr/bin/perl

WARNING! By default new modules are installed into your 'site_lib'
directories. Since site_lib directories come after the normal library
directories you MUST delete old DBI files and directories from your 'privlib' 
and 'archlib' directories and their auto subdirectories.

Writing Makefile for DBI
ちゃんと実行されているようです。次に
        # make
と実行します。 もしエラーメッセージが出なければ(画面に表示されるプロトコルはエラーメッセージ ではありません)、新しくインストールされるライブラリをテストします。
        # make test
表示される出力は[Shift]-[PgUp]でスクロールできます。
[...]
t/basics............ok
t/dbidrv............ok
t/examp.............ok
All tests successful.
[...]
DBI test application $Revision: 1.2 $
Switch: DBI-0.81 Switch by Tim Bunce, 0.81
Available Drivers: ExampleP, NullP, Sponge
ExampleP: testing 2 sets of 5 connections:
Connecting... 1 2 3 4 5 
Disconnecting...
Connecting... 1 2 3 4 5 
Disconnecting...
Made 10 connections in  0 secs ( 0.00 usr  0.00 sys =  0.00 cpu)

test.pl done
最後にインストールするディレクトリにファイルを入れます。
        # make install
このコマンドは十分に確認してから実行して下さい。 これ以上することはありません。もしなんらかの理由でインストールに失敗したら 忘れないうちに作業をやり直して下さい。
        # make realclean
ますはじめに。このコマンドは前のインストールで不用なものを削除します。 また画面の表示(以下省略して挙げました)をコピーしてインストールしたファイルも 削除できます。
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBIXS.h
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.so
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.bs
[...]
Writing /usr/lib/perl5/site_perl/i386-linux/auto/DBI/.packlist
Appending installation info to /usr/lib/perl5/i386-linux/5.003/perllocal.pod
このInstallingrmに置き換えます。これをuninstallに保存して
        # . uninstall
と実行すれば、インストールされたファイルが削除されます。

perl の msql ドライバ DBD-mSQL

msqlドライバはperlデータベース(generic database)インターフェースの インストールがうまくいった後にインストールします。 インストール過程は上記したステップと同じです。

        # perl Makefile.PL
ここでシステムは添付ドキュメントを読むように警告を表示します。ここで msqlの場所を見つけます。

$MSQL_HOME not defined. Searching for mSQL...
Using mSQL in /usr/local/Hughes

 -> Which version of mSQL are you using [1/2]? 
正しいバージョンを入力して下さい。以下2,3行を表示します。
Splendid! Your mSQL daemon is running. We can auto-detect your configuration!

I've auto-detected your configuration to be running on port: 1114
以下のようにしてドライバのテストをします。
        # make test
再び長い出力があり、
Testing: $cursor->func( '_ListSelectedFields' ). This will fail.
        ok: not a SELECT in msqlListSelectedFields!
Re-testing: $dbh->do( 'DROP TABLE testaa' )
        ok
*** Testing of DBD::mSQL complete! You appear to be normal! ***
で終ります。 これで大丈夫です。
        # make install
としてインストールします。 もう準備できたので次の節は飛ばしてください。

3.10 MsqlPerlインターフェース

もしMsqlPerlの方を選んだなら、MsqlPerl-1.15.tar.gz以外に特定のデータ ベースドライバ(generic database driver)は必要ありません。始めに書いたように MsqlPerlはperlとデータベースサーバ間でDBIインターフェースを使わずに直接 やり取りをするからです。直接インストール、テストします。

perl Makefile.PLと実行するとユーティリティがスタートします。 はじめにどこにmSQLがあるか答えます。/usr/local/Minerva/なら デフォルトのままでよいです。

そしてmake testとします。この前にtestというデータベース があることを確認してパーミッションを読み書き可能にして下さい。

        # msqladmin create test
と実行します。

3.11 perlのCGIライブラリ

perlのCGIパートは3つのシンプルな段階にわかれています。以下のコマンドを 実行して下さい。

        # perl Makefile.PL
        # make 
        # make install
前のドライバと違い、このインターフェースはテストオプション (# make test)を持っていません。ところが他のモジュールは 任意のケースでテストされる必要があります。

CGIのサンプルスクリプトがあるサブディレクトリがこれで作られます。 このディレクトリの中身を/home/http/cgi-bin/にコピーして スクリプトのテストのためにブラウザを起動してみて下さい。

3.12 チェックリストのインストール

以下の順に作業を進めます。

  1. Linuxをネットワークサポートでインストールする
  2. httpサーバのインストール(Apacheなど)
  3. ブラウザのインストール(Arena, lynx, Netscapeなど)
  4. SQLサーバのインストール(msql)
  5. 適当なperl SQLインターフェースをインストール
  6. CGIファイルのインストール
最後にクリーンアップを行います。バイナリやドキュメントは異なるディレクトリ にあるのでmsqlのソースツリーやperlモジュールは安全のために削除しておきます (アーカイブファイルは削除しなくてよいです)。


次のページ 前のページ 目次へ