Zend Frameworkを利用したWebアプリケーションの構築の前に、開発環境を整えます。今回はZend Frameworkのインストールではなく、Zend Frameworkをインストールするための環境を整えます。
Linux/Windows/Mac OS Xでほぼ同じ環境で動作する構成を紹介します。Linux版(CentOS 5)のVMWareイメージは筆者のサイト で公開しています。これと同じ、環境の構築手順を紹介します。
本連載では基本的にLinux(CentOS 5)での環境を前提にZend FrameworkによるWebアプリ開発を紹介しますが、ここで解説する環境をWindowsやMacに構築すれば同じように開発できます。
Zend Frameworkの利用に必要な環境
Zend FrameworkはPHP5用のフレームワークです。当然、PHP5が必要です。Zend_Controllerを除けば、利用環境にほとんど制約はありません。Zend_ControllerはWebサーバのURL書き換え機能に依存しているため、URL書き換えが行えるWebサーバのみサポートしています。
Webアプリケーションを作る場合には、いわゆるMVCモデルで開発するため、Zend_Controllerが使えないと今時のWebアプリケーションは開発できません。現在(2009/1/5)のところ、Zend_ControllerはApache Web ServerとMicrosoft IISで動作します。つまり、Zend Frameworkを利用したWebアプリケーションはApacheまたはIIS上で動作するアプリケーションとして開発できます。
ZendFramwork開発環境の構築
利用するコンポーネント
PHP:PHP 5.2
フレームワーク:Zend Framework 1.7
Webサーバ:Apache Web Server 2.2
データベース:PostgreSQL 8.3
IDE:Eclipe 3.4 PDT(PHP Development Tool)
バージョン管理:Mercurial 1.1
ブラウザ:Firefox 3.0
OS:Windows XP/Vista、Mac OS X 10.5、Linux(CentOS 5)
※注意:利用するコンポーネントは必要に応じてアップグレードする場合があります
このほかにも必要なコンポーネントがありますが、それら[1] は順次紹介することにします。
文字エンコーディング
記載がない限り、UTF-8文字エンコーディングを利用します。
ディレクトリ構成
/www
Web用のディレクトリ
/www/default
デフォルトのアプリケーションディレクトリ
アプリケーションごとに/www以下にディレクトリを作ることにします。Apache Web Serverを利用するので、仮想ホストも利用可能ですが、説明を簡略化するため/www/default/htdocsをドキュメントルートに設定して、アプリケーションの切り替えはシンボリックリンク(Linux/Mac)かコピー(Windows)で行うことにします。
利用するパッケージの紹介
PostgreSQL 8.3 One-Clickインストーラ
今回はPostgreSQL 8.3のバイナリ配布版である「PostgreSQL 8.3.5 One-Clickインストーラ」を利用して開発環境を構築することにしました。PostgreSQL 8.3のバイナリ配付版は米国のEnterpriseDB社によって開発され、配布されています。EnterpriseDB社はPostgreSQLグローバル開発チームのコアメンバーも所属している会社です。
このバイナリ版にはLinux/Windows/Macで同じルック&フィールでPostgreSQLとPHPを組み込んだApacheをインストールできるインストーラが付属しています。
このインストーラはスタックビルダと呼ばれるパッケージ管理機能もインストールします。PostgreSQLを利用したアプリケーションを簡単にインストールできるようになっています。Apache/PHPはOne-Clickインストーラのスタックビルダでインストールします。
PgAdmin III
PostgreSQLが初めての方でも、GUIでデータベースの作成からテーブルの作成、図表化されたクエリ実行プランの表示までできるPgAdmin IIIが付属しています。初めての方でも簡単に操作できます。
PgAdmin IIIの見た目や操作感は、Windows/Mac/Linux共通です。異なるプラットフォームでも同じGUIで操作できます。
図1-1 Linux
図1-2 Windows
図1-3 Mac
ApacheとPHP
ApacheはLinux、Mac、Windowsなど多くのプラットフォームで動作するWebサーバです。現在、インターネット上でもっとも多く利用されているWebサーバがApache Webサーバになります。
Apache Web ServerとPHPはOne-Clickインストーラでインストールします。
Eclipse PDT
EclipseはJava/C++の統合開発環境(IDE)として広く利用されていますが、PHP用の開発環境としても利用できます。まだまだ発展途上ですが、本連載ではソースコードのバージョン管理ツールであるMercurialも利用します。
図2 Eclipse PDT
Eclipseは必須ではありません。UTF-8をサポートしたエディタを利用しても構いません。
Firefox
AJAXアプリケーションは基本的にFirefoxで動作検証します。デバックなどもFirefoxで行います。インストール方法は非常に簡単なので紹介しませんが、利用できるように準備してください。
各コンポーネントのインストール
Linuxの例としてCentOS 5をOSとして使用しますが、ほかのLinuxシステムでも大きな違いはありません。Windows/Macでもほぼ同じ手順でインストールできます。異なる箇所は脚注を参照してください。
PostgreSQL One-Clickインストーラのインストール
手順は非常に簡単です。http://www.postgresql.org/ (英語)の“ download” リンクをクリックして表示されるページの“ Bianary Package” から実行ファイル形式のパッケージをダウンロードして実行するだけです[2] 。
図3 One-Clickインストーラのページ
手順:
http://www.postgresql.org/download/ の“ Binary Packages” に表示されているプラットフォーム(FreeBSD, Linux, Mac OS X, Solaris, Windows)のリンクから利用しているOSのリンクをクリックします。
プラットフォームごとにPostgreSQLの入手方法が記載されています。“ One-Click Installer” の項目のダウンロードリンクをクリックしてダウンロードします。
管理者権限を持つユーザでダウンロードしたファイルを実行します[3] 。
PostgreSQL 8.3.5 One-Clickインストーラの実行画面
図4 起動直後
[次へ]ボタンを押します。
図5 インストール先ディレクトリの指定
Linuxの場合は“ /opt/Postgresql/8.3” 、Windowsの場合は“ c:\Program Files\PostgreSQL\8.3” 、Macの場合は“ /Library/PostgreSQL/8.3” が表示されます。
[次へ]ボタンを押します。
図6 データディレクトリの指定
PostgreSQLサーバのデータを保存するディレクトリを指定します。Linuxの場合は“ /opt/Postgresql/8.3/data” 、Windowsの場合は“ c:\Program Files\PostgreSQL\8.3\data” 、Macの場合は“ /Library/PostgreSQL/8.3/data” が表示されます。
[次へ]ボタンを押します。
図7 データベース管理者のパスワード設定画面
PostgreSQLの管理者ユーザ名は“ postgres” です。このユーザアカウントはOSのアカウントとまったく別のアカウントです。データベース管理者ユーザのパスワードを設定します。
「Password」 、「 Retype Password」にパスワードを入力し、[ 次へ]ボタンを押します。
図8 PostgreSQLサーバのTCP/IPポートの設定画面
PostgreSQLサーバがリモートクライアントからの接続を待つTCP/IPのポート番号を指定します。デフォルトは5432です。既に利用されている場合は別のポート番号を指定する必要があります。
[次へ]ボタンをクリックします。
図9 ロケール設定画面
ロケールを設定します。“ defualt” のままの場合、文字エンコーディングに“ utf-8” が設定されます。ロケールを指定すると指定したロケールが設定されます。日本語環境で利用する場合、“ default” を選択します。
[次へ]ボタンを押します。
図10 インストール準備完了
インストールの準備が完了したことを告げる画面が表示されます。
[次へ]ボタンを押します。
図11 インストール中の画面
図12 「 Stack Builder」の起動を選択する画面
“Launch Stack Builder” チェックボックスを含む画面が表示されます。チェックを付けたままにします。
[Finish]ボタンを押します。
共有メモリ設定が変更される場合があります。変更を反映するために再起動が必要となる場合もあります。
Stack Builderはネットワークからアプリケーションの一覧を取得し、インストール用のファイルもネットワークからダウンロードします。ネットワーク接続がない場合は実行できません。
図13 「 Stack Builder」のPostgreSQLサーバの選択画面
ドロップダウンリストから接続するPostgreSQLサーバを選択するか、サーバ名やIPアドレスを入力します。
[次へ]ボタンをクリックします。
図14 インストールアプリの選択画面
スタックビルダがサポートするアプリケーションの一覧が表示されます。ここでは例としてMediawikiをインストールします。“ Web Application” の中から“ Mediawiki” を選択します。
図15 インストールアプリの選択画面
依存性も考慮されているので“ Web Development” の中の“ Apache/PHP” も選択されます。
[次へ]ボタンを押します。
図16 インストールするアプリケーションの確認
“Mediawiki” と“ Apache/PHP” が選択されています[4] 。
[次へ]ボタンを押します。
図17 ダウンロード中のダイアログボックス
図18 ダウンロードを完了しインストールを確認する画面
[次へ]ボタンを押します。各アプリのインストール設定用のダイアログボックスが表示されます。
図19 Apache/PHPの設定開始
Apache/PHPのインストールウィザードが開始されることを告げる画面が表示されます。
[次へ]ボタンを押します。
図20 インストール先の設定画面
環境によってプレフィックスは異なりますが、デフォルトでは、One-Clickインストーラのインストールフォルダ以下にインストールされます。
[次へ]ボタンを押します。
図21 ApacheのTCPポート設定画面
デフォルトでは“ 8080” が設定されます。8080ポートがほかのアプリケーション、例えばJavaのWebサーバなどで利用されている場合は別のポートを設定しなければなりません。
[次へ]ボタンを押します。
図22 インストール準備完了画面
インストール準備が完了したことを告げる画面が表示されます。問題なければ[次へ]ボタンを押します。
図23 インストール中の画面
図24 Apache/PHPインストール完了の画面
[Finish]ボタンを押します。
まだインストールは完了していないので、MediaWikiのインストール画面が表示されます。
図25 MediaWikiインストール開始画面
[次へ]ボタンを押します。
図26 MediaWikiインストール用情報の入力画面
PostgreSQLをデータベースサーバとしたMediaWikiのインストールには、利用するPostgreSQLサーバの情報が必要です。デフォルト設定のローカルのPostgreSQLサーバを利用する場合、postgresユーザ(DB管理者)のパスワードフィールド以外のフィールドは既に埋めてあります。“ postgres” ユーザのパスワードを入力し、[ 次へ]ボタンを押します。
図27 MediaWikiセットアップ準備完了の画面
MediaWikiのインストール準備が完了した画面が表示されます。
[次へ]ボタンを押します。
図28 インストール中の画面
図29 新しいDBユーザとパスワードの告知画面
図30 MediaWikiインストール完了画面
MediaWikiのインストールが完了したことを告げる画面が表示されます。
[次へ]ボタンを押すとインストール終了の画面が表示されます。
図31 インストール終了画面
One-Click Installerでインストールされたフォルダの内容
図32 Linux版のフォルダの内容
フォルダの構成(Linux)
/opt/PostgreSQL/
/opt/PostgreSQL/8.3
/opt/PostgreSQL/8.3/scripts
/opt/PostgreSQL/8.3/lib
/opt/PostgreSQL/8.3/lib/postgresql
/opt/PostgreSQL/8.3/doc
/opt/PostgreSQL/8.3/doc/postgresql
/opt/PostgreSQL/8.3/doc/pljava
/opt/PostgreSQL/8.3/include
/opt/PostgreSQL/8.3/installer
/opt/PostgreSQL/8.3/stackbuilder
/opt/PostgreSQL/8.3/bin
/opt/PostgreSQL/8.3/data
/opt/PostgreSQL/8.3/share
/opt/PostgreSQL/8.3/share/postgresql
/opt/PostgreSQL/8.3/share/pljava
/opt/PostgreSQL/8.3/pgAdmin3
/opt/PostgreSQL/EnterpriseDB-ApachePhp
/opt/PostgreSQL/EnterpriseDB-ApachePhp/scripts
/opt/PostgreSQL/EnterpriseDB-ApachePhp/installer
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/build
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/icons
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/lib
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/error
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/cgi-bin
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/include
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/logs
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/modules
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/htdocs
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/conf
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/bin
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/man
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/manual
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/include
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/bin
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/etc
/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/man
Windowsの場合は“ /opt” を“ c:\Program Files” に、Macの場合は“ /Library” に置き換えてください。
ドキュメントルートは
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/htdocs
ではなく
/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www
に設定されています。
Linux、Windows、Macすべての、アプリケーションを起動する場所にPostgreSQLの起動・停止スクリプトやpsql(データベースのコマンドラインインターフェース)を起動するスクリプトが登録されます。
Linuxの場合「アプリケーションメニュー」 、Windowsの場合は「スタートメニュー」 、Macの場合は「アプリケーションフォルダ」に登録されます。
図33-1 Linuxのアプリケーションメニュー
図33-2 Windowsのスタートメニュー
図33-3 Macのアプリケーションフォルダ
インストールされたMediaWikiの画面
図34 初期画面
図35 設定画面
図36 設定が完了後の画面