XAMPP(ザンプ)とは?PHP、Perl、Apache、MariaDBのローカル実行環境・開発環境

PHP、Perl、Apache、MariaDBのローカル実行・開発環境 XAMPP(ザンプ)

PHPやPerlなどのサーバーサイドで動くプログラミング言語(サーバーサイド・スクリプト)を使ってアプリケーションを開発したり勉強する場合、あらじめWebサーバーの他、Webアプリケーション開発には欠かせないSQLデータベースサーバーなど、ソフトウェア開発環境の構築が必要となります。

JavaScriptのようにWebブラウザ上で動くプログラム(クライアントサイド・スクリプト)であれば、Webサーバーやデータベースは不要で、Webブラウザーとプログラムを書くツールがあればいいのですが、サーバーサイドで動作するプログラミング言語で作られたアプリケーションの場合、プログラムの実行エンジンのほかインターネットに繋がったWebサーバーやデータベースといった開発環境、実行環境が必要となります。プログラミングの学習者の学習環境でも同じです。

しかし、これらのソフトウエアを個別にインストールし、それぞれ連携させるには手間がかかり初心者には非常に難易度が高いものです。環境構築で挫折してしまう人も少なくありません。

そこで、パソコン内に擬似的にWebサーバーやデータベースを用意し、サーバーサイド言語で作られたアプリケーションであってもパソコン内でプログラムの動作を確認できるようにしたのが、apachefriends.orgが無償で配布している「XAMPP(ザンプ)」です。

すなわち、パソコンの中だけでWebサーバー、データベースとブラウザーを接続させPHPやPerlなどのサーバーサイド・スクリプトプログラムを動作させるのです。

XAMPPはこのように、テスト環境や学習環境の構築に役立ちますので、開発者だけでなく、プログラミング学習者に広く利用されています。

以下にXAMPPとは何か?について説明します。

XAMPPとは?

XAMPPとは、PHPやPerlといったプログラミング言語に加え、Webアプリケーション開発に必要なソフトウェアがパッケージ化されたものです。パソコンにXAMPPをインストールするだけで、手軽に開発環境、実行環境また学習環境を構築することができます。

XAMPPという名前は、それぞれ下記の特性・ソフトウェアの頭文字を意味しています。

X:クロスプラットフォーム
A:Apache(Webサーバ)
M:MariaDB(SQLデータベースサーバ)
P:PHP
P:Perl

それぞれについて簡単に解説します。

クロスプラットフォーム

XAMPPはWindows・macOS・Linuxの各OSで動作させられる、クロスプラットフォームなパッケージです。そのため、チームで開発を行なう場合など、メンバー毎に使うOSが異なるケースにも対応できます。

Apache(Webサーバー)

Apache HTTP Server(通称:Apache)は、世界的に普及しているWebサーバーソフトウェアの一つです。Webサーバーとは、ブラウザからのリクエストに応じてHTMLや画像ファイルを返す機能を持つソフトウェアで、PHPやPerlなどのサーバーサイドスクリプト(Webサーバー上で動作するプログラム)を実行するためにも必要となります。Webアプリケーションの公開には必須の存在です。

MariaDB(SQLデータベースサーバー)

SQLデータベースサーバーは、アプリケーションで取り扱うデータの保管・検索などの機能を持つソフトウェアです。旧バージョンのXAMPPではMySQLが採用されていましたが、現在は、MySQLの派生であるMariaDBへと移行されています。

PHP/Perl

PHPやPerlはサーバーサイドスクリプト言語とも呼ばれ、Webサーバー上で動作するプログラミング言語の一種です。特にPHPはWebに特化した言語のため、多くのWebアプリケーションやサービスの開発に用いられてきました。Webアプリケーション開発に興味のある方は、学習する価値のある言語です。

XAMPPのバージョン

XAMPPに含まれるソフトウェアのバージョンは、XAMPPの各バージョン毎に異なります。

特にプログラミング言語・SQLデータベースサーバーについては、バージョンによって機能や動作の違いがありますので、事前に必要なバージョンを確認してからインストールするようにしましょう。

なお、使用しているXAMPPに含まれる個別のソフトウェアのバージョンが古くなった場合は、個別のソフトウェア毎にアップデートするのではなく、新しいバージョンが含まれたXAMPPを再インストールする事をおすすめします。

XAMPPを使うメリットをまとめると、

・言語の学習やWebアプリケーション開発に必要な環境が、手軽に構築できる

・外部にサーバを用意しなくても、開発途中のアプリケーションの動作確認ができる(全て自分のPCだけで完結する)

・無償で使うことができる

になります。