WindowsにWebサーバ構築(XAMPP編)

WindowsにXAMPPをインストールして、Webサーバ・MySQL(MariaDB)・PHPが動作する環境を作ろう。

ローカル環境のアプリでWebサーバを作る

Webページを作ったり、PHPでプログラミングした時の動作確認をするのに、サーバを建てたりレンタルサーバを使わず、パソコンにパーソナルWebサーバ構築とWebアプリケーションが動作する環境を実現できるアプリを紹介します。

ここではWindowsにXAMPPというアプリをインストールして設定する方法を掲載します。その他MacではMAMPというアプリを紹介しているので、そちらも参考にしてください。

XAMPPとは

XAMPPは複数のプラットフォームでApache(Webサーバ)、MySQL(MariaDB)、PHP/Perlが動作できるようにするアプリです。XAMPPは以下の略称から名前ができています。

X - Windows、Linux、macOSといったクロスプラットフォーム(X)
A - Apache
M - MySQLもしくはMariaDB
P - PHP
P - Perl

上記のようにXAMPPはWindows版、Mac版、Linux版があります。ここではWindows版の説明を掲載します。

XAMPPインストール

公式サイト からインストールファイルをダウンロードして実行します。あとは画面に従って進めていきます。

この警告が表示されたときはアクセスを許可してください。

インストールが完了したら、XAMPPコントロールパネルを起動してApacheとMySQLのそれぞれの横にある「start」ボタンで開始します。

XAMPP起動時にファイアーウォールが有効になっていると、mysqld.exeがファイアウォールによりブロックされます。この場合はMySQLを使用するために「アクセスを許可する(A)」を選択してください。

XAMPPのセキュリティ対策

インストールするだけでWebサーバが動作する状態になっているのですが、その前にいくつかセキュリティ対策のための設定をします。デフォルトのままWebサーバを動作させると、ローカルからもリモートからもアクセスできる設定になっています。リモートからアクセスできるのは少々危険ですので、ローカルからのみアクセスできるように設定を変更します。

「C:\xampp\apache\conf\httpd.conf」ファイルをエディタで開いて編集します。Listen設定を変更してアクセス制限します。

Listen 80

この1行を検索してください。この行をコメントアウトして、以下の設定に書き換えます。

# Listen 80
Listen 127.0.0.1:80

これで自身のパソコンからの80番ポートのみのアクセスできるようになりました。

データベースのパスワード変更

XAMPPインストール直後のデフォルトだとデータベースにアクセスするパスワードは設定されていません。このままだとあまりよろしくないので、パスワードを変更します。

XAMPPを起動してApacheとMySQLを「start」ボタンを押して開始します。MySQLの「admin」ボタンを押すと、ブラウザにphpMyAdminのコンソールが表示されます。

画面の「User accounts」タブを選択して、「ユーザ名:すべて」を選択して、「Remove selected user accounts」の実行ボタンを押して削除します。

同じ「User accounts」タブの、「ユーザ名:root」、「Host name:localhost」の「Edit privileges」をクリックします。

画面上部の「パスワードを変更する」をクリックします。

変更するパスワードを入力し、右下の実行ボタンを押して変更します。

変更後にXAMPPを一旦終了して、再起動後にphpMyAdminを再び起動しようとすると、以下のエラーメッセージがでます。

このエラーを消すために、phpMyAdminの設定ファイルに先程変更したパスワードを記述します。「C:\xampp\php\phpMyAdmin\config.inc.php」の設定ファイルをエディタで開いてください。以下の箇所を新しいパスワードに変更してください。

$cfg['Servers'][$i]['password'] = 'newpassword';

XAMPPを再起動してphpMyAdminを起動すると、エラーなくphpMyAdminの画面が表示されます。

XAMPPのインストールと各設定は以上です。