XAMPP Portableをインストール後起動し「http://localhost/」にブラウザからアクセスすると、古いバージョン(2015年10月以前)ではセキュリティ設定ができるメニューがありました。なぜかこのメニューは撤廃され、セキュリティなどの設定はブラウザのメニューからではなく、個別に行う仕様になってしまいました。
少々設定が難しくなってしまいましたが、順を追って初期設定をしていきたいと思います。
以前記事にしたXAMPP Portableのインストールは下記を参照にして下さい。
またWordPressをローカルで検証したい場合は、下記の記事をどうぞ
XAMPPのセキュリティ設定
以前のものと比べ最新のXAMPPはセキュリティ的に向上していますが、初期状態のままで起動すると、データベースのパスワードが設定されていません。
ちなみに古いバージョンでのXAMPPのメニューは下記になります。
画面の左メニューにあるセキュリティーからセキュリティの状態を確認する事が出来ました。
初期状態ですとこのように各ステータスが要注意となっており、状態を警告してくれます。
ここで画面上の「http://localhost/security/xamppsecurity.php」にアクセスすると下記のような画面になります。
もう今はない画面ですが、これらの設定を行う必要があるわけです。
それでは現行のXAMPPで設定をしていきましょう。
mysql(MariaDB)のrootパスワードを変更
初期状態ですと、管理者権限ユーザの「root」がパスワード無しの状態です。新たにパスワードを追加しますが、必ず設定する場合には新規のパスワードはメモを取っておきましょう。
XAMPPのコントロールパネルから「apache」「MySQL」それぞれの「Start」ボタンを押してXAMPPを起動させます。正常に起動出来たら、「MySQL」の列の「Admin」ボタンを押します。もしブラウザが自動的に立ち上がらない場合には、「http://localhost/phpmyadmin/」に直接ブラウザでアクセスします。
phpMyAdminの画面が立ち上がったら、上部メニューにある「User accounts」をクリックします。
ユーザがいくつか並んでいますが、一番下にあるユーザ名:root、Host Name:localhostの「edit」をクリックします。
画面の通り、上部の「パスワードを変更する」ボタンをクリックします。
新しいパスワードを入力します。2箇所ありますが、入力確認なので同じものを入力します。画像にはありませんが、右下の「実行」ボタンを押し保存します。
※入力したパスワードはメモをして保管しておいて下さい。
再度phpMyAdminにアクセスすると、上図のようなエラーが出ると思います。
そこで次に「xampp\phpMyAdmin」フォルダ内にある「config.inc.php」ファイルをテキストエディター(できればメモ帳以外)などで開きます。
「Authentication type and info」の項目の「$cfg[‘Servers’][$i][‘password’]」が空になっているので、ここに先ほど設定したパスワードをシングルクォーテーション内に入力します。間違いがなければ、上書き保存します。
これで「phpMyAdmin」に無事アクセス出来るようになります。
PHP環境の設定
XAMPPにおけるPHP関連の設定は、「xampp\php」フォルダ配下にある「php.ini」ファイルをテキストエディタ(できればメモ帳以外)などで修正して行います。
デフォルトでONになっている箇所も増えているので、以前よりも最低限の修正箇所は減っていると思います。
※「php.ini」ファイルは初期状態のものをコピーし名前を変更してバックアップしておいてください。
標準文字コードの確認
古いXAMPPですと修正が必要でしたが、念のため確認をして下さい。
「php.ini」ファイルをテキストエディタで開き、「default_charset」と検索します。
; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "UTF-8"
「default_charset」が「UTF-8」を指定してあればOKです。
タイムゾーンの設定
こちらは修正が必要になります。
「date.timezone」と検索します。「[Date]」の項目が2箇所ある場合がありますが、コメントアウトの箇所ではなく「Europe/Berlin」と指定している場所を修正します。
[Date]
;date.timezone=Europe/Berlin
date.timezone=Asia/Tokyo
念のため「date.timezone=Europe/Berlin」の先頭に「;」を付けてコメントアウトし改行してから「date.timezone=Asia/Tokyo」を追記しましょう。
mbstringの有効を確認
mbstringとは日本語のようなマルチバイトの文字を扱う為に必要な設定になります。
こちらも古いXAMPPですと設定が必要でしたが、念のため確認してみます。
「php_mbstring.dll」と検索します。
extension=php_mbstring.dll
先頭に「;」が付いていなくて、有効になっていればOKです。
大抵の場合は文字コードを指定しますが、指定がなかった場合の文字化け対策も行います。
「[mbstring]」と検索します。
[mbstring]
; language for internal character representation.
; This affects mb_send_mail() and mbstring.detect_order.
; http://php.net/mbstring.language
mbstring.language = Japanese
; Use of this INI entry is deprecated, use global internal_encoding instead.
; internal/script encoding.
; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
mbstring.internal_encoding = UTF-8
「mbstring.language = Japanese」の先頭の「;」を削除します。
「mbstring.internal_encoding」に「UTF-8」を指定し同様に先頭の「;」を削除して有効化します。
すべての修正が完了したら、「php.ini」ファイルを上書き保存します。上書き保存する前に必ず元の「php.ini」ファイルはバックアップをとっておいて下さい。
まとめ
以上がXAMPPの初期設定になります。これらはあくまで最低限な設定の為、環境や検証データなどにより各ファイルを修正したり、追記したりする事もあるかも知れません。
ただやみくもに色々なファイルを修正しますとまったく動作しなくなったり、新しいバージョンを使用した際にどの個所を修正したのかわからなくなってしまう為、出来る限り修正を加えたファイルや修正箇所などをメモに取っておくのが良いかと思います。