前回に引き続き、Zend Frameworkを利用したWebアプリケーション構築のための開発環境を整えます。今回はZend Frameworkをインストールし、
Zend Frameworkのインストール
One-Click InstallerでインストールしたApache/

php.
Zend Frameworkのダウンロードは
から行います。

Zend FrameworkのアーカイブはZIPまたはtar.
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php
に解凍します
以下のようなディレクトリ構成を持つフォルダが作られます。
ZendFramework-1.7.2/ ZendFramework-1.7.2/demos ZendFramework-1.7.2/demos/Zend ZendFramework-1.7.2/externals ZendFramework-1.7.2/externals/dojo ZendFramework-1.7.2/incubator ZendFramework-1.7.2/incubator/library ZendFramework-1.7.2/incubator/bin ZendFramework-1.7.2/incubator/tests ZendFramework-1.7.2/library ZendFramework-1.7.2/library/Zend ZendFramework-1.7.2/extras ZendFramework-1.7.2/extras/library ZendFramework-1.7.2/extras/tests ZendFramework-1.7.2/extras/documentation ZendFramework-1.7.2/tests ZendFramework-1.7.2/tests/Zend
ZendFramework-1.
Linux/
$ cd /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php $ ln -s ZendFramework-1.7.2/library/Zend
Windowsの場合はZendフォルダをコピーしてください。
インクルードパスの設定
次にphp.
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/php.ini
にphp.
include_path=".:/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php"
include_path=".:/Library/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php"
include_path = ".;C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\php\lib\php"
※Windowsの場合、
Apacheの再起動
php.
「PostgreSQL」→
コマンドラインからも実行できます。
sudo /opt/PostgreSQL/EnterpriseDB-ApachePhp/scripts/ctlApache.sh restart
設定の確認
Apacheのドキュメントルート
<?php phpinfo() ?>
ウェブブラウザにアクセスしてphpinfo()のページが表示され、
- http://
localhost:8080/ phpinfo. php

