開発サーバー~  365日の紙PHP(2日目)

近代的なPHP開発を行うために

おススメ!記事
Raspberry Pi 用「HAL」で、
カップラーメン・タイマーを作ってみよう!
ラズパイDIYの決定版! ソケットサーバー「HAL」をご紹介します。

さて、今日はローカルでの開発用サーバーのインストールを行っていきましょう。

昔のPHPの開発ではプログラムコードをテキストエディタで書いてFTPでインターネットサーバーにアップロードし、必要であればSSHでインターネットサーバーにアクセスして直接プログラムコードを編集して動作確認する…ということをやっていたようです。

かなり危険ですね…。

現在は、ローカル環境に仮想サーバーを作ってそこで開発を行い、動作確認がとれたものを実サーバーにデプロイ(配置)するという手法がとられます。

ですが、ローカル環境に仮想サーバーを立てるのは初心者にはかなり難易度が高くなります。とくにWindosでは古い情報が使えなかったりして何かと苦労します。

仮想サーバーOSはUnixかLinuxになると思われますが、これからPHPを学ぼうという方には敷居が高いのではないでしょうか?

そういうわけで、初心者の方にはまずXAMPPとMAMPをおすすめします。インストールが簡単なのが最大の理由です。このコーナーでは何よりもつまづかないことを再優先しますので VirtualBox や Vagrant を使った仮想化技術について触れるのはずっと先のことにします。

WindowsではXAMPP(ザンプ)、Mac OS XではMAMP(マンプ)の導入の仕方から説明したいと思います。

XAMPPとは

  • X - Windows、Linux、Mac OS X、Solarisのクロスプラットフォーム
  • A - Apache
  • M - MySQLまたはMariaDB
  • P - PHP
  • P - Perl

MAMPとは

  • M - Macintosh
  • A - Apache
  • M - MySQL
  • P - PHP

ということのようです。

なお、XAMPPもMAMPも、それぞれWindowsとMac OS Xの両環境版が提供されているようです。

XAMPPのインストール

では、XAMPPのインストールをしていきましょう。XAMPPを入手するためのurl は、Apache Friendsです。

2016/02/05現在、PHP5.6のバージョンとPHP7のバージョンが選べるようになっています。

altテキスト

「え?PHP6は?」と思った方、PHP6は開発が失敗したので抹消されました。5.6の次は7です。

少し前にPHP7のバージョンをダウンロードしてみたのですが上手く動作しませんでした。今はちょうどPHP7が出たばかりなので、無用なトラブルを避けるため、PHP5.6版で解説をしていこうと思います。

「Windows向けXAMPP v5.6.15(PHP 5.6.15)」のリンクをクリックしましょう。XAMPPのパッケージのダウンロードが開始されます。

altテキスト

実行ファイルがダウンロードされているのを確認して下さい。

altテキスト

念のためウィルスチェックをしてから、このファイルをダブルクリックして実行してください。お使いのパソコンにアンチウィルスソフトがインストールされている場合は、大抵、次のようなメッセージが表示されます。

altテキスト

これは、XAMPPのインストールが遅くなったり、アンチウィルスソフトが不正なインストールと判断して干渉が起こる場合があるので、表示されたURLにアクセスして対応状況を確認して下さいという警告です。

ただ、XAMPPが広く知られているためか多くの場合このままインストールしても問題は起こりません。僕はNortonのアンチウィルス製品をずっと使っていますが、1度も問題が起きたことはありません。インストールを実行してみて問題があるときだけ、一時的にアンチウィルスソフトを無効にする程度で良いのではないでしょうか?

Continue with installation? インストールを継続しますか? と聞かれているので、「Yes」を選びます。

次も警告です。

altテキスト

これは、Windowsのユーザーアカウント制御が有効になっているとインストールする場所によってはXAMPPの処理に制限がかかるので、C:\Program Files (x86) ディレクトリにインストールするのは避けるか、UACを無効にしてください、というメッセージです。

