はぴすぷ

XAMPPで簡単にWeb開発環境(Apache・MySQL・PHP)を整える設定手順

      2015/11/11

まず始めに、XAMPPのバージョンによって内容が少し変わるので、先に伝えておきます。
ちょうど現時点の最新バージョンで少し変わったのでこんなことを最初に書いています(´・ω・`)
詳細は、「2015年7月からXAMPPの導入手順が分かりにくくなりました!対応の方法」で書きました。
2015/11/11追記:更に5.6.14で増えました…!
【XAMPP】2015年10月から導入手順がまた難解に!対応の方法!securityが無い!

私は以前Web系のエンジニアを2年程やっていたわけなんですが、XAMPPをインストールして、サクッとWeb開発環境(Apache・MySQL・PHP)を整えようと思います。

Web系エンジニア2年もやってるような奴がXAMPP使ってんじゃねぇ!というご意見。ごもっともですw
VMの設定とか色々してたら時間かかるので、サクッとやっちゃいたいと思います!

Webの開発とかよく分かってない人向けです。
独自ドメイン取って、WordPressでブログ始めたい!みたいな人に最適です。

スポンサーリンク

XAMPPについて

恐らく、この記事読むような人なら分かってる気はしますが、軽く説明しておきます。

XAMPPは、Web系の開発に必要になるであろう機能をまとめて簡単にインストールして管理できるフリーソフトです。Web系の開発に必要になるであろう機能というのが。

  • Apache:Webサーバ
  • MySQL:データベースサーバ
  • PHP:Web系プログラミング言語
  • Perl:Web系プログラミング言語
  • FileZilla:ファイル転送サーバ
  • Mercury:メールサーバ
  • Tomcat:Webサーバ(Java系)

この辺りをまとめて簡単にインストールして設定できます。
(めっちゃざっくり説明です。厳密には色々違います)
特によく使われる上の4つの頭文字と、色んなOSに対応するというクロスプラットフォームのXを足してXAMPPという名前になったそうです。

ただ、Macの場合はMAMPの方が利用者も多く評価も高そうなので、MAMPを使うことをおすすめします。
【MAMP】3分でMacのWeb開発環境(Apache,MySQL,PHP)を用意・初期設定する方法!

XAMPPのインストール

それでは早速インストールしていきましょう。

XAMPP公式で最新版をダウンロードします。この記事を書いた時点では5.6.11

SS_0476

レンタルサーバーと環境を合わせたい場合や、最新版の動作が怪しい時は過去のバージョンを取得しましょう。Windows版以外は確認していません。

ダウンロードしたファイルをダブルクリックで実行します。
ユーザーアカウント制御の確認は「はい」でインストールを進める。

SS_0496_0

64bit版のWindowsを使用している人は、その後に嫌な感じのダイアログが出現します。

SS_0480

Important! Because an activated User Account Control (UAC) on your system some functions of XAMPP are possibly restricted. With UAC please avoid to install to C:¥Program Files (x86) (missing write permissions). Or deactivate UAC with msconfig after this setup.

Google先生出番です!

重要!ので、あなたのシステム上の活性化ユーザーアカウント制御( UAC )はXAMPPの一部の機能は、おそらく制限されます。 UACとCにインストールすることは避けてください:¥プログラムファイル( x86の) (失われた書き込み権限が) 。または、この設定後MSCONFIGでUACを無効にします。

なるほど。分からん(・∀・)

つまり、32bit用のプログラムをインストールする場所は、C:¥Program Files (x86)だけど、余計な機能が働いてXAMPPがうまく動かない可能性があるからC:¥Program Files (x86)インストールするのはやめてね。もしするならUACを後で無効にしてね。ということらしい。
UAC無効にはしたくないので、C:¥Program Files (x86)以外にインストールしましょう。

問題はないので、OK押して進める。その後もNext

SS_0455

何を入れるか確認されるので、必要無いものは外してもいいんですが、赤枠で囲んでいる、ApacheMySQLPHPphpMyAdminは入れておいて下さい。
あとの説明もこれらは入ってる前提で説明します。

SS_0456

ちなみにphpMyAdminは、ブラウザ上からデータベースを管理できるようにしてくれる、Webアプリケーションです。

次に進むとインストール先を聞いてくるので、先ほど説明した通り、変更するのであればC:¥Program Files (x86)以外で変更しましょう。気にしない人はそのままで良いです。

SS_0457

WordPress等のCMSを簡単に導入することができるBitnamiのページを開くかどうかです。
インストールするかどうかではないのでチェック外すかブラウザ閉じるかの手間の違いしかありません。
興味があればどんなものがあるか見てみるといいと思います。

SS_0458

インストールの最終確認です。Nextでインストールを開始します。

SS_0463

インストールには少し時間がかかります。

SS_0464

途中で、Apacheがネットワーク使用するのでファイアウォールの設定が出てくるので、プライベートネットワークだけにチェックして、アクセスを許可するを選択して下さい。

SS_0465

許可するとすぐにインストールが完了します。
そのままXAMPP起動するのでチェックはそのままFinishをクリックします。

SS_0466

XAMPPの初期設定

画像はデフォルトのまま全てインストールした状態のものです。

SS_0467

エラーログが出ている時の対処

今回赤く表示されているログがあります。これはXAMPPで使用するApacheなどで使用するネットワークのポート番号を、他のアプリケーションなどで使用している場合などに出ます。

ログを見て分かればそれで良いのですが、わからない時はNetstatボタンを押してログに表示されている番号と突き合わせたりして何が原因か調べます。

SS_0473

よくバッティングするので有名なのがSkypeです。
Apacheで使用するhttp80と、https443がかぶります。

今回私もSkypeをデフォルトの状態で起動していたので、怒られています。

Skypeのツールから設定を開きます。詳細接続にタブを合わせて、追加の受信接続にポート80と443を使用チェックを外して保存して下さい。

SS_0471Skypeを再起動して、XAMPPのnetstatを確認すると問題のあったポートが解放されています。

SS_0474

問題がなくなったので、ApacheStart、続いてMySQLStartさせます。

ApacheとMySQLの動作確認と初期設定

MySQLは初回時にファイアーウォールの設定が出てくるのでApacheと同じく、プライベートのみ許可します。

SS_0477

正常に起動するとApacheMySQLの背景が淡青になって、StartボタンStopボタンに変わります。
問題がなければ、正しく動いているか確認します。まずはWebサーバApacheAdminボタンを選択して下さい。
SS_0478_0正常に動いている場合は、ブラウザが起動し、http://localhost/dashboard/のページが表示されます。
※XAMPPのバージョンが5.6.11以降の場合なので、それより古いバージョンは異なります。エラーのような画面でなければ正常にApacheは稼働しているのでそのまま進めても問題ないです。
SS_0498

セキュリティの設定

ここはバージョンによって多少異なります。

2015/11/11追記:5.6.14以降はこちらも参考にして下さい。
【XAMPP】2015年10月から導入手順がまた難解に!対応の方法!securityが無い!

現在の最新版である、5.6.11では通常では日本語に対応していません。
それ以前のバージョンでも文字化けが起こったり、一部でエラーが起こっています。
今後改善される可能性はありますが、日本語に対応する為の方法を別記事「2015年7月からXAMPPの導入手順が分かりにくくなりました!対応の方法」に書いたので、そちらを参考にしてみてください。

日本語化の対応を行った前提で話を進めます。

セキュリティの設定ページへのリンクは用意されていないので、こちらのURLへアクセスして下さい。
http://localhost/security/lang.php?jp

※リダイレクトされるのでブラウザに表示されるURLはhttp://localhost/security/index.phpになります。

最初にセキュリティ設定ページにアクセスすると、このように表示されます。
セキュリティステータス要注意な状態になっているので、画面真ん中にあるリンクから設定を行います。

SS_0444_0

MySQLの管理ユーザーのパスワードを設定

先にMySQLの管理者ユーザーであるrootにパスワードを設定します。

SS_0446_0

パスワードは分かりづらい強固なものを設定しましょう。
PhpMyAdminを検出しました。…(゚Д゚)なんやそれ?
正しくは、認証方法です。

  • http:ベーシック認証。ブラウザの上の方にピョコンって出てくるタイプ。

SS_0499_0

  • cookie:Googleアカウントとか一般的によく見かけるタイプ。

SS_0501

どっちでもお好みで。

チェックボックスにチェックをつけると、忘れた時用にユーザーとパスワードを記載したファイルが作成されます。もちろん、セキュリティ上よくないので、もし作ったとしてもすぐにどこか安全な場所に移動させて下さい。

パスワードを変更しました。ボタン…を押します(・ω・`)すごい名前。

