XAMPPでWEB試験環境をつくる
WEB開発環境を簡単に設定する
このWEBサイトは、記事のとおり、VPSにApacheをインストールして構成しています。
また別記事では、サーバー機にサーバーOSであるCentosをインストールした例をご紹介しました。
私は社内SEでしたから、「社内」での仕事がメインで、めったに外に出ることはありませんでしたが、それでも社外に出かけていく必要はあります。また、その社外でシステムや、これからの開発について説明をする必要に迫られる事もありました。
社外でWEBシステムについて説明を求められ、まさかサーバー機を担いで出るわけにはいきませんし、VPSが安くなって個人でも手が届くようになったのは最近の事。また、幾ら安くても、毎回、VPSを契約して、帰社したら潰すわけにもいきません。
そんなとき、非常に便利なアプリがあります。
WEB開発関係に僅かでも関わっているのであれば、ノートパソコンにインストールしておいて損はありません。
そのアプリケーションはXAMPP(ザンプ)といいます。

Googleで、「XAMPP」で検索すると、簡単に出てきます。
ここから、インストーラーをダウンロードします。

今回はWindowsパソコンにインストールするので、「Windows向け」を選択します。
これで、執筆の時点では、xampp-windows-x64-7.3.4-0-VC15-installer.exe がダウンロードされます。
7.3.4 や、VC15などはダウンロード時にはバージョンアップしているかもしれません。
ファイルがダウンロード出来たら、早速インストールしましょう。

私は、Norton Security を愛用しているため、このような警告画面が出ます。
アンチウィルスソフトでインストールが遅くなるかも という事ですが、それは構わないので、Yesでスキップします。

次にもう一つ警告がきました。
Windows は「親切な設計」で、不適切な操作やウイルスなどから、システムの乗っ取りや破壊を防ぐ重要な機能として、ユーザーアカウント制御(UAC)がありますが、これが可動しているとXAMMPPはうまく作動しません。
このため、通常、Windows 系のアプリケーションは、C:\Program Files 以下にインストールしますが、XAMPPはC:\Program Files にインストールすると機能制限されるので、UACを止めるか、場所を変える事で対応するように指示されるので、場所を変える方を選び、OKでスキップします。
これでインストーラーが起動します。


インストールする機能の選択ですが、特に制限する必要もないので、全チェックされたデフォルト状態で進みます。

ここで先ほどのインストール先ですが、C:\Program Filesはインストールできないので、C:\xampp を指定します。

次にこれが出てきますが、 パソコンのローカル環境でWordPressやRedmineを簡単に動作させるための環境を構築できるというソフトウェアの事のようなのでスキップします。
WordPressなら後でインストールできますし、その方が勉強にもなりますので。

これでインストールの準備が完了しました。Nextをクリックすると、インストールがはじまります。


インストールが完了すると、何故か、英語かドイツ語かを選べと選択されます。日本語が欲しいです。英語を選択してSAVEします。

これでインストールが完了です。XAMPPのコントロールパネルはこのようになります。
Startをクリックすると、機能が起動します。

これで、ApacheとMySQLが起動しました。
ポートとして80、443 3306という、標準的なものが使用されている事が判ります。

http://localhost でこのようにXAMPPの画面になります。
これで、このパソコンには「Apache、MariaDB、PHP」が全てインストールされたのと同じ事になります。
さらに、MariaDBのWebコントローラーであるphpMyAdminも同梱されています。
これらをバラバラにインストールする事も可能ですが、XAMPP一本インストールするだけで、全部構成したのと同じになるので、非常に楽です。
インストールした、C:\xampp には、htdocs というフォルダが出来ているはずです。
これがWEBアプリのルートフォルダになります。
例えば
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>XAMPP環境</title>
</head>
<body>
<p>ここはXAMPPのルートフォルダです</p>
</body>
</html>
というHTMLを、index.htmlとして保存すると、

と表示されます。
ここまでは、Apacheが正常起動した場合ですが、起動しない場合は、80ポートを使用しているプログラムがないかどうか、確認してみてください。

Windowsの機能の有効化で、インターネットインフォメーションサービスにチェックが入っていないか確認してください。
また、バージョン7の頃のSkypeは、80ポートでの待機がありました。
この記事を書く際のインストールでは問題がでませんでしたので、Skypeのバージョン8だと大丈夫かもしれませんが、最悪ではSkypeのアンインストールが必要かもしれません。
このXAMPP環境は、PHPも最新ですし、MariaDB でデータベースも完備していますから、例えばWordPressのファイルをダウンロードして設定すれば、すべての機能を動作させる事が可能です。
という事は、
WordPressを CMS(Content Management System: コンテンツ管理システム ) として使い、社内サイトを構築して、ある程度出来上がったら、ノートパソコンに移し、XAMPPで企画会議などで実際の動作を見せる
や
PHPで組んだWEBアプリケーションを依頼先で実際に動かして、仕様などを検討する。
といった目的に使用できます。
PHPもデータベースも完全なものですから、最近のPHP開発の主流である、PHPフレームワークも入ります。
例として、CakePHP をインストールしてみましょう。
CakePHPは、Composer からインストールします。


サイトから、Composer のインストーラーをダウンロードします。
落とされた、Composer-Setup.exe を実行するだけで、Composer がインストールされます。

Nextを押して行くだけです。特に設定する項目はないので、デフォルトで大丈夫です。
インストールが完了したら、コマンドプロンプトを起動します。
C:\Windows\system32>cd c:\xampp\htdocs
#XAMPPのルートディレクトリに移動します。
C:\xampp\htdocs>composer self-update
You are already using composer version 1.8.5 (stable channel).
#composer を最新にします。
C:\xampp\htdocs>mkdir cake3app
#CakePHPをインストールするフォルダとして、cake3appを作成します。
C:\xampp\htdocs>composer create-project --prefer-dist cakephp/app cake3app
#CakePHPをインストールします。
Installing cakephp/app (3.7.1)
- Installing cakephp/app (3.7.1): Loading from cache
Created project in cake3app
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- cakephp/cakephp 3.7.7 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.6 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.5 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.4 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.3 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.2 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.1 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- cakephp/cakephp 3.7.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- Installation request for cakephp/cakephp 3.7.* -> satisfiable by cakephp/cakephp[3.7.0, 3.7.1, 3.7.2, 3.7.3, 3.7.4, 3.7.5, 3.7.6, 3.7.7].
To enable extensions, verify that they are enabled in your .ini files:
- C:\xampp\php\php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
上記例では、インストールに失敗しました。
intlモジュールが見つからないのが原因です。
その場合、XAMPPをインストールしたフォルダに、php というフォルダがあり、php.ini というファイルがあるはずです。
;extension=imap
↓
extension=intl
#先頭の;をとって、有効化します。
これで、先ほどのCakePHPをインストールするコマンドを再度実行すれば、CakePHPがインストールできます。

インストールに成功したら、http://localhost/cake3app/ でCakePHPの画面が立ち上がります。
WEBページや、WEBアプリの開発に僅かでも関わっている方であるなら、ノートパソコンには出来るだけ入れておいた方が良いと思います。