zfコマンドの設定
Zend Framework 1.
zfコマンドを実行するにはphpコマンドがパスの中になければなりません。One-Clickインストーラはパスを設定しないので追加する必要があります。別の方法でphp 5.
- Linux
.bash_
profileのPATH環境変数に以下のパスを追加する /opt/
PostgreSQL/ EnterpriseDB-ApachePhp/ php/ bin - Windows
マイコンピュータの
「プロパティ」→ 「詳細設定」→ 「システム環境変数」 のPATHに以下のパスを追加する c:\Program Files\PostgreSQL\php
※Zend Framework 1.
7.2のzf. batは正常に動作していないようです。 - Mac
.bash_
profileを作成して以下の設定を追加する # .bash_
profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/Library/PostgreSQL/EnterpriseDB-ApachePhp/php/bin export PATH
これで準備は完了です。
ホームディレクトリ以下にbinディレクトリがなければ作成します。
$ cd ~/bin $ ln -s /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/ZendFramework-1.7.2/incubator/bin/zf.sh zf
※Macの場合は/optを/Libraryに変える
zfコマンドを実行してヘルプが表示されれば正しく設定されています。
[framework@localhost $ zf An action and provider is required. Usage: zf <global options> <action name> <action options> <provider name> <provider options> (show) profile (create) project (show|display|show|display|show|show) version (list) providers
Eclipse PDTのインストール
Eclipse PDTはPHP用の開発環境です。リファクタリングなどの機能はありませんが、
バージョン管理ツールのMercurialもEclipseから利用するので、
Mercurialのインストール
Linux環境としてCentOS 5を利用していますが、
筆者はFedora10のmercurial SRPMをインストールし、
[framework@localhost PHP-ZendFramework]$ rpm -qa | grep mercurial mercurial-debuginfo-1.1.2-1 mercurial-1.1.2-1 mercurial-hgk-1.1.2-1
最近のLinuxシステムであれば
sudo yum install mercurial
または
sudo apt-get install mercurial
とすればmercurialがインストールできます。
Windowsにはバイナリパッケージが用意されているのでバイナリパッケージをインストールします。インストーラが利用できるので簡単にインストールできます。インストールするとmercurialのhgコマンドが保存されたパスが環境変数PATHに追加されます。
Macの場合はMacPortsが利用できます。既にMacPortsがインストールされている環境であれば
sudo port install mercurial
とすればインストールできます。
インストールが完了するとhgコマンドが利用できるようになっているはずです。
[framework@localhost www]$ hg --version Mercurial Distributed SCM (version 1.1.2)
などとバージョン番号が表示されればインストール完了です mercurialはほぼpythonで書かれたプログラムなので、
GnuPG
現在利用されているLinuxシステムであれば、
sudo yum install gnupg
または
sudo apt-get install gnupg
とするだけです。
Windowsの場合はバイナリパッケージが用意されています。インストーラも用意されているので簡単にインストールできます。筆者はGnuPGホームページのdownloadページからリンクされているバイナリパッケージを利用しました。
Macの場合はMacPortsが利用できます。既にMacPortsがインストールされている環境であれば
sudo port install gnupg
としてインストールできます。GnuPGのホームページからMacGPGもダウンロードできますが、
インストールが完了していればgnupgコマンドが利用できるようになっています。
[framework@localhost www]$ gpg --version gpg (GnuPG) 1.4.5
などとバージョン番号が表示されればインストール完了です 詳しくはGnuPGのホームページを参照してください。
Eclipse PDTのインストール
Eclipseのパッケージ管理システムからPDTをインストールすることも可能ですが、
EclipseはJavaを利用しています。システムにJavaがインストールされていない場合は
にアクセスしてJVMをインストールしてください。EclipseではSUNまたはIBMのJVM 1.
java -version
を実行してバージョン番号が表示されていればインストールされています。
必要なJVMがインストールされていれば、
にアクセスするとダウンロードページが表示されます。最新のAll-In-Oneパッケージをダウンロードします。執筆時点 elipseコマンドを実行してEclipseが開けばEclipseのmercurialプラグインのインストールが行えます。 Linux 64bit版は用意されていません。

Workbenchを開いて、

Mercurial Eclipseのインストール
Mercurial、
インストール方法はほかのEclipseプラグインと同じです。
「Help」→
から
「Search for new features to install」
を選択し
[New Remote site...]
ボタンを押して
http://
を新しいリモートサイトとして登録し、

[Install]
Mercurial Eclipseの動作確認
「File」→
新しく作成したプロジェクトを右クリックし、
バージョンを管理したいフォルダやファイルを右クリックし、
コミットした変更と現在のファイルとの差分はファイルを右クリックして

Eclipseからは複数のファイルの差分を一度に参照できないので、
$ hg diff
と入力します。cvsやsubversionを利用していた方なら、
$ hg status $ hg commit
詳しくはMercurialのマニュアルなどを参照してください。
開発環境の仕上げ
最後に開発環境の仕上げを行います。テスト用のアプリケーションディレクトリとして/www/
Zend Framework 1.
“/www/”
$ sudo mkdir /www
ユーザ権限で編集できるように権限を変更します。
$ sudo chown framework:framework /www
zfコマンドでtestアプリケーションディレクトリを作成します。
$ zf create project
これで、
$ ls -la 合計 12 drwxrwxr-x 5 yohgaki yohgaki 72 2009-01-19 09:43 . drwxr-xr-x 59 yohgaki yohgaki 4096 2009-01-19 09:49 .. -rw-rw-r-- 1 yohgaki yohgaki 1724 2009-01-19 09:43 .zfproject.xml drwxrwxr-x 6 yohgaki yohgaki 83 2009-01-19 09:43 application drwxrwxr-x 3 yohgaki yohgaki 17 2009-01-19 09:43 library drwxrwxr-x 2 yohgaki yohgaki 38 2009-01-19 09:43 publ
$ ls -la application/ 合計 4 drwxrwxr-x 6 yohgaki yohgaki 83 2009-01-19 09:43 . drwxrwxr-x 5 yohgaki yohgaki 72 2009-01-19 09:43 .. -rw-rw-r-- 1 yohgaki yohgaki 1576 2009-01-19 09:43 bootstrap.php drwxrwxr-x 2 yohgaki yohgaki 6 2009-01-19 09:43 configs drwxrwxr-x 2 yohgaki yohgaki 58 2009-01-19 09:43 controllers drwxrwxr-x 2 yohgaki yohgaki 6 2009-01-19 09:43 models drwxrwxr-x 4 yohgaki yohgaki 34 2009-01-19 09:43 views
$ ls -la library/ 合計 4 drwxrwxr-x 3 yohgaki yohgaki 17 2009-01-19 09:43 . drwxrwxr-x 5 yohgaki yohgaki 72 2009-01-19 09:43 .. drwxrwxr-x 52 yohgaki yohgaki 4096 2009-01-19 09:43 Zend
$ ls -al public/ 合計 8 drwxrwxr-x 2 yohgaki yohgaki 38 2009-01-19 09:43 . drwxrwxr-x 5 yohgaki yohgaki 72 2009-01-19 09:43 .. -rw-rw-r-- 1 yohgaki yohgaki 212 2009-01-19 09:43 .htaccess -rw-rw-r-- 1 yohgaki yohgaki 247 2009-01-19 09:43 index.php
次にApacheのDocumentRootとTCPポート設定を変更します。
$ sudo vi /opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/conf/httpd.conf
などとしてhttpd.
Listen 8080
を
Listen 80
ServerName localhost:8080
を
ServerName localhost:80
DocumentRoot "/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www"
を
DocumentRoot "/www/default/public"
<Directory "/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www">
を
<Directory "/www/default/public">
に書き換えます。
.htaccessによるmod_
<Directory "/www/default/public">
設定の中にある
AllowOverride None
を
AllowOverride All
と書き換えます
開発環境用に.htaccessによるすべての変更を許可しています。運用環境では最小限の権限を与えるようにしてください。
アプリケーションメニューの
http://
Hello from the index view script.
と表示されればインストール完了です。

まとめ
前回・
をご覧ください。VMware Playerをインストールすればどなたでも自由にご利用いただけます。ただし、
すべての質問にはお答えできませんが、