ZendFrameworkで作る『イマドキ』のWebアプリケーション

第1回開発環境の準備(上)

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インストーラのスタックビルダでインストールします。

注意

筆者はLinux以外に、複数のMac/Windows環境にもOne-Clickインストーラを利用してインストールしてみました。以前に別の方法でPostgreSQLをインストールしている場合、あらかじめPostgreSQL、Apacheをアンインストールすることをお薦めします。データベースのバックエンドを実行するアカウントであるpostgresも、インストールエラーを防ぐため、あらかじめ削除しておく必要があります。

Windwos/Macでは同じ名前でユーザを再作成しても、同じユーザとして認識されません。UNIX系OSの場合でもユーザID番号が異なると別ユーザになります。すでにPostgreSQLデータベースを利用されている場合、権限の調整などが必要になります。

PgAdmin III

PostgreSQLが初めての方でも、GUIでデータベースの作成からテーブルの作成、図表化されたクエリ実行プランの表示までできるPgAdmin IIIが付属しています。初めての方でも簡単に操作できます。

PgAdmin IIIの見た目や操作感は、Windows/Mac/Linux共通です。異なるプラットフォームでも同じGUIで操作できます。

図1-1 Linux
図1-1 LinuxのPgAdmin III
図1-2 Windows
図1-2 WindowsのPgAdmin III
図1-3 Mac
図1-3 MacのPgAdmin III

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
図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インストーラのページ
図3 One-Clickインストーラのページ

手順:

  1. http://www.postgresql.org/download/⁠Binary Packages⁠に表示されているプラットフォーム(FreeBSD, Linux, Mac OS X, Solaris, Windows)のリンクから利用しているOSのリンクをクリックします。
  2. プラットフォームごとにPostgreSQLの入手方法が記載されています。⁠One-Click Installer⁠の項目のダウンロードリンクをクリックしてダウンロードします。
  3. 管理者権限を持つユーザでダウンロードしたファイルを実行します[3]⁠。

PostgreSQL 8.3.5 One-Clickインストーラの実行画面

図4 起動直後
図4 起動直後

[次へ]ボタンを押します。

図5 インストール先ディレクトリの指定
図5 インストール先ディレクトリの指定

Linuxの場合は⁠/opt/Postgresql/8.3⁠⁠、Windowsの場合は⁠c:\Program Files\PostgreSQL\8.3⁠⁠、Macの場合は⁠/Library/PostgreSQL/8.3⁠が表示されます。

[次へ]ボタンを押します。

図6 データディレクトリの指定
図6 データディレクトリの指定

PostgreSQLサーバのデータを保存するディレクトリを指定します。Linuxの場合は⁠/opt/Postgresql/8.3/data⁠⁠、Windowsの場合は⁠c:\Program Files\PostgreSQL\8.3\data⁠⁠、Macの場合は⁠/Library/PostgreSQL/8.3/data⁠が表示されます。

[次へ]ボタンを押します。

図7 データベース管理者のパスワード設定画面
図7 データベース管理者のパスワード設定画面

PostgreSQLの管理者ユーザ名は⁠postgres⁠です。このユーザアカウントはOSのアカウントとまったく別のアカウントです。データベース管理者ユーザのパスワードを設定します。

「Password⁠⁠、⁠Retype Password」にパスワードを入力し、⁠次へ]ボタンを押します。

図8 PostgreSQLサーバのTCP/IPポートの設定画面
図8 PostgreSQLサーバのTCP/IPポートの設定画面

PostgreSQLサーバがリモートクライアントからの接続を待つTCP/IPのポート番号を指定します。デフォルトは5432です。既に利用されている場合は別のポート番号を指定する必要があります。

[次へ]ボタンをクリックします。

図9 ロケール設定画面
図9 ロケール設定画面

ロケールを設定します。⁠defualt⁠のままの場合、文字エンコーディングに⁠utf-8⁠が設定されます。ロケールを指定すると指定したロケールが設定されます。日本語環境で利用する場合、⁠default⁠を選択します。

[次へ]ボタンを押します。

図10 インストール準備完了
図10 インストール準備完了

インストールの準備が完了したことを告げる画面が表示されます。

[次へ]ボタンを押します。

図11 インストール中の画面
図11 インストール中の画面
図12 ⁠Stack Builder」の起動を選択する画面
図12 「Stack Builder」の起動を選択する画面

“Launch Stack Builder⁠チェックボックスを含む画面が表示されます。チェックを付けたままにします。

[Finish]ボタンを押します。

共有メモリ設定が変更される場合があります。変更を反映するために再起動が必要となる場合もあります。