「OK」をクリックして次へ進みます。これでやっとXAMPPのインストールが始まります。

altテキスト

「Next >」をクリックしましょう。インストールするコンポーネントを指定する画面になります。

altテキスト

PHPの開発を行っていくうえで是非インストールしておきたいのは、Apache、MySQL、PHP、phpMyAdminの4つです。Fake Sendmailについては後述します。

ApacheはWEBサーバーです。広く一般的に使われているので是非覚えておきたいサーバーです。

MySQLはデータベースソフトです。こちらも広く一般的に使われていて、特にPHPでの開発ではほとんどがMySQLが選択されています。このコーナーではMySQLと併せてPostgreSQLやSQLiteについても解説していく予定です。

ただ、1つ覚えておいて欲しいのは、今のXAMPPでインストールされるデータベースソフトはMySQLではなくMariaDBとなっています。

MariaDBはMySQLから派生したデータベースソフトです。もともとMySQLは本当に自由なオープンソース・ソフトウェアとして開発されていましたが、2010年にOracleによって買収されたことにより状況が一変しました。

Oracleはその名を冠したデータベースソフトであるOracleという看板商品を持っているため、競合商品であるMySQLが飼い殺しにあうかもしれないという危惧がなされるようになりました。

そこで、MySQLのオリジナルコードの作者自らがMySQLをフォークしてMariaDBというプロダクトを開始しました。

現在のMariaDBは殆どの機能においてMySQLと互換であるため、MySQLのノウハウがそのまま使える事と思いますが、将来的には2つのデータベースソフトの間で大きな差異がうまれてくるかもしれません。

2016/02/05現在でも、XAMPPのコントロールパネルの表記はMySQLのママとなっています。

FileZillaはFTPサーバーなので、他のパソコンからこのパソコンにファイルをアップロードしたいという用途がなければ必要ありません。寧ろ、アップロードする処理をPHPで書くのが勉強になります。

Mercuryはメールサーバーです。メールを送受信するのであれば入れておくのも良いかもしれませんが、かなり設定が大変です。ですので無理に入れる必要はありません。

TomcatはJava ServletやJavaServer Pages (JSP) を実行するためのものです。この記事ではJavaは対象外ですので、敢えて入れる必要はありません。念のため補足しておくと、JavaとJavaScriptはパンダとレッサーパンダと同じように全く別物です。JavaScriptはこのXAMPPのコンポーネントに関係なく動作しますのでTomcatについて心配する必要はありません。

PerlはPHPと同じようなスクリプト言語です。とても良い言語ではありますが、現在では使用頻度も利用するメリットも少なくなっています。無理に入れる必要は必要ないと思います。

phpMyAdminは、ブラウザでMySQLを操作するためのWEBアプリケーションです。こちらもPHPとMySQLとの組み合わせでは頻繁に使われるのでぜひ入れておきましょう。

WebalizerはWEBサーバーであるApacheのログを解析してグラフィカルに表示するアプリケーションです。お使いのパソコンをインターネットに公開するのであれば必要ですが、それはもっと勉強してからにしましょう。

Fake Sendmailは、お使いのパソコンからメール送信する際に役に立ちます。昔のXAMPPではMercuryのみだったのでメール送信に苦労しましたが、今はFake Sendmailがあるのでかなり楽になったようです。こちらはいれておいた方が後々良いかもしれません。

以上の解説を読んで必要そうなものをインストールして下さい。ハードディスクの容量に余裕があるなら全てインストールでも構わないと思います。

さあ、インストールするコンポーネントを選んだら「Next >」をクリックしましょう。

altテキスト

ここで、XAMPPをインストールする場所を聞かれます。前に警告があったとおり、C:\Program Files (x86)は避けましょう。デフォルトはC:\xamppとなっているかと思います。つまり、Cドライブ直下ですね。

もし、既にXAMPPをインストールしていて、もう一つ別のXAMPPをインストールしたいのであれば、PHPのバージョンに併せて C:\xampp56、C:\xampp7のようにディレクトリ名を変えるのがおすすめです。

