「Pleiades All in One」による、WEBサイトの開発環境の構築をレポートします。「Pleiades All in One」は、Windows用のEclipse(プログラム開発統合環境)日本語パッケージで、そのPHP環境にはPDT(EclipseのPHP開発用プラグイン)と、Apache(WEBサーバー)とMySQL(データベース)のパッケージであるXAMPPも同梱されています。
(2013年11月13日編集:WordPressサイトのミラーをローカルに作成するレポートの部分は「WordPressテーマ開発(準備編):サイトをローカルにミラーリングする」に移動しました。)
(2014年12月20日追記:Pleiades All in Oneのサイトを見たところ「Pleiades 4.4 Luna」がありました。このインストールも、本稿での4.3 Keplerと同じでしたのでご参照ください。 但し、4.4 Lunaに付属のPDTでは、デバッグモードのステップ実行の際に、エディタに実行行が反映されない、という不具合がありました。PDTのアップデートをおすすめします。これについては「その2」に追記します。)
はじめに
7月よりサイト構築と同時にPHPを始めて、ようやく慣れてきました。
今まではDreamweaver CS5でコードを書き、サーバーに即アップしてテスト、というあまりよろしくない手順を行っていました。
Dreamweaver CS5によるキーワードのハイライト、Ctrl+Spaceによるキーワード補完、シンタックスエラーの検出だけでも結構便利でした。しかしDreamweaver CS5の上記機能はPHP 5.2対応までで、namespaceや無名関数などはシンタックスエラーにされてしまいました。
またPHPのデバッグはechoやprint_r頼みで、効率の良いものではありませんでした。
サイトの構築も落ち着いたのでサイトの開発環境をちゃんと構築しようと思います。尚、OSはWindows7、2013年9月25日現在の情報です。
環境の選択
単にテスト環境としてXAMPPをインストールするという手もありますが、ちゃんとしたPHP開発を考えます。
まず単体テストを行うフレームワークですが、メジャーなxUnitの系列であるPHPUnitにします。(実は私はcppUnitなども使ったことはありません。なぜならテストフレームワークを自前で作っていたから。)
同時にカバレッジも計測したいと思います。幾つか方法はあるらしいですが、一番素直そうな?xdebugにします。
そしてIDEですが、coloriさんの「PHPの開発環境(IDE)でベストなのはどれ?」のような記事も参考にしつつ、フリーかつ過去Eclipseを弄ったことがある、という理由でEclipse+PDTにします。
Google先生に聞いてみると、Eclipse+PDT、PHPUnit、xdebugは共存できそうです。(MakeGoodというテスト実行ツールもあるようですね。φ(..))
さらに調べると、Windowsに日本語Eclipse環境を簡単に構築できる「Pleiades All in One」というパッケージがあることがわかりました。このPHP環境版にはXAMPP やPDTも同梱されており、さらにxdebugも設定済みだそうです。
Pleiades All in Oneのインストール
Pleiades All in Oneのダウンロードページから、最新の「Eclipse 4.3 Kepler」をクリックし、その先のページからさらにお好みのパッケージをクリックします。
(2014年12月20日追記:現時点での最新は「Eclipse 4.4 Luna」です。こちらをクリックして頂いて構いません。)
各位の環境と好みになるのですが、私の場合はOSが64bitのWindows7で、またJAVAプログラミングの予定はありませんのでPHPの64bit Full Editionにしました。
ダウンロードの時間が結構かかるので、その合間にデータのバックアップの目的でMicrosoftのSkyDriveにアカウントを作成しました。同期フォルダは、C:\skydriveにしました。
インストールはzipを展開するだけです。しかしダウンロードサイトには「Windows 上で zip を解凍するときの注意」があります。そこを読むと、長いパスの場合に問題がありそうですので、Cドライブのルートに解凍することにします。(”C:\Program Files”にも置かないように書かれています。)
また解凍は、Windows7の展開ウィザードかwinrarが推奨されていますが、私のPC環境ではzipを右クリックしてもそれらしき項目がメニューに出ません。そこで単にexplorerのフォルダツリーでzipの中身を表示して、pleiadesフォルダをC:\にドラッグ&ドロップして解凍しました。(以下、pleiadesからの相対パスで表します。)
XAMPPの設定
次にXAMPP(Windows用のApache、MySQL、PHPのパッケージ)を設定します。
まず、エクスプローラーからpleiades\xampp\setup_xampp.batをダブルクリックして実行します。特に何も起こらずセットアップは終了しました。
XAMPPのコントロールパネルの設定
続いてpleiades\xampp\xampp-control.exeを実行し、XAMPPのコントロールパネルを起動します。(アプリケーション・ランチャーに登録します。)
languageを選択した後にウィンドウが開きます。
まずは右上の「Config」をクリックします。
とりあえずエディタを設定し、ApacheとMySQLだけ次回のコントロールパネル起動時に自動起動するようにチェックします。設定が終わったら「Save」をクリックします。
Apacheの設定
次にApacheに関する設定をします。
httpd.confの設定
DocumentRootだけSkyDriveのフォルダの中にしたいので、httpd.confを編集します。(デフォルト(pleiades/xampp/htdocs)のままでよい場合は、編集の必要はありません。)
Apacheの右の「Config」ボタンから、「Aache (httpd.conf)」を選択すると、テキストエディタにてhttpd.confが開きます。pleiades/xampp/htdocsを検索し、適当なディレクトリに書き換えます。
(前略)
DocumentRoot "C:/skydrive/workspace/your-site/public_html"
(中略)
<Directory "C:/skydrive/workspace/your-site/public_html">
(後略)
上のパスのフォルダがドキュメントルートになります。各位の環境に適切なパスを設定してください。
httpd-ssl.confの設定
httpd-ssl.confの中にも、SSL接続した場合のDocumentRootがありますので、そこを書き換えます。先と同様にApacheの右の「Config」ボタンをクリックし、「Apache (httpd-ssl.conf)」を選択すると、テキストエディタにてhttpd-ssl.confが開きます。DocumentRootを検索して編集します。
DocumentRoot "C:/skydrive/workspace/your-site/public_html"
httpd-xampp.confの設定
次に、XAMPPの各管理画面へのアクセス制限を設定します。
先と同様にテキストエディタにてhttpd-xampp.confを開きます。
最後に、「New XAMPP security concept」があるのですが、その辺のローカルネットから管理ツールにアクセスされるのは嫌なので、ローカルホストに限定します。
# # New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow Deny from all Allow from ::1 127.0.0.0/8 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch>
(もしlocalhost自体へアクセスされるのが嫌でしたら、httpd.confの「<Directory (ドキュメントルート)>」にも同様のOrder、Deny、Allowを書く必要があります。)
ApacheとMySQLの起動
Apacheの右の「Start」ボタンをクリックするとApacheが起動します、「Windowsセキュリティの重要な警告」が開きますので、「アクセスを許可する」をクリックします。
Startする前に左の、Serviceの「×」ボタンをクリックすると、Windows Serviceに登録され、PCの起動時にApacheが起動するようになります。これも好みですが、私はサービスにはせず作業のたびに起動することにします。
同様に、MySQLも「Start」ボタンから起動します。
MySQLの設定
最後にMySQLのrootのパスワードを設定します。(必要なければスキップしても構いません。)
パスワードの設定
コマンドプロンプトを立ち上げ(スタートメニューの検索ボックスで「cmd.exe」)、pleiades\xampp\mysql\binに移動してパスワードを設定します。(cdの後のパスの入力が面倒な場合は、explorerからフォルダをドロップすると入力できます。)
C:\Users\name>cd C:\pleiades\xampp\mysql\bin
C:\pleiades\xampp\mysql\bin>mysqladmin -u root password パスワード
phpMyAdminの設定
そして、XAMPPのコントロールパネルから、Apacheの右の「Config」ボタンをクリックし、「phpMyAdmin (config.ini.php)」を選択します。テキストエディタにて「config.inc.php」が立ち上がるので、
$cfg['Servers'][$i]['password'] = '';
の右辺のシングルクォーテーションの中にパスワードを書いておきます。
もしネットワークからのアクセスを許している場合は、パスワードを入力させるようにもできます。上のパスワードの設定はせずに、auth_typeを書き換えます。
$cfg['Servers'][$i][auth_type] = 'http';
以上でXAMPPの設定は終了です。
PHPの設定
C:\pleiades\xampp\phpの中にあるphp.iniをテキストエディタで開きます。date.timezoneを探して書き換えます。
date.timezone = Asia/Tokyo
日本の場合は上のように書き換えます。
まとめ
PHPの開発環境として、日本語対応されたオールインワン・パッケージである「Pleiades All in One」の、バージョン「Eclipse 4.3 Kepler」、PHPパッケージをインストールしました。
その中に同梱されているXAMPPを設定しました。
その2では、Eclipseでプロジェクトを作成しデバッグするまでをレポートします。