このページでは、XAMPPというアプリケーションを使って、PHP+MySQLのデスクトップ開発環境を作る手順を説明します。
XAMPPとは
XAMPPとはApache Friendsという団体が配布する、PHP実行環境をかんたんに構築できるアプリケーションです。
- X = Cross platform(Linux/Windows/Mac)
- A = Apache(主流のWebサーバ用ミドルウェア)
- M = MySQL/MariaDB
- P = PHP
- P = Perl
となっています。
PHP+MySQLの組み合わせはWebアプリケーション構築におけるメジャーな構成あり、実際の業務でも主流のひとつです。今回はそんな、XAMPPのインストール方法を説明します。
なお、ひとつひとつのサービスを自力でインストールしていくこともできますが、非常に面倒な作業ですので、是非XAMPPを活用してください。
MariaDBについて
最近のXAMPPでは、MySQLの互換製品として、MariaDBというデータベースが組み込まれています。
MariaDBはMySQLと互換性があるため、MariaDBを使って学習していけば、実務でMySQLを扱うことができます。
(こまかな部分では差異がありますが、勉強用としては問題ありません)
XAMPPのインストール
インストーラーの取得
配布サイトからインストーラーを取得します。
上記よりプラットフォームに合ったパッケージをダウンロードしてください。
今回はWindowsを前提にしているので、『Windows向けXAMPP』を押してください。
自動でダウンロードがはじまると思います。
(執筆時点では、バージョン5.6.19です)
インストール
インストーラー(xampp-xxxxxxx-installer.exe)をダウンロードしたら、起動します。
各設問について確認しながら、基本的にはそのまま「OK」「NEXT」で進めていってください。
インストール先についても今後の説明のため、デフォルトの「C:\xampp」にしておいてください。
パッケージの選択画面では最低でも、「Apache」「PHP」「MySQL」「phpMyAdmin」「Fake Sendmail」を選んでおいてください。
もし以下のようなセキュリティエラーが出たら、「アクセスを許可する」を押してください。
ApacheとMySQL(MariaDB)の起動
『XAMPP Control Panel』を開きます。
インストールが終わったあとに自動で起動する場合もありますが、起動しなかった場合は、Windowsのメニューより直接、『XAMPP』→『XAMPP Control Panel』を開きます。
すると、以下の画面が表示されます。
ここで、ApacheとMySQLの「Start」ボタンを押すと、両者が起動します。
もしうまく起動できない場合は、『Skype』などの80番ポートや443を使うサービスが起動していないか、ご確認ください。そういったサービスを一度終了させてから、起動を試してください。
サービス自動起動の設定
そのままの状態では、マシンを停止/再起動するとApacheやMySQLが停止した状態になっているので、再度Control Panelを立ち上げてStartする必要があります。
そこで、自動起動の設定をすることで、マシン起動時に自動で各サービスを起動するようにできます。
XAMPP Control Panelを管理者として実行
スタートメニューなどから、XAMPP Control Panelのアイコンを右クリックすると、メニューが表示されます。そこから、『管理者として実行』を選択します。
サービスにチェックを入れる
コントロールパネル上から、ApacheとMySQLの左端のチェックを入れます。
「Click Yes to install the Apache service」が表示されたら、Yesをクリックします。
サービスを確認
コントロールパネルの右側にある、「Services」をクリックすると、Windowsに登録されているサービスの一覧が表示されます。ここにApacheとMySQLが表示されるはずです。
ローカルApacheへのアクセス
インストールが終わったら、動作確認をします。
localhostへアクセス
ブラウザのURL欄に、「http://localhost/」を入力します。(localhostと打ち込むだけでも補完してくれます)
以下のような画面が表示されれば成功です。
localhostって??
OSに登録されている、127.0.0.1というIPへのエイリアスです。
(127.0.0.1は自分のマシンを指すルールになっており、WindowsでもLinuxでも変わりません)
hostsファイルにホスト名とIPの対応を追記することで、たとえば
http://jibun/
というエイリアスを追加して、localhostと同じようにすることも可能です。
また、このhostsでの定義はDNSよりも優先されるため、yahoo.co.jpのIPを127.0.0.1に書き換えるようなこともできます。(そんなことをする意味はありませんが、説明として・・)
hostsファイルを書き換える手法の実用的な用途としては、たとえば、サーバ移転をするときにホストのIP向け先を変えて、関係者だけで動作テストをする場合になどに使います。
その他、社内だけで使うサーバについてのホスト名管理に使ったりします。
phpMyAdminも確認しておく
右上にある「phpMyAdmin」をクリックします。
すると、MySQLを管理するための管理画面が表示されます。
phpMyAdminはPHPで書かれた、MySQLを管理するためのWebアプリケーションでして、実務でも使われているものです。
まずはphpMyAdminのトップページが表示されたらよしとしましょう。
phpinfoも確認しておく
右上にある「PHPInfo」をクリックします。
これはPHPの組み込み関数であるphpinfo()を出力した画面となっており、PHPの動作状況や、各種設定を確認できます。
ドキュメントルート
Apacheでは、特定のローカルファイルシステムのディレクトリを、ドキュメントルートとして公開します。
デフォルト設定では、
C:\xampp\htdocs\
がドキュメントルートになっています。
htdocsの直下に置いてあるindex.phpを見ると、/dashbord/に転送するプログラムが書かれているのがわかります。
簡易的なPHPプログラムを作成
それではドキュメントルートである、
C:\xampp\htdocs\
をエクスプローラーで開きます。
そしてhtdocsの中に、testというディレクトリを作成ます。
最後に、index.phpというテキストファイルを作成します。
(保存時にUTF-8にするのを忘れないでください)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <title>テストページ</title> </head> <body> <?php echo "こんにちは!"; ?> </body> </html>
ローカルApacheからPHPプログラムの実行
ブラウザから、
http://localhost/test/
へアクセスしてください。
「こんにちは!」と表示されれば成功です。
メール送信の設定
そのままではメール送信を行うことができません。
Windowsローカル環境で実際のメール送信まで設定するのは、サーバ側も絡んできて複雑になるため、今回は「mailtodisk」を使って、ローカルディスクにメールの内容を保存する設定をします。
プログラムから送信されたメールは、
C:\xampp\mailoutput
へ保存されていくようになります。
php.iniを編集
C:\xampp\php\php.ini
をテキストエディタで開き、「sendmail_path」の行を探します。
(Ctrl+Fで検索すると楽です)
;sendmail_path =
という風になっていると思いますので、これを、
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
と修正して、保存します。
Apacheを再起動して適用
『XAMPP Control Panel』を起動して、Apacheを一度Stopし、再度Startします。
これでメールの設定が適用されました。