場所を指定したら、「Next >」です。

altテキスト

もし、XAMPPと一緒にDrupal、Joomla!、WordPressを学びたいのであれば、「Learn more about Bitnami for XAMPP」のチェックを入れておきましょう。ただ、このコーナーではこれらについては説明しませんから、今回はチェックを外しておいてください。

Drupal(ドルーパル)はCMSです。日本ではMovableTypeやWordPressが広く利用されているため、あまり触れる機会はないかもしれません。

Joomla!(ジュームラ)もCMSのようです。やはり、日本ではあまり触れる機会はないでしょう。

WordPressは知らない人はいないかもしれません。こちらは本来はブログシステムなのですが、日本ではCMSのように扱われています。ですが、PHPを勉強しようとする人にはあまりおすすめできません。プログラム構造が近代的ではなくかなりごちゃごちゃしていて汚いのと、イベントやアクションにフックと呼ばれる処理を割り当てていくコーディングスタイルは、WordPressを使うときにしか役にたちません。

このコーナーは正しいPHPのプログラミング手法を学ぶためのコーナーなので、もし、どうしてもWordPressのことが知りたい方は別のサイトを参照してください。

さて、では「Next >」で次に進みましょう。

altテキスト

「インスールがはじまります。準備はよろしいですか?」という画面です。よければ「Next >」をクリックしましょう。

altテキスト

処理が進行して、問題がなければ完了画面が表示されます。

altテキスト

「Do you want to start the Control Panel Now?」のチェックボックスをチェックしておくと、「Finish」ボタンをクリックした後にXAMPPのコントロールパネルが表示されます。

では、「Finish」をクリックしてみましょう。

altテキスト

これがXAMPPのコントロールパネルです。では動作確認を…と行きたいところですが、多くの場合にこのままではApacheは起動しないようです。理由は調べていないのですが、一度パソコンを再起動しないとApacheが立ち上がらないかと思います。

ですので、他のソフト等で行っていた必要な作業データがある場合は保存してからパソコンを再起動しましょう。

再起動が終わったら再びコントロールパネルを起動します。起動の仕方がわからない場合は、インストールしたディレクトリ内のxampp-control.exeをダブルクリックして下さい。

コントロールパネルが開いたら、ApacheとMySQL(MariaDB)の「Start」ボタンをクリックしましょう。

altテキスト

ApacheとMySQLのバックが緑になれば起動成功です。もし赤が点灯された方はコントロールパネル下部に表示されたメッセージを見てみて下さい。

上の画像のPort(s)欄でわかるとおり、Apacheはデフォルトで80番と443番、MySQL(MariaDB)は3306番のポートを使用します。

もし赤になって起動しない場合、これらのポートが別のアプリケーションで既に利用されているケースが考えられます。

ポートとはプログラムで通信を行うための窓口のようなもので0から65535までが利用できますが、たとえばHTTP通信では80番を使うのが一般的です。ですからブラウザでインターネットを観る時、ブラウザはデフォルトで80番ポートにアクセスします。

もしお使いのパソコンにMicrosoftのWEBサーバーであるIISが入っていて既に起動している場合、80番が利用されていたりします。また、Skypeも80番をデフォルトで使用するので使用ポートが変更されていない場合、Skypeを起動しているとApacheが立ち上がらないはずです。

この場合はそれらのソフト側でポートを変えるか、Apacheの設定ファイルでApacheで利用するポートを変更することになります。

これらの場合の記事は長くなるので別に起こそうと思います。

立ち上がらなかった方には申し訳ありませんが進めます。

Apacheが立ち上がっていれば、Internet ExplorerやChromeなどのブラウザでApacheにアクセスが出来ます。

お使いのパソコン自身を示すURLは、localhost です。ブラウザのアドレス欄に http://localhost を入力してアクセスしてみましょう。

altテキスト

WEBサーバーであるApacheが起動しているので、このような画面が表示されるはずです。

