前回に引き続き、Zend Frameworkを利用したWebアプリケーション構築のための開発環境を整えます。今回はZend Frameworkをインストールし、その他開発環境全般を整えます。
Zend Frameworkのインストール
One-Click InstallerでインストールしたApache/PHPは、PostgreSQLをインストールしたフォルダと同じフォルダにあります。
php.iniのinclude_pathは設定されていないので、php.iniを編集する必要があります。
Zend Frameworkのダウンロードは
から行います。
Zend FrameworkのアーカイブはZIPまたはtar.gz形式の圧縮ファイルになっています。これを
に解凍します[1]。 ここにはPEAR(PHP標準のライブラリ)ライブラリがインストールされています。後でこのパスをinclude_pathに追加するので、ここに解凍します。
以下のようなディレクトリ構成を持つフォルダが作られます。
ZendFramework-1.7.2/library/ZendにZend Frameworkのクラスファイルが保存されています。通常はこのフォルダをPHPのincludeパスが通っているパスにコピーするかシンボリックリンクを作成します。
Linux/Macの場合はシンボリックリンクがよいでしょう。
Windowsの場合はZendフォルダをコピーしてください。
インクルードパスの設定
次にphp.iniを編集してinclude_pathを変更します。
にphp.iniファイルがあるので、テキストエディタで開きます。
include_pathの行を探し、以下のように修正します。
Apacheの再起動
php.iniへの変更を反映するにはApacheの再起動が必要です。メニューやアプリケーションフォルダの中から再起動用のスクリプトを実行します。
「PostgreSQL」→「EnterpriseDB ApachePhp」→「Restart Apache」
コマンドラインからも実行できます。
設定の確認
Apacheのドキュメントルート(Linuxの場合:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www)に以下のファイルを作成します。
ウェブブラウザにアクセスしてphpinfo()のページが表示され、include_path設定が正しく表示されていれば設定完了です。
- http://localhost:8080/phpinfo.php
zfコマンドの設定
Zend Framework 1.7にはコード生成を行うzfコマンドのプレビュー版が添付されています。1.7のzfコマンドは非常に簡単なコードしか生成できませんが、利用可能にしておくと便利なので設定します。
zfコマンドを実行するにはphpコマンドがパスの中になければなりません。One-Clickインストーラはパスを設定しないので追加する必要があります。別の方法でphp 5.2をインストールし、phpコマンドが実行できる場合はパスの設定は必要ありません。
- Linux
.bash_profileのPATH環境変数に以下のパスを追加する
- Windows
マイコンピュータの「プロパティ」→「詳細設定」→「システム環境変数」のPATHに以下のパスを追加する
- Mac
.bash_profileを作成して以下の設定を追加する
これで準備は完了です。
ホームディレクトリ以下にbinディレクトリがなければ作成します。
zfコマンドを実行してヘルプが表示されれば正しく設定されています。
Eclipse PDTのインストール
Eclipse PDTはPHP用の開発環境です。リファクタリングなどの機能はありませんが、シンタックスハイライティングなど、最小限の機能は備えています。
バージョン管理ツールのMercurialもEclipseから利用するので、Mercurialに必要なGnuPG(暗号化、署名ツール)とMercurial本体を先にインストールします。バージョン管理ツールを利用されていない方もいると思いますが、バージョン管理ツールなしでシステム開発をするのは無駄が多すぎます。Mercurialは完全に分散型のバージョン管理ツールなので、サーバは必要ありません。非常に簡単に利用できるので、今までバージョン管理ツールを利用されたことがない方にもお薦めです。
Mercurialのインストール
Linux環境としてCentOS 5を利用していますが、デフォルトのレポジトリにはMercurialは入っていません。EPEL(Extra Package for Enterprise Linux)のレポジトリにはバージョン0.9.3という古いバージョンしか用意されていません。このバージョンでも特に大きな問題はありませんので、気にならない方はEPELのパッケージを利用されても構いません。
筆者はFedora10のmercurial SRPMをインストールし、スペックファイルを調整して1.1.2をインストールしました。
最近のLinuxシステムであれば
または
とすればmercurialがインストールできます。
Windowsにはバイナリパッケージが用意されているのでバイナリパッケージをインストールします。インストーラが利用できるので簡単にインストールできます。インストールするとmercurialのhgコマンドが保存されたパスが環境変数PATHに追加されます。
Macの場合はMacPortsが利用できます。既にMacPortsがインストールされている環境であれば
とすればインストールできます。
インストールが完了するとhgコマンドが利用できるようになっているはずです。
などとバージョン番号が表示されればインストール完了です[2]。
mercurialはほぼpythonで書かれたプログラムなので、pythonのインストールシステムも利用できます。詳しくはmercurialのホームページを参照してください。
GnuPG
現在利用されているLinuxシステムであれば、パッケージ管理システムでGnuPGをインストールできます。
または
とするだけです。
Windowsの場合はバイナリパッケージが用意されています。インストーラも用意されているので簡単にインストールできます。筆者はGnuPGホームページのdownloadページからリンクされているバイナリパッケージを利用しました。
Macの場合はMacPortsが利用できます。既にMacPortsがインストールされている環境であれば
としてインストールできます。GnuPGのホームページからMacGPGもダウンロードできますが、コマンドが必要なのでportが利用できる場合はportコマンド利用してインストールしたほうが便利でしょう。
インストールが完了していればgnupgコマンドが利用できるようになっています。
などとバージョン番号が表示されればインストール完了です[3]。
詳しくはGnuPGのホームページを参照してください。
Eclipse PDTのインストール
Eclipseのパッケージ管理システムからPDTをインストールすることも可能ですが、手間がかかったり、パッケージのインストールに失敗することがあるので、すべて入っているAll-In-Oneと呼ばれるアーカイブを利用します。
EclipseはJavaを利用しています。システムにJavaがインストールされていない場合は
にアクセスしてJVMをインストールしてください。EclipseではSUNまたはIBMのJVM 1.5.0以上を推奨していますが、Open JDKでも問題なく動作します。ただし、GCJではEclipse PDTは動作しないので注意してください。
を実行してバージョン番号が表示されていればインストールされています。
必要なJVMがインストールされていれば、Eclipse PDTのサイトからAll-In-Oneパッケージをダウンロードして展開し、eclipseフォルダの中のeclipseを実行するだけです。
にアクセスするとダウンロードページが表示されます。最新のAll-In-Oneパッケージをダウンロードします。執筆時点(2009/1/3)の最新安定版は2.0です。Linux/Windows/Mac用のパッケージが用意されています[5]。
elipseコマンドを実行してEclipseが開けばEclipseのmercurialプラグインのインストールが行えます。
Workbenchを開いて、「File」→「New」→「Project」を選択するとプロジェクトにPHPが選択できることがわかります。
Mercurial Eclipseのインストール
Mercurial、GnuPG、Eclipseのインストールが終了したので、バージョン管理システムのEclipseプラグインをインストールできます。
- ホームページ
- http://www.vectrace.com/mercurialeclipse/
インストール方法はほかのEclipseプラグインと同じです。
「Help」→「Software Updates」→「Find and install...」
から
「Search for new features to install」
を選択し
[New Remote site...]
ボタンを押して
http://www.vectrace.com/eclipse-update/
を新しいリモートサイトとして登録し、Mercurial Eclipseを選択します。
[Install]ボタンを押すとウィザードが開始され、指示通りに操作するとインストールされます。
Mercurial Eclipseの動作確認
「File」→「New」→「Project」からPHPプロジェクトを作成します。すべてデフォルトでプロジェクトで大丈夫です。
新しく作成したプロジェクトを右クリックし、コンテクストメニューの「Team」を選択します。「Share Project」を選ぶと「CVS」と「Mercurial」を選択するダイアログが開きます。Mercurialを選ぶとプロジェクトのバージョン管理ができるようになります。CVSはサーバが必要ですが、Mercurialは必要ありません。
バージョンを管理したいフォルダやファイルを右クリックし、「Team」を選択し、「Add」を選ぶとバージョン管理対象として登録されます。変更をリポジトリ(バージョン管理システムのデータベース)に登録するには「Team」の「Commit」を選択します。変更がどのような変更なのか記入するダイアログが開くのでコメントを記入し、[OK]ボタンを押して変更を登録します。
コミットした変更と現在のファイルとの差分はファイルを右クリックして「Compare with」→「Parent Changeset」を選択すると違いが確認できます。
Eclipseからは複数のファイルの差分を一度に参照できないので、差分を一度に見たい場合はターミナルから
と入力します。cvsやsubversionを利用していた方なら、cvs/svnコマンドをhgに置き換えるだけで基本的な操作ができます。
詳しくはMercurialのマニュアルなどを参照してください。
開発環境の仕上げ
最後に開発環境の仕上げを行います。テスト用のアプリケーションディレクトリとして/www/testを用意し、Apacheの設定を調整します[6]。
“/www/”ディレクトリを作成します。
ユーザ権限で編集できるように権限を変更します。
zfコマンドでtestアプリケーションディレクトリを作成します。
これで、アプリケーションのスケルトンが作成されます。
次にApacheのDocumentRootとTCPポート設定を変更します。
などとしてhttpd.confを開きます。
を
を
を
を
に書き換えます。
.htaccessによるmod_rewrite設定が必要なので
設定の中にある
を
と書き換えます[7]。
アプリケーションメニューの「PostgreSQL」→「Enterprse DB ApachePHP」→「Restart Apache」を実行して再起動します。
http://localhost/ にブラウザでアクセスして
Hello from the index view script.
と表示されればインストール完了です。
まとめ
前回・今回と2回に渡って、Zend Frameworkを利用したアプリケーションを作るための環境を準備しました。Linux、Windows、Macでほぼ同じ環境が作れます。しかし、初めて環境を作る場合は手順にしたがって行っても、それなりの時間がかかります。簡単に開発環境が用意できるよう、設定済みのCentOSのvmwareイメージを公開しています。詳しくは、筆者のWiki
をご覧ください。VMware Playerをインストールすればどなたでも自由にご利用いただけます。ただし、開発環境用に調整しているので、安全な設定とはいえません。決してインターネットに公開しないようにしてください。
すべての質問にはお答えできませんが、不具合や質問などは筆者のブログなどでできる限りサポートします。質問内容は公開させていただく場合があります。あらかじめご了承ください。