UbuntuにPDO-OCIを設置してPXを使えるようにする

このエントリは,ほぼ完全に僕のための構築メモです。Ubuntu に Oracle のクライアントを入れて,PDOから使えるようにして,PXの開発環境を整えます。

Oracle Instant Client のインストール

https://help.ubuntu.com/community/Oracle%20Instant%20Client を参考にインストール。

    $ sudo apt-get install apache2
    $ sudo apt-get install php5 libapache2-mod-php5
    $ sudo service apache2 restart

https://help.ubuntu.com/community/Oracle%20Instant%20Client からrpmファイルをダウンロードする。

  • oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
  • oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
  • oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm

alien が必要なので入ってなければインストール。

$ sudo apt-get install alien

alienを使うとrpmからインストールできるらしいです。

    $ sudo alien -i oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm 
    $ sudo alien -i oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm 
    $ sudo alien -i oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm 

basicのインストールは結構時間がかかりました。

    $ sudo gvim /etc/ld.so.conf.d/oracle.conf

次の1行を追加。

    /usr/lib/oracle/11.2/client/lib/

ldconfigを実行する。

    $ sudo ldconfig

環境変数の指定。

$ sudo gvim /etc/profile.d/oracle.sh
    export ORACLE_HOME=/usr/lib/oracle/11.2/client
    export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
$ . /etc/profile.d/oracle.sh 

Oracle Homeディレクトリとincludeディレクトリの位置確認。

    $ ls $ORACLE_HOME
    bin  lib

    $ ls -d /usr/include/oracle/*/client
    /usr/include/oracle/11.2/client

シンボリックリンクの追加。

    $ sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include

PDO-OCIのインストール

http://www.sunvisor.net/node/406

を参考にインストール。 基本的には同じ操作をします。 違う点は,iniファイルの場所は,/etc/php.d ではなく /etc/php5/conf.d であること など,Centとubuntuによる違い。

xFrameworkPXを使う準備

UserDir/Rewriteモジュールを有効化します。ubuntuの場合はこうしたコマンドがあるのですね。

    $ sudo a2enmod userdir
    $ sudo a2enmod rewrite

UserDirの設定。後ほど関係してきます。

<IfModule mod_userdir.c>
        UserDir "/home/sunvisor/devsite/*/public_html"

        <Directory "/home/sunvisor/devsite/*/public_html">
                AllowOverride All
                Options Indexes FollowSymLinks Includes ExecCGI
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

Apache再起動。

$ sudo service apache2 restart

xFrameworkPXを取得

$ cd ~/gitrep
$ git clone https://github.com/xenophy/xFrameworkPX

開発サイト作成。$HOMEの下にdevsiteディレクトリを作成し, そのディレクトリのサブフォルダがプロジェクトになる。 ブラウザからは,http://localhost/~hoge でアクセスする。 先ほどのUserDirの設定が生きてくる。

$ mkdir devsite

PXサイトを初期作成するスクリプト

    #!/bin/sh
    PXLib=/home/sunvisor/gitrep/xFrameworkPX
    mkdir $1
    ln -s $PXLib/bindtransfer/ $1/bindtransfer
    ln -s $PXLib/library/ $1/library
    cp -r $PXLib/behaviors/ $1/behaviors
    cp -r $PXLib/configs/ $1/configs
    cp -r $PXLib/console/ $1/console
    cp -r $PXLib/controllers/ $1/controllers
    cp -r $PXLib/locales/ $1/locales
    cp -r $PXLib/modules/ $1/modules
    cp -r $PXLib/public_html/ $1/public_html
    cp -r $PXLib/templates/ $1/templates
    cp -r $PXLib/tests/ $1/tests
    cp -r $PXLib/webapp/ $1/webapp
    ln -s /home/sunvisor/ext-4.0.2a $1/webapp/ext4
    mkdir $1/cache
    chmod 777 $1/cache
    mkdir $1/logs
    chmod 777 $1/logs
    sed -i "s/xFrameworkPX/"$1"/g" $1/public_html/.htaccess

このスクリプトを叩くと,PXのプロジェクトが作られます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です