表示された方、おめでとうございます。ここまでで今日は終了です。次はXAMPPのセキュリティ設定について説明します。

MAMPのインストール

では、MAMPのインストールをしていきましょう。MAMPを入手するためのurlは、MAMP & MAMP PROです。

altテキスト

FREE版とPRO版の違いですが、【MAMP】3分でMacのWeb開発環境(Apache,MySQL,PHP)を用意・初期設定する方法! によると、PRO版は、

(引用)
ホスト毎にPHPのバージョンを変更
複数の仮想サーバーの設定が出来る
WordPress、Drupal等をワンクリックインストール出来る
ダイナミックDNSに対応
メールサーバーの機能を使える
ApacheのモジュールをGUIで切り替え出来る

等のようです。とりあえず使用するのはFREE版で良いかと思います。

さて、では、ダウンロードしましょう。サーバー回線が弱いようで、20分ほど時間がかかるようです。のんびり待ちましょう。

altテキスト

パッケージがダウンロードできました。

altテキスト

ではダブルクリックしてインストールを開始します。

altテキスト

「このインストーラーはMAMPとMAMP PROの2つのフォルダをインストールします。MAMPフォルダをApplicationsフォルダの外に出したりリネームしたりしないください」

altテキスト

次は使用許諾契約です。許諾契約に同意しないとMAMPは使えませんので、責任を理解した上で同意して次に進みましょう。

altテキスト

これからインストールに移りますが、全てインストールすると1GBほどのストレージ容量が必要です。MAMPのFREE版を利用できれば良いので、インストールする内容をカスタマイズしましょう。

altテキスト

MAMP PROにチェックが入っているので、これを外して除外します。22.5MBしか減らないので焼け石に水ですね…。

altテキスト

インストールをクリックしましょう。

altテキスト

インストールが完了しました。

altテキスト

安心してください。入ってますよ。

altテキスト

altテキスト

さて、ではMAMPを起動してみましょう。これがMAMPのコントロールパネルです。

altテキスト

まず、設定をクリックしてください。ここでPHP5.6.10のものを選びたいと思います。PHP7はまだリリースされて間もないので、無用なトラブルを避けるためです。

altテキスト

「え?PHP6は?」と思った方、PHP6は開発が失敗したので抹消されました。5.6の次は7です。

キャッシュはオフでも構いませんが、PHP5.5から標準になったOPcacheを選んでみましょう。1度読み込んだPHPファイルをコンパイルする途中の中間ファイルとしてメモリにキャッシュするので、2回目以降はファイル読み込み時間が短縮され高速にPHPの実行ができるようになります。

次はポートタブです。WEBサーバーとデータベースサーバーで利用するポートを指定できます。赤枠のボタンをクリックしてポートを80番と3306番に設定します。

altテキスト

NginxはApacheと同じようなWEBサーバーで、軽量で静的ページを大量高速に扱えるWEBサーバーとして使用頻度が上昇している定番サーバーです。Apacheに比べて設定が楽なのも人気の理由だと思います。静的HTMLとPHPのような動的コンテンツが混在しているサーバーではまずNginxでリクエストを受け取り、静的ページではNginxがレスポンスを返し、動的ページではNginxからApacheにリダイレクトして処理を任せるといったロードバランサーの役割をさせたりします。Nginxを使いたい方はWEBサーバタブでApacheからNginxに切り替えられるかと思います。このコーナーではApacheで説明を行っていきます。

さて、ではサーバーを起動してみましょう。

altテキスト

Apache サーバーと MySQL サーバーの横の□に濃い緑が点灯すればサーバーが起動しています。WEBブラウザが開き、http://localhost/MAMP/?language=Japaneseが表示されると思います。

altテキスト

表示された方、おめでとうございます。ここまでで今日は終了です。次はMAMPのセキュリティ設定等について説明します。

この記事へのコメント

※現在コメントはMarkdown記法が強制です。>>Markdown の書き方


この記事に返信

このコメントに返信