このエントリは,ほぼ完全に僕のための構築メモです。Ubuntu に Oracle のクライアントを入れて,PDOから使えるようにして,PXの開発環境を整えます。
Oracle Instant Client のインストール
https://help.ubuntu.com/community/Oracle%20Instant%20Client
を参考にインストール。
[bash]
$ sudo apt-get install apache2
$ sudo apt-get install php5 libapache2-mod-php5
$ sudo service apache2 restart
[/bash]
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 が必要なので入ってなければインストール。
[bash]
$ sudo apt-get install alien
[/bash]
alienを使うとrpmからインストールできるらしいです。
[bash]
$ 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
[/bash]
basicのインストールは結構時間がかかりました。
[bash]
$ sudo gvim /etc/ld.so.conf.d/oracle.conf
[/bash]
次の1行を追加。
[text]
/usr/lib/oracle/11.2/client/lib/
[/text]
ldconfigを実行する。
[bash]
$ sudo ldconfig
[/bash]
環境変数の指定。
[bash]
$ sudo gvim /etc/profile.d/oracle.sh
[/bash]
[text]
export ORACLE_HOME=/usr/lib/oracle/11.2/client
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
[/text]
[bash]
$ . /etc/profile.d/oracle.sh
[/bash]
Oracle Homeディレクトリとincludeディレクトリの位置確認。
[bash]
$ ls $ORACLE_HOME
bin lib
$ ls -d /usr/include/oracle/*/client
/usr/include/oracle/11.2/client
[/bash]
シンボリックリンクの追加。
[bash]
$ sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include
[/bash]
PDO-OCIのインストール
http://www.sunvisor.net/node/406
を参考にインストール。
基本的には同じ操作をします。
違う点は,iniファイルの場所は,/etc/php.d ではなく /etc/php5/conf.d であること
など,Centとubuntuによる違い。
xFrameworkPXを使う準備
UserDir/Rewriteモジュールを有効化します。ubuntuの場合はこうしたコマンドがあるのですね。
[bash]
$ sudo a2enmod userdir
$ sudo a2enmod rewrite
[/bash]
UserDirの設定。後ほど関係してきます。
[text]
<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>
[/text]
Apache再起動。
[bash]
$ sudo service apache2 restart
[/bash]
xFrameworkPXを取得
[bash]
$ cd ~/gitrep
$ git clone https://github.com/xenophy/xFrameworkPX
[/bash]
開発サイト作成。$HOMEの下にdevsiteディレクトリを作成し,
そのディレクトリのサブフォルダがプロジェクトになる。
ブラウザからは,http://localhost/~hoge でアクセスする。
先ほどのUserDirの設定が生きてくる。
[bash]
$ mkdir devsite
[/bash]
PXサイトを初期作成するスクリプト
[bash]
#!/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
[/bash]
このスクリプトを叩くと,PXのプロジェクトが作られます。