サーバー構築 · 1 min read · Nov 19, 2025

ApacheにPHP、MySQL、OCI8インスタントクライアントサポートをビルドする

ApacheにPHP、MySQL、OCI8インスタントクライアントサポートをビルドする

著者: Nayyar Ahmad

連絡先: nayyares AT gmail DOT com  |  nayyar.ahmad AT cilix DOT co DOT mz

ホームページ: www.cbtcandy.org

献辞: バブに、彼の愛する思い出に捧げる。

前書き:

ApacheにPHP、MYSQLサポートをビルドする方法はたくさんありますが、ApacheビルドでOCI8サポートに関する文書は非常に少ないです。最近、データセンターでウェブサーバーを構築していたとき、インストール文書を探していて本当に困りました。いくつかの文書はありますが、ほとんどはRPMバージョンのパッケージを使用しているか、いくつかの重要なステップが欠けています。私は、少なくともステップバイステップの方法でインストールを理解するのに役立つhowtoを書くことを試みています。

プラットフォーム:

私はRHEL 4 Update Level 4を搭載したIBM x system x86_64ビットサーバーを使用しています。

それでは始めましょう:

1. Oracle Instant Clientをダウンロードする。

まず最初に、Oracle Instant Clientをダウンロードする必要があります。こちらがダウンロードリンクです。私はLinux x86_64用をダウンロードしていますので、ハードウェアに応じて調整してください。

こちらがあなたのハードウェアに合ったインストーラーを見つけることができるリンクです。

http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

私はLinux x86_64で作業しているので、次のリンクを使用します:

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxx86_64soft.html

ここで以下のパッケージをダウンロードする必要があります。

  1. instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip

  2. instantclient-sqlplus-linux-x86-64-10.2.0.2-20060228.zip

  3. instantclient-sdk-linux-x86-64-10.2.0.2-20060228.zip

ローカルディレクトリにダウンロードした後、次のように解凍する必要があります:

$ cd $HOME

ユーザーのホームにダウンロードしたと仮定します。

$ unzip instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip
$ unzip instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip
$ unzip instantclient-sdk-linux-x86-64-10.2.0.2-20060228.zip

これにより、$HOME/instantclient_10_2に解凍されます。

クライアントライブラリのシンボリックリンクを作成します:

$ ln -s $HOME/instantclient_10_2/libclntsh.so.10.1 $HOME/instantclient_10_2/libclntsh.so

2. 環境を設定する:

もしあなたがデータベースサーバーの所有者であるoracleユーザーからすべてをインストールしている場合、oracleユーザーの.bash_profileに変更を加える必要があります。DBサーバーとApacheが同じサーバーにある場合、いくつかの変数を設定している可能性がありますが、そうでない場合はoracle.bash_profileにそれらを書く必要があります。しかし、時にはWebサーバー、つまりApacheサーバーがOracle DBサーバーとは別のサーバーにある場合もあります。つまり、両方が別々のサーバー(マシン)にある場合、現在のユーザーの.bash_profileにLD_LIBRARY_PATH変数を追加するだけで済みます。つまり、ここでこれをインストールしているユーザーです。

もしoracleユーザーからインストールしている場合:

$ vi $HOME/.bash_profile

次の行を追加/編集します。

export ORACLE_HOME=/path/to/your/installdir
export ORACLE_BASE=/base/dir
export ORACLE_OWNER=user
export ORACLE_SID=database
export ORACLE_TERM=xterm
export TNS_ADMIN=/path/to/your/installdir/network/admin
export LD_LIBRARY_PATH=$HOME/instantclient_10_2/

しかし、oracleユーザーからインストールしていない場合、上記のケースでは:

$ vi $HOME/.bash_profile

そしてこの行だけ:

export LD_LIBRARY_PATH=$HOME/instantclient_10_2/

これで環境設定は完了です。

3. Apacheをインストールする:

次に、あなたのマシンでコンパイルするためにApacheソースをダウンロードする必要があります。こちらがダウンロードリンクです:

http://httpd.apache.org/download.cgi

私はApache1.3を使用しています。どのApacheバージョンをダウンロードするかはあなた次第ですが、まだ人々はApache1.3を推奨していますので、私はこの推奨に従います。

Apache tarを開くには、あなたのApacheリリースに応じてファイル名を変更します:

$ tar zxvf apache1.3....tar.gz  
$ cd apache1.3...  
$ ./configure --prefix=$HOME/apache --enable-so --with-mpm=prefork --with-port=8888

必要に応じてポートを変更できますが、80にすることは避けてください。ただし、これは本番サーバーでは試さないでください。

$ make  
$ make install

これでApacheの設定は完了です。

4. PHPをインストールする:

選択したPHPのソースバージョンを次のリンクからダウンロードできます。

http://www.php.net/downloads.php

私の推奨はPHP4.3.Xで、私はサーバー用にPHP 4.3.4を使用しています。tarを開くには、次のようにします:

$ tar zxvf php4.3.4..tar.gz  
$ cd php4.3.4  
$ ./configure --prefix=$HOME/php --with-apxs=$HOME/apache/bin/apxs --with-mysql=/usr --with-config-file-path=$HOME/apache/conf --with-oci8-instant-client=$HOME/instantclient_10_2 --enable-sigchild  
$ make  
$ make install  
$ cp php.ini-recommended $HOME/apache/conf/php.ini

次の行を$HOME/apache/conf/httpd.confファイルに追加します:

      AddType application/x-httpd-php         .php
      AddType application/x-httpd-php-source  .phps

Apacheを再起動します:

$ $HOME/apache/bin/apachectl start

拡張機能が設定されているか確認するために、ウェブサーバーが読み取れる場所に簡単なPHPスクリプトphpinfo.phpを作成します。

スクリプトを「http://」URLを使用してブラウザに読み込ませます。ブラウザのページには「oci8」セクションが表示され、「OCI8 Support enabled」と表示されるはずです。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。