rootのパスワードが変更されました。設定を有効にするために、MySQLを再起動してください。とあるので、XAMPPコントロールパネルからMySQLStopStartさせます。

SS_0447_0

XAMPPディレクトリの制御(.htaccess)

続いてディレクトリの制御です。制御って書いてるけどやってることは保護です。ベーシック認証かけます。
内容はさっきと同じなので説明するまでもないですね。
安全なXAMPPディレクトリを作成して下さい!!!!

SS_0448_0

出来た。

SS_0451_0

左のメニューからセキュリティをクリックしてセキュリティトップに戻ります。
ステータスが安全になっていたら完了です。

SS_0452

おまけ

セキュリティ項目の設定でチェックボックスでチェックした時のファイルの中身

C:\xampp\security\mysqlrootpasswd.txt

mysql user = root
mysql password = password(平文)

 

C:\xampp\security\xamppdirpasswd.txt

XAMPP user = hapisupu
XAMPP password = password(平文)

 

ベーシック認証の設定ファイル
C:\xampp\security\xampp.users

hapisupu:$pass$worDpAss$WordPaSS/wordPaSsWoRD.(ハッシュ)

 

C:\xampp\htdocs\xampp\.htaccess

AuthName "xampp user"
AuthType Basic
AuthUserFile "C:\xampp\security\xampp.users"
require valid-user

 

最後に

初めてXAMPPをインストールをした時、それは右も左も分からない状態で、ブログに書いてあることをただただ実行するだけでした。ある程度知識がついた上で、改めて取り組んでみると全く見え方が違いました。

今回のXAMPPのアップデートでサンプルプログラムなどが削除され、何が問題だったのか、また今まで最低限やっておけと言われていたセキュリティ対策がどういうものなのかを考えるいい機会になりました。

zipや7zipでの配布をやめて、インストーラーの中でユーザとパスワードを設定させることで、デフォルトの管理ユーザーが固定にならないようすることを考えた。それでも、結局ブログや書籍でサンプルに、ユーザ:rootパスワード:passwordと書いているのを真似するだろうから意味が無いかもしれない…。

そして残念なことを「おまけ」の項を書いている時に気づいた。「XAMPPディレクトリの制御(.htaccess)」で対応した内容が、中身の削除されたxamppのディレクトリにベーシック認証をかけるという無駄な行為だった。

推奨されるセキュリティ対策…。いつか改善される…だろう…。

 - Webサイト構築, XAMPP, フリーソフト ,