System iでPHPが使用できるようになったのは単に新しいウェブ開発ツールが使用できるようになったということ以上の意味があります。System
iのユーザーは何千というオープンソースのアプリケーションをすぐに無償で選択することができるようになるのです。
本稿では、IBMのオフィシャルPHPディストリビューションであるZend Core for i5/OSをインストール、設定することで、オープンソース・ソフトウェアを有効に利用するためのヒントをご紹介します。特にSystem
iの観点に重きをおき、ウェブのコンテンツ、データベース、バグなどを管理するために、選択したアプリケーションをどのようにインストールするかをご説明します。オープンソースのPHPプログラムのほとんどはデータベースにMySQLを使用していますので、MySQLをインストールするのに必要な情報もご紹介します。
本稿でご紹介するアプリケーションはいずれもGNU General Public License
(GPL
- gnu.org/copyleft/gpl.html)の下で無償で利用できます。このライセンスでは、アプリケーションの使用に制限はありません。ただしプログラムを修正して一般に公開した場合は、GPLの下で無償でリリースしなければなりません。こうしたソフトウェアを単に利用してみたいというだけならば、この規約は特に影響を及ぼしません。
このApacheインスタンスは標準のIBM i5ウェブ・サーバーで、ILE環境内にあります。このインスタンスはポート89番をリッスンし、ジョブ名はZENDCOREです。Zend社のIBM
System iプロジェクト・マネージャのサム・ピンカソフ氏によれば、IBMとZendがこの2つ目のインスタンスを作成したのは、SSL暗号化などといった既存のSystem
i機能とPHPをユーザーが統合できるようにという理由だそうです。このインスタンスはリバース・プロキシを介してPHPが利用できるサーバーに接続します。ウェブ・ブラウザが自分のIPアドレスまたはドメイン名(たとえばhttp://www.example.org:89)からサンプルのホームページにアクセスができるか確認してください。
本稿でご紹介する他のアプリケーションをインストールする前に、MySQLデータベース・サーバーをインストールしておかなければなりません。PHPはDB2
for i5/OSなど一般的なデータベースのほとんどと一緒に動作します。オープンソースの世界ではMySQLの評判が良く、フリーな使用を許可しているライセンスでもあるため、オープンソースのPHPアプリケーションのほとんどがMySQLを使用しています。
ZendもIBMもMySQLをサポートしていませんが、共にMySQL用の便利な環境を提供しています。Zend Core for i5/OSにはMySQLの拡張があり、PHPがMySQLを使用できるようにしています。ZendはMySQLをZend
Platform用の内部データベースとして使用しています。Zend PlatformはPHPのパフォーマンスと信頼性を強化するためのアドオンツールとしてZendが開発、販売しているものです。
MySQL v5の機能(たとえばストアード・プロシージャ)が必要な場合は、PASE環境で作業するとその便利さがわかるでしょう。もしくはMySQLの機能についてより詳しく勉強し、マニュアルでインストールすると良いかもしれません。詳細はZend
Developer Zone (devzone.zend.com/node/view/id/609)にある「MySQL
On i5/OS Example」を参照してください。
$cfg['Servers'][$i]['auth_type'] = 'http';
// comment out the next two lines
because user will log in each time//$cfg['Servers'][$i]['user'] = '
//$cfg['Servers'][$i]['password'] = ';
6. config.inc.phpを保存します。
7.
http://www.example.org:89/phpmyadmin/を表示して、ご自分のMySQLユーザー名(おそらく「root」)とパスワードでログインします。するとphpMyAdminのメイン・ページが表示されるはずです(図5)。「Wrong
permissions on configuration file, should not be world writable!」というメッセージが表示されたら、config.inc.phpへのアクセス権限を緩和する必要があります。WRKLNKを使用し、オプション9
(権限)を選択して*PUBLICの権限を*R (読み込みのみ)に変更します。
4. http://www.example.org:89/mantis/admin/install.phpを表示させます。type of
database =MySql、hostname = localhost、username = rootの値はそのままにしておきます。MySQLのルート・ユーザー用に設定した(データベース用の)パスワードがあればそれを入力します。データベース名は「bugtracker」のままにしておきます。管理者ユーザー名と管理者パスワードには(ここでも)「root」とrootのパスワードを使用してください。Print
SQL Queries instead of Writing to the Databaseのチェック・ボックスが外れていることを確認してください。Install/Upgrade
Databaseをクリックします。
1. dragonflycms.orgで[Downloads]-[Core]-[CVS
Snapshots]をクリックします。
HTML [.tar.gz]をクリックします。エントリーの日付がSun May 01, 2005 2:05 a.mとなっていて最近の日付になっていなくても、ソフトウェア自体は新しくなっていました。
6. スクリプトがdragonfly という名前のMySQLデータベースを追加します。万が一追加に失敗しても、phpMyAdminで作成することが可能です。データベースが追加されたら、「Database
connection succeeded.」というメッセージが表示されるはずです。[Next]-[ Let's build the database]をクリックします。「The
database has been properly installed, now let's set up some necessary
information!」というメッセージが表示されるまでは画面上の値をデフォルトのままにして進みます。[Necessary info]をクリックします。「Let's
set up the necessary info:」で始まる、設定の一覧が表示されます(図6)。変更しなければならない設定はSite
Name (好きな名前に設定してください)、Administrator E-mail (有効なメール・アドレス)とCookie domainで、デフォルトがexample.org:89のような値になっているはずです。:89を削除してexample.org
は残しておきます。
7. 設定をテストします。特にクッキーの設定についてテストしてください。テストがうまくいけば、管理者用のアカウントを作成するように指示されます。管理者用のユーザー名とパスワードを選択します。パスワードには少なくとも大文字の英字が1つ、小文字が1つ、数字が1つそれぞれ含まれていなければなりません。タイムゾーンを選択し、[Yes,
create regular user with data]を選択します。
8. 画面上に表示されるセキュリティに関するアドバイスに続き、install.phpとinstallフォルダを削除します。次に[Enter
my site to set everything up]をクリックして管理用ページ(http://www.example.org:89/dragonfly/admin.php)を表示させます。
アラン・セイデン氏はニュージャージー州北部にあるIT企業のコンサルタント兼開発者として、創造的なソフトウェアを顧客に紹介する役目を担っています。同氏はNew
York PHPのメンバーでもあり、System i上のPHPについて幅広く執筆しています。また、New York City Usability
Professionals Associationの副会長も務め