Stack Builderはネットワークからアプリケーションの一覧を取得し、インストール用のファイルもネットワークからダウンロードします。ネットワーク接続がない場合は実行できません。

図13 ⁠Stack Builder」のPostgreSQLサーバの選択画面
図13 「Stack Builder」のPostgreSQLサーバの選択画面

ドロップダウンリストから接続するPostgreSQLサーバを選択するか、サーバ名やIPアドレスを入力します。

[次へ]ボタンをクリックします。

図14 インストールアプリの選択画面
図14 インストールアプリの選択画面

スタックビルダがサポートするアプリケーションの一覧が表示されます。ここでは例としてMediawikiをインストールします。⁠Web Application⁠の中から⁠Mediawiki⁠を選択します。

図15 インストールアプリの選択画面
図15 インストールアプリの選択画面

依存性も考慮されているので⁠Web Development⁠の中の⁠Apache/PHP⁠も選択されます。

[次へ]ボタンを押します。

図16 インストールするアプリケーションの確認
図16 インストールするアプリケーションの確認

“Mediawiki⁠⁠Apache/PHP⁠が選択されています[4]⁠。

[次へ]ボタンを押します。

図17 ダウンロード中のダイアログボックス
図17 ダウンロード中のダイアログボックス
図18 ダウンロードを完了しインストールを確認する画面
図18 ダウンロードを完了しインストールを確認する画面

[次へ]ボタンを押します。各アプリのインストール設定用のダイアログボックスが表示されます。

図19 Apache/PHPの設定開始
図19 Apache/PHPの設定開始

Apache/PHPのインストールウィザードが開始されることを告げる画面が表示されます。

[次へ]ボタンを押します。

図20 インストール先の設定画面
図20 インストール先の設定画面

環境によってプレフィックスは異なりますが、デフォルトでは、One-Clickインストーラのインストールフォルダ以下にインストールされます。

[次へ]ボタンを押します。

図21 ApacheのTCPポート設定画面
図21 ApacheのTCPポート設定画面

デフォルトでは⁠8080⁠が設定されます。8080ポートがほかのアプリケーション、例えばJavaのWebサーバなどで利用されている場合は別のポートを設定しなければなりません。

[次へ]ボタンを押します。

図22 インストール準備完了画面
図22 インストール準備完了画面

インストール準備が完了したことを告げる画面が表示されます。問題なければ[次へ]ボタンを押します。

図23 インストール中の画面
図23 インストール中の画面
図24 Apache/PHPインストール完了の画面
図24 Apache/PHPインストール完了の画面

[Finish]ボタンを押します。

まだインストールは完了していないので、MediaWikiのインストール画面が表示されます。

図25 MediaWikiインストール開始画面
図25 MediaWikiインストール開始画面

[次へ]ボタンを押します。

図26 MediaWikiインストール用情報の入力画面
図26 MediaWikiインストール用情報の入力画面

PostgreSQLをデータベースサーバとしたMediaWikiのインストールには、利用するPostgreSQLサーバの情報が必要です。デフォルト設定のローカルのPostgreSQLサーバを利用する場合、postgresユーザ(DB管理者)のパスワードフィールド以外のフィールドは既に埋めてあります。⁠postgres⁠ユーザのパスワードを入力し、⁠次へ]ボタンを押します。

図27 MediaWikiセットアップ準備完了の画面
図27 MediaWikiセットアップ準備完了の画面

MediaWikiのインストール準備が完了した画面が表示されます。

[次へ]ボタンを押します。

図28 インストール中の画面
図28 インストール中の画面
図29 新しいDBユーザとパスワードの告知画面
図29 新しいDBユーザとパスワードの告知画面
図30 MediaWikiインストール完了画面
図30 MediaWikiインストール完了画面

MediaWikiのインストールが完了したことを告げる画面が表示されます。

[次へ]ボタンを押すとインストール終了の画面が表示されます。

図31 インストール終了画面
図31 インストール終了画面

One-Click Installerでインストールされたフォルダの内容

図32 Linux版のフォルダの内容
図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-1 Linuxのアプリケーションメニュー
図33-2 Windowsのスタートメニュー
図33-2 Windowsのスタートメニュー
図33-3 Macのアプリケーションフォルダ
図33-3 Macのアプリケーションフォルダ

インストールされたMediaWikiの画面

図34 初期画面
図34 初期画面
図35 設定画面
図35 設定画面
図36 設定が完了後の画面
図36 設定が完了後の画面

おすすめ記事

記事・ニュース一覧