PostgreSQLに続いて、Oracle(ここではOracle8i Workgroup Server R8.1.5)をインストールします。通常はデータベースとしてPostgreSQLかOracleのどちらかを利用するため、一度に両方インストールすることはありません。ここではどちらの製品を利用してもいいように、Oracleのインストールも紹介しておきましょう。
これまでのアプリケーションと違って、OracleではOUI(Oracle Universal Installer)という独自のインストーラーを利用します。しかし、初心者はこれを起動するにも一苦労してしまうことでしょう。その理由はこれから説明するとして、まずは製品に付属のインストレーションガイドとリリースノートを熟読してください。
ここで細かく説明するとキリがありませんので、インストール手順については簡単に説明しておきます。より詳しい解説や情報を求める方は、多くの識者の方がインターネット上でノウハウを提供してくださっていますから、そちらを参考にしていただくといいでしょう。また、o4l(Oracle or Linux)のようなメーリングリストでは、エキスパートたちによる活発な情報交換が行なわれています。
インターネットは、いまや知識の宝庫ですから、悩むより先に調べてみることが大切です。自分と同じ悩みを解決した人が、有益なノウハウを公開してくれているかもしれません。
はじめにOracleのためのユーザー(例:ORACLE)とグループ(例:DBA)を作成し、環境変数などを設定します。多くの初心者の方は、この段階で意味がわからずにつまずいてしまいますが、設定する項目はそれほど多くありません。また、インストレーションガイドには、マウントポイントの作成なども掲載されていますが無理に作成する必要はありません。マウントポイントを作成するのは、複数の物理ディスクまたはパーティションに、Oracleのデータベースファイルを分散できる場合にこそ意味を持つのです。
次に困ってしまうのが、OUIを実行するために必要な、JRE(Java Runtime Environment)の入手とインストールです。オラクルでは、Oralce8iから、インストーラーをはじめとする各種のツールにJavaを採用しています。このため、Linux環境でJavaを実行できるよう、JREを入手しなければなりません。
まもなく発売される予定のOracle8i R2(R8.1.6)では、JREを別途インストールする必要はないようですが、R8.1.5ではユーザーが独自に入手する必要があります。ところがインストレーションガイドには、このことについて、http://www.blackdown.org/からJRE1.1.6 v5を入手するように、と短く書かれているだけです。これでは、UNIXに詳しいユーザーであっても、Javaに詳しくなければ戸惑ってしまうに違いありません。まして、初心者の方であれば、どうしていいものやらオロオロしてしまうことでしょう。
さらに悪いことに、http://www.blackdown.org/は英語のサイトであり、マニュアルに書かれているファイルを見つけるのは困難です。実際にアクセスしてみるとお分かりいただけると思いますが、このようなサイトから初心者がファイルを見つけ出せるとは思えません。しかも、ファイルをダウンロードした後、どうすればいいのかも説明がありません。商用製品でライセンス料を取るものとしては、あまりにお粗末です。次のバージョンでは改善されているようですが、これではLinuxは難しいといわれても弁解の余地もありません。Oracleは難しい、敷居が高いというイメージも払拭しきれていないだけに、この事実は残念でなりませんでした。
もしも読者の中で、JREの入手とセットアップに困っている方がいれば、以下のURLにアクセスしてみてください。永遠に利用できるものではありませんが、当面は大丈夫だと思います。ftp://ftp.lab.kdd.co.jp/Linux/java-linux/JDK-1.1.6/i386/glibc/v5/jre_1.1.6-v5-glibc-x86.tar.gz
上記のファイルを入手したあとは、/usr/localにファイルをコピーし、rootユーザーでファイルを解凍します(tar -zxvf ファイル名)。解凍すると自動的に作成されるディレクトリ「jre116_v5」に対して、「jre」というシンボリックリンク(Windowsでいうショートカットのようなもの)を作成します。
準備ができたら、いよいよインストーラを起動します。インストーラを起動するときの注意は、日本語環境で起動しないことです。日本語環境でも起動できるのですが、インストール中に文字が読めなくなることがあります。
そのときは環境変数「LANG」と「LC_LANG」を外し、英語環境で起動してください。英語といっても、それほど難しい英語はありませんし、マニュアルに説明もありますから大丈夫でしょう。インストーラーさえ起動してしまえば、あとは指示にしたがって選択肢を選んでいくだけですので、Linuxだからといって難しいことはありません。
続いて、WebサーバであるApacheをインストールします。現時点(2000年6月27日)でApacheの最新版は、Apache_1.3.12ですが、サーバ上には次期バージョンのアルファ版としてApache_2.0aも用意されています。どちらのバージョンであっても、Apacheを入手する際には、http://www.apache.org/を訪れてみてください。どちらのバージョンを使ってみても構いませんが、今回はApache_1.3.12を対象とすることにします。
インストール方法そのものは、PostgreSQLの例が参考となります。この後、PHPのインストールを説明するときにも、似たような手順を繰り返すことになりますので詳細は説明しません。注意すべき点は、Apacheの実行モジュールがインストールされるディレクトリ(/usr/local/apache)を、あらかじめ作成しておくことです。/usr/local/以下には、管理者以外ファイルを書き込むことができませんから、ディレクトリを作成して権限も与えておきます。とはいえ、この手順も、PostgreSQLの時と同じですから問題ないでしょう。
事前の準備さえしっかりと行なっておけば、あとはApacheの所有者となるユーザーで「configure」を実行した後、「make install」を行なうだけです。ただし、「configure --enable-shared=max」のように、オプションを必ず指定してください。これは、ApacheがDSO(Dynamic Shared Object)をサポートするために必要なオプションです。スムーズにインストールすることができれば、以下のようなメッセージを確認することができるはずです。
インストール終了時のメッセージにある通り、/usr/local/apache/conf/httpd.confを編集して、Apacheの基本設定を行います。いまやApacheは、市販されているWebサーバに勝るとも劣らないほど、高機能なWebサーバとなっています。それだけに設定内容も多岐に渡りますが、とりあえず試してみるというレベルであれば、設定すべき項目はほとんどありません。
以下のようにして「/usr/local/apache/bin/apachectl」を使えば、Apacheが起動するはずですから、Webブラウザでアクセスしてみてください。アクセスするときには「http://172.16.1.2/」のように、IPアドレスを指定しても構いません。うまく動作していれば、下のような画面が表示されます。
[apache@cinderella apache]$ ./apachectl start |
この画面から、Apacheのオンラインドキュメントを閲覧することもできますし、インターネット上や書籍でも多くの資料が存在しています。バージョンの変化と共に、多少は設定方法なども移り変わっていますが、それらの資料は役に立つはずです。Webサーバの仕組みを理解していない方は、Apacheを学ぶことで、その仕組みも理解することができると思います。まずは設定ファイルをじっくりと眺めてみてください。その上で、わからない部分を資料から探し出すようにすると、理解も早いだろうと思います。
それでは、最後になってしまいましたが、いよいよPHP4をインストールすることにします。本連載のテーマであるPHP4が、こんなに後回しにされてしまいましたが、それにはちゃんと理由があるのです。PHPとPostgreSQLやOracle、さらにApacheを連携させるためには、PHPのインストール時にそれらを指定しなくてはならないのです。
この作業を行わないと、いくらPHPとPostgreSQLをインストールしても、それらを連携させることはできません。それだけに、OSのインストールから長い時間をかけて、ここまで到達しなければならなかったのです。
さて、PHPのインストール方法ですが、それ自体はこれまでの手順とほとんど同じです。ここまでのインストールをクリアできた方であれば、もう楽勝といってもいいでしょう。まずはインターネット上から入手した、PHPのアーカイブファイルを、適当なディレクトリ(/usr/local/srcなど)で解凍します。
解凍すると、「php-4.0.0」というディレクトリが作成され、その中に「INSTALL」というファイルができています。このファイルは、インストールガイドになっていますので、それをエディタなどで開いて一通り読んでおいてください。英語で書かれていますので、筆者のように英語が苦手な向きには少々厳しいのですが、なにかにつまずいたときには役立つかもしれません。
なにかの役に立つかもしれないなどと、のん気なことを書いていますが、実際には非常に重要なことが書かれています。それは、PHPとApacheの連携方法や、インストール時の注意などの説明です。筆者と同じように、実行して問題ないということであれば、なにも読まなくてもかまいませんが、中には有益な説明が含まれているかもしれません。インストール方法の確認と共に、そういった注意書きについても確認することは、どんなアプリケーションであっても重要です。
一通り確認して頂いたら、設定作業を行ないます。設定作業はPostgreSQLの時と同じく、「configure」というプログラムによって行ないます。その際、今回はPostgreSQLとOracle8iの連携を必要としますので、その旨をオプションとして指定します。指定するための構文や、どのようなオプションを指定することができるのかを知るには、「configure --help」としてヘルプを表示させます。
今回はPHPとPostgreSQL、さらにOracle8iを連携させ、ApacheのモジュールとしてPHPを使います。その場合は、以下のようにオプションを指定して、「configure」を実行します。この他に特別な設定などを指定したい場合には、そのオプションを追加してください。
ここで指定している値は、あくまでも筆者の環境のものですので、各自の環境に合わせて変更すべき点は読み替えてください。
[tatsuya@cinderella php-4.0.0]$ ./configure --with-apxs=/usr/local/apache/bin/apxs
--with-oracle=/home/oracle/app/oracle/product/8.1.5/ --with-pgsql=/usr/local/pgsql |
無事に設定作業が終了したら、あとは「make install」を行なって、インストール作業は終了です。
インストールは完了しましたが、このままではまだApacheがPHPのプログラムを実行することはできません。さきほどの/usr/local/apache/conf/httpd.confを再度編集して、Apacheの設定を変更します。編集する必要があるのは、以下のセクションです。
# AddType allows you to tweak mime.types without actually
editing it, or to |
今回は、PHP4とApacheを連携しますので、最後の2行のコメント(#)を外します。ソースファイルは掲載しない、ということであれば、したから2行目のコメントを外すだけで構いません。もしも、PHP3とApacheを連携するのであれば、PHP3のセクションのコメントを外してください。
この作業を行なうことでApacheは、拡張子が「php」のファイルをPHP4のプログラムであると認識します。このように認識させてあれば、拡張子が「PHP」のファイルをリクエストされると、Apacheのプロセス内でPHPのプログラムとして実行してくれるのです。
長い道のりでしたが、これでようやくPHP4を思う存分利用する環境を整えることができました。Apache_1.3.12では、/usr/local/apache/htdocsがデフォルトのドキュメントルートです。このディレクトリに前回と同じく、PHPのバージョン情報を表示するプログラムを作成し、ブラウザから呼び出してみてください。前回のように、CGIとして実行する設定を行なわなくとも、PHPが実行されていることが確認できます。
今回は、初心者の方でもインストール作業を行ないやすいように心がけましたが、それでも全てをお伝えできていません。また、一人ひとりの微妙な環境の違いから、かならずしも同じように作業を進められないでしょう。そうしたときにでも、簡単にあきらめないで下さい。
本文中でも強調しているように、インターネット上にも書店にも、情報は溢れかえっています。少しの勇気さえ出せば、メーリングリストや掲示板で情報を求めることだってできるのです。誰でも最初は初心者で、苦労を重ねるものです。こうした作業も、慣れてしまえば少しは面白くなると思いますので、あきらめずに動くところまで作業してください。
次回は、この環境を使ってPHPの開発を進めるための知識を、実践編と称してご紹介いたします。次回も楽しみにしていただければ幸いです。
一志達也(ichishi@pochi.tis.co.jp)
株式会社東洋情報システム
Copyright © ITmedia, Inc. All Rights Reserved.