CentOS-4.6 のパッケージでは、PHP が OpenX の動作要件を満たしていないため、Plus リポジトリで配布されている PHP5 を導入します。先にも述べましたが、PHP4 は 2008年8月 8日 までにセキュリティ サポートが終了します。
これを機に PHP5 の導入をお勧めします。また、PHP5 へ移行するにあたり、PHPで動作するCMS 等、正しく動作しなくなる恐れがあります。それぞれの判断で行う必要がります。ちなみに、ここで紹介しているphpGroupWareは動作しなくなりました。
MySQL や PostgreSQL 等、PHP に依存する環境は影響を受けます。既にこれらのサービスを利用している場合は注意が必要です。
CentOS などの Enterprise Linux クラスのクローンOS の魅力はパッケージ管理です。やはり yum パッケージ管理ツールでメンテナンスを行いたいので、Plus リポジトリで配布されている PHP5 を利用します。
yum パッケージ管理ツールで行うリポジトリに関する設定は、
/etc/yum.repos.d/CentOS-Base.repo で行います。
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$省略
#baseurl=http://mirror.centos.org/centos/$省略
gpgcheck=1
# enabled=0 コメントアウトして 1 に変更します。
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=2
protect=1
以下の yum update コマンドを実行しする事で、PHP5 になります。
この時 PHP と依存関係にあるパッケージもアップデートされます。リストが表示されるので、サーバーの運用情况とサービスの重要性を考えてくれぐれも慎重に判断してください。セットアップされているパッケージによって異なります。
このままだと、yum update を実行した際、導入している全てのパッケージがアップデートの対象となってしまいます。PHP5 だけ yum update の対象にしたい場合は、以下の修正を行っておく必要があります。
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$省略
#baseurl=http://mirror.centos.org/centos/$省略
gpgcheck=1
# enabled=0 コメントアウトして 1 に変更します。
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
priority=2
protect=1
includepkgs=php* (追加変更)
これで yum update 実行時にチェックされる Plus リポジトリは、PHP 関連のパッケージのみに限定する事が出来ます。この変更を行わない場合は、Plus リポジトリに存在する全てのパッケージがアップデートの対象となります。
php.ini は新しいファイルに置き換わりますので必要な修正、対策を忘れずに
セットアップの手順は一般的な CMS と同様で、PHPが実行可能な WEB サーバーの公開ディレクトリに設置し、ウィザードに従ってセットアップを行います。
必ずしも運用しているサイトと同じルートに設置する必要はありませんし、同一のサーバーである必要もありません。規模やアクセス数、管理方法によりますが、負荷が高いため専用のサーバーで構築される方が望ましいと思います。
構築する環境によっては取得できる広告コードに違いはあります。広告を配信するサーバーが異なる場合も同じです。
OpenX が使用するデータベースを事前に準備しておきます。ここでは割愛します。phpMyAdmin を利用したデータベースの作成方法は、以下で説明していますので参考にして下さい。
参照 => ユーザー参加型高機能フォーラム phpBB2 を導入する
OpenX 専用の MySQL アカウントを作成し、このアカウントが権限をもつデータベースを事前に作成しておきます。
OpenX を設置するディレクトリを /hogehoge/www/openx と仮定します。以下は Apahce 2系 の設定例ですが、最低限、セットアップ時のシステムへのアクセス制限は行うようにします。
Alias /openAds/ "/hogehoge/www/openx/"
<Directory /hogehoge/www/openx/>
AllowOverride AuthConfig FileInfo
# openAds では register_argc_argv を On にする必要があります。
# php5 ではデフォルトで off に変更されていたためモジュール側で有効に。
php_flag register_argc_argv On
# ディレクトリへの接続制限
order deny,allow
deny from all
allow from 192.168.1.201 127.0.0.1
</Directory>
httpd が apache 権限で動作している場合、以下のようにして所有権を apache に変更しておきます。
/hogehoge/www/openx/var ディレクトリ は apache ユーザーに書き込み権限が必要になります。初回セットアップ時にデータベースへの接続情報を記録したファイルがここに生成されます。
ホスティングサービス等、FTPでアップロードするケースでは 777 にする必要があります。 php_flag register_argc_argv に関しても .htaccess で指定可能かサポートに問い合わせる必要があります。