フリーPHPスクリプト配布サイト。
XAMPPの初期状態はセキュリティが低く設定されています。不正なアクセスを防ぐため、まずはセキュリティの設定を行います。
XAMPPの管理画面で、左側のメニューから『セキュリティ』をクリックすると、以下のように現在のセキュリティが確認できます。ステータスに3つの『要注意』が表示されているのが確認できます。(クリックすると拡大表示されます。)
まずはMySQLの管理者パスワードを設定します。画面に表示されている http://localhost/security/xamppsecurity.php
のリンクをクリックします。
『新しいパスワード』と『新しいパスワード(確認)』欄に設定したいパスワードを入力し、『パスワードを変更しました。』ボタンを押します。(この解説ではパスワードを 1234
と設定したものとして進めますが、実際にはもっと複雑なパスワードを設定することをお勧めします。)
『rootのパスワードが変更されました。』と表示されれば成功です。次に、同画面の下にある『XAMPPのディレクトリ制御』でXAMPPの管理画面にもパスワードを設定します。
『ユーザ』と『パスワード』欄に設定したいユーザとパスワードを入力し、『安全なXAMPPディレクトリを作成してください。』ボタンを押します。(この解説ではユーザを xampp
、パスワードを 1234
と設定したものとして進めますが、実際にはもっと複雑なパスワードを設定することをお勧めします。)
『XAMPPのディレクトリ制御が設定されました!』と表示されれば成功です。
さらに念のため、外部からのアクセス自体も禁止します。C:\xampp\apache\conf
内にある httpd.conf
をテキストエディタで開き、47行目あたりにある
Listen 80
この部分を以下のように修正します。文字はすべて半角英数字で入力してください。
#Listen 80
Listen 127.0.0.1:80
修正できたらApacheとMySQLを再起動します。まずは『Apache』の右側にある『Stop』ボタンを押してください。サーバーソフトのApacheを停止させます。
停止したら、再度Apacheを起動させます。『Apache』の右側にある『Start』ボタンを押してください。これで設定内容がApacheに反映されます。
MySQLも同様に、一旦『Stop』ボタンで停止させ、その後『Start』ボタンで起動してください。これで設定内容がMySQLに反映されます。
設定ができたら、再度セキュリティの画面を確認してください。先ほどアクセス制限を設けたため、認証画面が表示されます。先ほどユーザを xampp
、パスワードを 1234
と設定したので、ユーザー名とパスワードにそれらの値を入力します。
セキュリティが以下のように表示されれば完了です。『要注意』がそれぞれ『安全』に変わっています。
PHPの動作設定を行います。設定しなくても動作しますが、文字化け防止のために設定しておくことをお勧めします。
C:\xampp\php
内にある php.ini
をテキストエディタで開き、以下の箇所をそれぞれ修正します。
514行目にある
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
この部分を以下のように修正します。(& ~E_NOTICE & ~E_DEPRECATED
を削除。)
error_reporting = E_ALL
次に、1774行目にある
;mbstring.language = Japanese
この部分を以下のように修正します。(行頭の ;
を削除。)
mbstring.language = Japanese
次に、1780行目にある
;mbstring.internal_encoding = EUC-JP
この部分を以下のように修正します。(行頭の ;
を削除し、EUC-JP
を UTF-8
に修正。)
mbstring.internal_encoding = UTF-8
次に、1784行目にある
;mbstring.http_input = auto
この部分を以下のように修正します。(行頭の ;
を削除し、auto
を pass
に修正。)
mbstring.http_input = pass
次に、1789行目にある
;mbstring.http_output = SJIS
この部分を以下のように修正します。(行頭の ;
を削除し、SJIS
を pass
に修正。)
mbstring.http_output = pass
次に、1797行目にある
;mbstring.encoding_translation = Off
この部分を以下のように修正します。(行頭の ;
を削除。)
mbstring.encoding_translation = Off
次に、1802行目にある
;mbstring.detect_order = auto
この部分を以下のように修正します。(行頭の ;
を削除し、auto
を UTF-8,SJIS,EUC-JP,JIS,ASCII
に修正。)
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
次に、1807行目にある
;mbstring.substitute_character = none;
この部分を以下のように修正します。(行頭の ;
を削除。)
mbstring.substitute_character = none;
次に、1818行目にある
;mbstring.func_overload = 0
この部分を以下のように修正します。(行頭の ;
を削除。)
mbstring.func_overload = 0
次に、1821行目にある
;mbstring.strict_detection = Off
この部分を以下のように修正します。(行頭の ;
を削除。)
mbstring.strict_detection = Off
修正できたら、Apacheを再起動します。これで完了です。