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。
レンタルサーバーと環境を合わせたい場合や、最新版の動作が怪しい時は過去のバージョンを取得しましょう。Windows版以外は確認していません。
ダウンロードしたファイルをダブルクリックで実行します。
ユーザーアカウント制御の確認は「はい」でインストールを進める。
64bit版のWindowsを使用している人は、その後に嫌な感じのダイアログが出現します。
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。
何を入れるか確認されるので、必要無いものは外してもいいんですが、赤枠で囲んでいる、Apache・MySQL・PHP・phpMyAdminは入れておいて下さい。
あとの説明もこれらは入ってる前提で説明します。
ちなみにphpMyAdminは、ブラウザ上からデータベースを管理できるようにしてくれる、Webアプリケーションです。
次に進むとインストール先を聞いてくるので、先ほど説明した通り、変更するのであればC:¥Program Files (x86)以外で変更しましょう。気にしない人はそのままで良いです。
WordPress等のCMSを簡単に導入することができるBitnamiのページを開くかどうかです。
インストールするかどうかではないのでチェック外すかブラウザ閉じるかの手間の違いしかありません。
興味があればどんなものがあるか見てみるといいと思います。
インストールの最終確認です。Nextでインストールを開始します。
インストールには少し時間がかかります。
途中で、Apacheがネットワーク使用するのでファイアウォールの設定が出てくるので、プライベートネットワークだけにチェックして、アクセスを許可するを選択して下さい。
許可するとすぐにインストールが完了します。
そのままXAMPPを起動するのでチェックはそのままでFinishをクリックします。
XAMPPの初期設定
画像はデフォルトのまま全てインストールした状態のものです。
エラーログが出ている時の対処
今回赤く表示されているログがあります。これはXAMPPで使用するApacheなどで使用するネットワークのポート番号を、他のアプリケーションなどで使用している場合などに出ます。
ログを見て分かればそれで良いのですが、わからない時はNetstatボタンを押してログに表示されている番号と突き合わせたりして何が原因か調べます。
よくバッティングするので有名なのがSkypeです。
Apacheで使用するhttpの80と、httpsの443がかぶります。
今回私もSkypeをデフォルトの状態で起動していたので、怒られています。
Skypeのツールから設定を開きます。詳細>接続にタブを合わせて、追加の受信接続にポート80と443を使用のチェックを外して保存して下さい。
Skypeを再起動して、XAMPPのnetstatを確認すると問題のあったポートが解放されています。
問題がなくなったので、ApacheをStart、続いてMySQLもStartさせます。
ApacheとMySQLの動作確認と初期設定
MySQLは初回時にファイアーウォールの設定が出てくるのでApacheと同じく、プライベートのみ許可します。
正常に起動するとApacheとMySQLの背景が淡青になって、StartボタンがStopボタンに変わります。
問題がなければ、正しく動いているか確認します。まずはWebサーバApacheのAdminボタンを選択して下さい。
正常に動いている場合は、ブラウザが起動し、http://localhost/dashboard/のページが表示されます。
※XAMPPのバージョンが5.6.11以降の場合なので、それより古いバージョンは異なります。エラーのような画面でなければ正常にApacheは稼働しているのでそのまま進めても問題ないです。
セキュリティの設定
ここはバージョンによって多少異なります。
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になります。
最初にセキュリティ設定ページにアクセスすると、このように表示されます。
セキュリティステータスが要注意な状態になっているので、画面真ん中にあるリンクから設定を行います。
MySQLの管理ユーザーのパスワードを設定
先にMySQLの管理者ユーザーであるrootにパスワードを設定します。
パスワードは分かりづらい強固なものを設定しましょう。
PhpMyAdminを検出しました。…(゚Д゚)なんやそれ?
正しくは、認証方法です。
- http:ベーシック認証。ブラウザの上の方にピョコンって出てくるタイプ。
- cookie:Googleアカウントとか一般的によく見かけるタイプ。
どっちでもお好みで。
チェックボックスにチェックをつけると、忘れた時用にユーザーとパスワードを記載したファイルが作成されます。もちろん、セキュリティ上よくないので、もし作ったとしてもすぐにどこか安全な場所に移動させて下さい。
パスワードを変更しました。ボタン…を押します(・ω・`)すごい名前。
rootのパスワードが変更されました。設定を有効にするために、MySQLを再起動してください。とあるので、XAMPPコントロールパネルからMySQLをStop→Startさせます。
XAMPPディレクトリの制御(.htaccess)
続いてディレクトリの制御です。制御って書いてるけどやってることは保護です。ベーシック認証かけます。
内容はさっきと同じなので説明するまでもないですね。
安全なXAMPPディレクトリを作成して下さい!!!!
出来た。
左のメニューからセキュリティをクリックしてセキュリティトップに戻ります。
ステータスが安全になっていたら完了です。
おまけ
セキュリティ項目の設定でチェックボックスでチェックした時のファイルの中身
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のディレクトリにベーシック認証をかけるという無駄な行為だった。
推奨されるセキュリティ対策…。いつか改善される…だろう…。