こんにちはー
相変わらず、新しいWebサービスのためのデザインで悪戦苦闘しているs3pwです。
誰かデザイン教えてください><
さてさて、みなさんは開発環境はどんな感じですか?
正直なところ開発環境を満足できる状態にするまで結構時間かかりますよね。
僕もその1人です。
ということで、あらゆることを調べつくし、築き上げてきたAptana+XAMPPという開発環境について、僕の知るすべてを惜しみなく紹介していくシリーズ 第1弾・XAMPP導入編です。

といっても、XAMPPの導入なんというのは調べたらいくらでもでてくるのですが、一応Aptana+XAMPPについて一通りわかりやすく説明していくのが今回の趣旨なので、もうXAMPP導入できとるわっという方はAptana編をできる限り早く公開するので、しばしお待ちください。
XAMPPとAptanaって何?っていう人はこちらの最初にちょろっと書いてます。

今回の記事のモットーは、
XAMPP導入について必要最低限の情報を、わかりやすく紹介する
です。
なので、導入に関係するところは細かく説明しますが、それ以外は詳しく説明しません。
でも、これさえすれば一通りの開発環境が構築できるというところは説明します。
後々、僕がしている他の設定について別の記事で紹介する予定です。

PCはWindows7で、
XMAPPのバージョンはこの記事の執筆時点(2012/9/3)での最新版1.8.0について説明します。
それでは、いってみよー

XAMPPの導入

XAMPPのダウンロード

XAMPPのサイトを開きます。日本語なので安心してください。

インストーラ・ZIP版・7Z版の3種類が用意してあってどれでもいいですが、
今回はzip版をダウンロード、そして解凍します。

XAMPPのインストール

解凍してできたxamppフォルダを任意のディレクトリに移動します。
"C:\"に移動させると楽です。今回は"C:\"に移動させたという前提で説明します。
"C:\"以外に移動させる場合は、xamppフォルダの"setup_xampp.bat"を実行する必要があるみたいです。(上記のホームページに書いてありました。)

ローカルサーバ・データベースの起動

xamppフォルダを開くと次の画像のようにいろいろ入ってます。でも、利用するのはほんのちょっとです。

画像には写ってないのですが、フォルダ内にhtdocsフォルダというのがあります。
ここがローカルサーバのルートディレクトリになります。後で出てくるので、覚えといてください。
そして、xamppフォルダ内で使えるのが、

  • xampp-control.exe : XAMPPコントロールパネルの起動
  • apache_start.bat / apache_stop.bat : ローカルサーバ(Apache)の起動/停止
  • mysql_start.bat / mysql_stop.bat : データベース(MySQL)の起動/停止
  • xampp_start.exe / xampp_stop.exe : ローカルサーバとデータベースの一括起動/一括停止

僕はxampp_start.exe / xampp_stop.exeをランチャーに設定して起動/停止しています。
でも最初はコントロールパネルから。
"C:\xampp\xampp-control.exe"を実行して、コントロールパネルを起動。
すると、言語設定が表示されるので好きな方を選択。
すると、次のようなパネルが起動します。
ここからローカルサーバとデータベースの起動ができます。
"Apache"と"Mysql"の右側の[Start]をクリックして、それぞれを起動。
文字の背景が黄緑色になったら起動したことを表しています。
終了するときは、[Stop]を押せばOK。

ブラウザからのアクセス

さきほどの"Apache"と"Mysql"の右側の[Admin]をクリックして、
それぞれページが表示されることを確認します。
"phpMyAdmin"と書かれたページは後で確認することがあるので、そのままで。
"http://localhostphp/xampp/splash.php" のページの"日本語"をクリック
ここがXAMPPのスタートページです。

セキュリティ設定

ユーザー認証の設定

XAMPPは、初期状態はパスワードもアクセス制御もしていなくて、
セキュリティが弱いので、その設定をします。

XAMPPのスタートページのサイドバーの"セキュリティ"をクリック
ここで要注意と警告されていて、あきらかにセキュリティ的によろしくないみたいですね。
なので、表の下の"http://localhostphp/security/xamppsecurity.php"をクリック
開いたページの"XAMPPのディレクトリ制御(.htaccess)"のところでユーザ名とパスワードを入力します。
これを設定することで、ユーザ名とパスワードがないとローカルサーバにアクセスできなくなります。
xamppdirpasswd.txtにチェックを入れると、記載されたテキストファイルにユーザ名とパスワードが保存されます。
[安全なXAMPPディレクトリを作成して下さい。]ボタンを押すことで 、ユーザ認証の設定完了。
次のメッセージが表示されればOK。
ここで、一度ページを再読み込みします。
すると、次のようなログイン画面が出てくるので、今さっき設定したユーザ名とパスワードを入力して、ログインします。

で、もう一度表の下の"http://localhostphp/security/xamppsecurity.php"をクリックして、 次は"MYSQL 項目: 'ROOT' パスワード"のところで、パスワードを2回入力。
これを設定することで、phpMyAdminへのアクセスやPHPからのデータベースアクセスの際に、ユーザー名"root"と設定したパスワードがないとアクセスできなくなります。

