コラム

吉谷愛氏コラム「VagrantでPHP開発環境を構築する」

Pocket

前回は「Google App Engin」「 Heroku」「MOGOK」など、PHPで作成したWebアプリケーションのプラットフォームとなる、クラウドの「PaaS環境」についてご説明しました。今回は実際に

1.PHPで開発できる環境を構築する
2.上でPHPのMVCフレームワークを使用してWebアプリを作成する
3.PaaSを使用する際に必要な設定を行う
4.2.をPaaSにデプロイする

このうち、1.を行いたいと思います。デプロイすることで、自分で作成したWebアプリがインターネット上に公開され、自分や友人のPCやスマホで使えるようになりますのでモチベーションが上がります。

PHPで開発できる環境を構築する
今 回HerokuにデプロイするWebアプリケーションの開発環境は、実際の開発現場に近い、Linuxベースの実践的なものを構築します。 詳細は「土日でわかるPHPプログラミング教室」のP20「金曜日~プログラミングの前準備をしよう~」に詳細を記載していますので、今回は手順だけ記載 します。
※Windows8.1、Windows10で検証済みです。

【1】ダウンロード&インストール
1.こちらからインストーラー一式をダウンロードする
2.VirtualBox-5.0.10-104061-Win.exeをインストールする
3.vagrant_1.7.4.msiをインストールする
4.こちらを参考に、Git-2.6.3-64-bit.exeをインストールする。
5.Cドライブ直下に「phptest」というフォルダを作成し、その中にfuelphp-1.7.3.zipを解凍する。

【2】環境構築 1.コマンドプロンプトを立上げ、下記コマンドを入力してカレントディレクトリを「c:\phptest」とします。
c:\WINDOWS\system32>cd c:\phptest\fuelphp-1.7.3
2.下記コマンドを入力し、github環境からVagrantFileをコピーします
※64bit
c:\phptest\fuelphp-1.7.3>git clone –recursive https://github.com/froide-kk/vagrant-donichi-php-x86_64.git vagrant
※32bit
c:\phptest\fuelphp-1.7.3>git clone –recursive https://github.com/froide-kk/vagrant-donichi-php-i386.git vagrant
3.下記コマンドを入力してカレントディレクトリを「c:\phptest\vagrant」とします。
c:\phptest\fuelphp-1.7.3>cd vagrant
4.下記コマンドを入力し、仮想環境を起動します。
c:\phptest\fuelphp-1.7.3\vagrant>vagrant up
※環境がない1回目は環境のダウンロード&構築から行うため時間がかかります
5.ブラウザを開き、アドレスバーにhttp://localhost:8000 を入力し、下記画面が表示されたら、Webサーバはじめ下記図のような仮想環境があなたのパソコンに構築されています。
flid22

Linux上にPHPの開発環境を構築する理由
PHP が実行されるのはほぼLinux環境上に構築されたWebサーバです。PHPの本番環境にWindowsが使われていることはほぼないといっていいでしょ う。そのため開発環境をWindows上に構築することは、chmod関数などOSによって挙動がかわる関数等を考慮すると好ましくありません。 PHP_OS定数を使用してOSの種類に応じて処理を分岐させることもできますが、当然プログラムは冗長になります。そのため実際にPHPでWeb開発を 行う場合は、今回のようにWindows上に仮想環境でLinux環境を構築して本番環境とかわらない開発環境を準備することが多いです。昔はそのような 環境構築を行うだけで丸1日つぶれていましたが、現在はVirturalBoxやVagrantを使用することで、経験の浅い方でも非常にスムーズに環境 構築を行うことができるようになりました。 なお、VagrantやVirturalBox、Gitなどについてもう少し詳しく知りたい方は拙著「土日でわかるPHPプログラミング教室」のP55を参照してください。

ワンライナーのPHPプログラムを実行してみる
環境が構築できたら、まずはワンライナー(1行)のPHPプログラムを実行して、PHPプログラミング開発が可能な環境になっているか確認しましょう。
【1】    PHPプログラムファイル作成
1.エクスプローラーを立ち上げて「C:\phptest\fuelphp-1.7.3\public」を開きます
c:\phptest\fuelphp-1.7.3\vagrant>cd c:\phptest\fuelphp-1.7.3\public
c:\phptest\fuelphp-1.7.3\public>
2.「phptest.php」というテキストファイルを作成します。
※.phpはファイル名の一部ではなく、拡張子です。
【2】PHPプログラミング及び実行
1「phptest.php」をエディタで開き、下記を入力します。
<?php print “クラウド全盛時代における、効率的なPHP学習方法”;
2.「phptest.php」を保存します。
※文字コードはUTF-8に変更してくださいします。
3.ブラウザを開き、アドレスバーにhttp://localhost:8000/phptest.php を入力し、ブラウザに下記画面が表示されたら、PHPプログラミンングが可能な環境になっています。

flid2222

とにかく何でもいいからプログラミングしてみる
ま だプログラミング自体に慣れていない人は、インターネット上には膨大なPHPのサンプルコードがあふれていますので、ぜひこの環境を活用してPHPプログ ラミングに慣れ親しんでください。また、PHP技術者認定試験の試験問題で引っかかった部分を実際にこの環境で検証してもよいでしょう。PHP技術者認定 試験は初級試験も簡単なようで、実際にPHPという言語を知らないと合格できないような構成になっています。
そしてある程度プログラミングに なれたら、データベースを使用しない簡単なWebアプリを作成してみましょう。おすすめはサンプルコードが豊富でかつ手ごろな簡易電卓やカレンダー、じゃ んけんプログラムなどです。ここで大切なのは「PHPを覚える」ではなく「Webアプリを作成する」ことを目的としてプログラミングすることです。

いざ何か作ろうとするとプログラミングができなくなる人へ
プログラミングを勉強している方で多いのが「頭ではわかっているけれどいざ何か作ろうとするとコーディングができない」という方です。その理由は様々で、
・プログラミングの頭の使い方に慣れていない
・肩に力が入りすぎて軽いパニック状態におちいっている
・プログラミングするにあたって大切なポイントがごっそり抜け落ちている
な どいろいろ考えられます。どちらにしても対策は、とにかく小さい単位からでいいのでプログラムを自分で考えてコーディングに実現する作業を繰り返すことで す。繰り返せば肩の力も抜け、プログラミング独特の思考に頭を切り替えるコツがわかってきます。その過程で取りこぼしていた知識が何なのかにもきっと行き 当たります。

次回は、今回構築した開発環境上に、PHPのMVCフレームワークを使用してWebアプリを作成するところまで行ってみましょう。


 

吉谷 愛 氏
フロイデ株式会社 代表取締役

「最 新のアーキテクチャを追及し続ける技術者集団」を目指す、フロイデ株式会社代表取締役社長。現在は、自身のCOBOLからRailsまでの非常に幅広い開 発経験や、学生や未経験社員への技術指導経験を糧に、技術講師としてソフトウエアエンジニアの育成に注力している。2013年06月より、初心者向けの 「はじめようRuby on Rails開発!」シリーズを考案。“技術者の立場にたった、技術者の心に火をつける”熱い講義をモットーとしている。

 

関連記事一覧