PHPはWEBプログラミング言語ですので、基本的な実行の形態としてはWEBサーバが必要です。

この章では、お使いのローカルPC上にWEBサーバをインストールし、動作確認を行いながらWEBプログラム開発が出来る環境を作っていきます。

※この記事は執筆・公開から3年以上経過しています。記事の情報が古くなっている場合がありますのでご注意ください。

公開日時:2016/02/05 21:44
最終更新:2019/12/09 22:06

ローカルサーバー~ 365日の紙PHP(2日目)

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

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

かなり危険ですね…。

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

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

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

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

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

XAMPPとは

MAMPとは

ということのようです。

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

XAMPPのインストール

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

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

XAMPPのダウンロードサイト

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

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

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

インストーラーダウンロード画面

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

ダウンロードされたインストーラー

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

インストールの前のアンチウィルソフトに関する警告

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

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

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

次も警告です。

インストールディレクトリに関する警告

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

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

XAMPPのインストール開始画面

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

インストールコンポーネントの選択画面

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 >」をクリックしましょう。

インストールディレクトリ選択画面

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

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

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

インストール途中のリコメンド

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

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

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

WordPressは知らない人はいないかもしれません。こちらは本来はブログシステムなのですが、日本ではCMSのように扱われています。

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

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

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

インストール開始

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

インストール進行状況

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

インストール完了画面

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

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

コントロールパネル

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

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

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

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

サーバの起動

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 を入力してアクセスしてみましょう。

XAMPPのホーム画面

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

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

MAMPのインストール

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

MAMPダウンロードサイト

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

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

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

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

MAMPのダウンロード

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

ダウンロードされたdmgイメージ

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

インストール開始画面

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

インストールに関する注意事項

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

使用承諾条項確認画面

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

ディスク容量確認画面

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

MAMP PROをインストール対象外にする

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

インストール進行状況

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

インストール完了

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

アプリケーションディレクトリ

MAMPディレクトリ

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

コントロールパネル

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

PHPのバージョン選択

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

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

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

ポート番号設定

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

このコーナーではApacheで説明を行っていきます。

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

サーバの起動

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

MAMPのホーム画面

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

記事リンク