[http]と[cookie]の選択ボタンがありますが、認証方式がBasic認証かクッキーによる認証どちらにするかなので、通常であればどちらでも問題ありません。僕はデフォルトの[cookie]で。
mysqlrootpasswd.txtにチェックを入れると、記載されたテキストファイルにMySQLのUserIDとパスワードが保存されます。
[パスワードを変更しました。]ボタンをクリックでMySQLのパスワードが設定されます。
次のメッセージが表示されればOK。
再度"セキュリティ"ページに戻り、表のステータスに赤い"要注意"がなくなっていればOK。
FTPサーバのところは使わないのであれば、"不明"のままで大丈夫です。
そして次に、XAMPPコントロールパネルで"MySQL"の[Stop]を押して、もう一回[Start]を押してデータベースを再起動します。
その後、さっきから開きっぱなしのphpMyAdminを再読み込みします。
すると、ログイン画面が出てくるので、ユーザー名"root"と先ほど設定したパスワードでログインします。
ここでログインできれば、ユーザ認証の設定は完了です。

自分の作ったファイルにアクセスする

では、一度自分でつくったファイルにアクセスしてみます。

さっき説明した"C:\xampp\htdocs"がデフォルトではルートディレクトリになっていて、
"http://localhost/"と対応します。
このhtdocsフォルダ内に、適当にPHPファイルを作って、表示してみます。
たとえば、"test.php"というファイルと作って、次のコードを書きます。

<?php
  phpinfo();
?>

そして、"http://localhost/test.php"にアクセスして、表示されればひとまずOKです。

http.confファイルの修正

さきほどパスワードなどを設定しましたが、まだ外部からアクセスできる状態なので、サーバーレベルでアクセス制御を行います。

"C:\xampp\apache\conf\httpd.conf"ファイルを見つけてもらって編集します。
このhttpd.confというファイルは、サーバであるApacheの様々な設定が行えるファイルで、開くとズラーッと文字が並んでます。ほとんどがコメントですが。
そして、201行目以降に次のような記述があります。("#"から始まるのがコメントで、そのコメントは省いてあります。)

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/xampp/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

ここがアクセス制御を行う設定で、設定内容の詳細は割愛しますが、簡単に説明すると、
「"/xampp/htdocs"ディレクトリは誰でもアクセスできるけど、
それ以外のディレクトリは誰もアクセスできないよ」

ということです。つまり、デフォルトではさっき出てきたルートディレクトリは誰でもアクセスできる設定になっています。

セキュリティ対策として、XAMPPをインストールしているPC以外はアクセスできないように設定します。
先ほどの記述の後半部分を次のように書き換えます。

<Directory "/xampp/htdocs">
    Options FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Deny from All
    Allow from localhost 127.0.0.1
</Directory>

"Options"の後の"Indexes"を削除しています。
この"Indexes"というのは、
「ファイルが指定されていない時にはそのディレクトリのファイル一覧を表示します」
という設定で、他のファイルが丸見えになるというセキュリティ的によろしくない状況なので、
"Indexes"は削除します。
あと残りのところを書き換えると、
「localhost(127.0.0.1)からのアクセスしか受け付けないですよ」
つまり自分のPCからしかアクセスできない設定になります。
この設定は.htaccessファイルで行っても問題ないです。
もし同一LAN内の他のパソコンからアクセスしたいなどの場合は、ここらへんを編集する必要があります。
ここで編集した内容を反映させるために、サーバを再起動させます。

そして、もう一度"http://localhost/test.php"にアクセスして、ここで表示されれば完璧!
表示されなかったら、残念・・・http.confファイルの設定を間違えています。
ここのアクセス制御が初めての人は分かりづらいところだと思うので、慎重に設定していくといいと思います。

PHPからデータベースへのアクセス

一応PHPからデータベースへのアクセス方法をめっちゃ簡単なコードで説明します。

<?php
  $server = "localhost"; // サーバー
  $user = "root"; // ユーザ名
  $pass = "****"; // 設定したパスワード

  // データベースに接続
  $connect = mysql_connect($server, $user, $pass);

  // 現在の時刻をデータベースから取得・出力
  $result = mysql_query('SELECT now()');
  echo mysql_result($result, 0);

  mysql_close($connect);
?>

これで時刻が出力されれば、データベースも機能しています。
このコードはデータベースへの接続確認だけのためのコードで、
実際使うときはデータベースからデータ取得して、ごにょごにょするところですが、
それは他の解説サイトにおまかせします。

XAMPP導入完了!

お疲れさまでした!てか、僕も書くのに疲れましたε-(;ーωー
これで後は、"C:\xampp\htdocs"ディレクトリにHTMLなり、PHPなり置いて、"http://localhost/○○"にアクセスすることで、一応ローカルでの開発ができます。
そして、次回解説するAptanaと組み合わせて、さらに開発環境を構築していきます。

XAMPP導入についてはいろんなところを参考にさせていただきましたが、めっちゃまとまってて大変参考になったのがこちら。ありがたやー。
XAMPPの使い方

Tags : ,