下記のwikiその他を参照のこと。
XAMPP - PukiWiki Plus!
php spot XAMPPのインストール
開発用サーバとする場合、外部からのアクセスができないようにするためのセキュリティ設定は必須。
設定変更後に、動作しなくなった場合、すべての設定を元に戻すか、アンインストールしてインストールをやりなおし、設定を一箇所づつ変更しながら、Apache,MySqlなどが起動するかを確認すること。
場合によっては、Windowsの再起動も必要。
XAMPPのコントロールパネルでは、Apacheの起動表示が正しくない場合がある。(起動していても起動状態とならないことがある)
この場合、Windowsの再起動を行うとよい。
※phpでの開発は文字コード:UTF-8 で行うことを前提とする。
国際化の流れを受けて、サーバ、クライアント、DBともにUTF-8で統一するのがおすすめ。余計なコード変換もしなくてよいのでラク。
1.htaccessの設定
\htdocsと\htdocs\xamppに、.htaccessを設置し、外部からのアクセスを
遮断する。
AddHandler cgi-script htaccess
order deny,allow
deny from all
allow from localhost 127.0.0.1
上記wikiでは、"Order","Deny","Allow"と先頭文字が大文字になっているので、小文字にすること。
2.httpd.confの設定
\xampp\apache\conf\httpd.conf を修正する。
ServerTokens がなければ追加する。
ServerTokens Prod
上記wikiは、"ServerToken"となっているが、"ServerTokens"が正しいので注意。(Apacheのバージョンによるのかも)
3.php.iniの設定
\xampp\apache\bin\php.ini を修正する。
下記のコメントアウトを解除する。
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
php4とphp5を切り替えると、設定が元に戻るとのことなので、
\xampp\php\php.ini も同様の設定を行う。
4.SafeModeの設定は、公開サーバではないので必要なし。
5.phpMyAdminの設定
\xampp\phpMyAdmin\config.inc.php を設定する。
phpMyAdmin起動時にユーザIDとパスワードの入力を促されるようになる。
修正前:
$cfg['Servers'][$i]['auth_type'] = 'config';
修正後:
$cfg['Servers'][$i]['auth_type'] = 'http';
6.phpMyAdminでのパスワードの設定
(1)http://localhost/phpmyadmin/ にアクセスする。
(2)左メニューからデータベース"mysql"を選択する。
(3)左メニューからテーブル"user"を選択する。
(4)上部メニューから"表示"タブをクリックする。
(5)Userが"root" 、hostが"localhost","%"を選択(鉛筆アイコンをクリック)する。
(6)"挿入"タブが表示されるので、フィールド"Password"欄の"関数"に"PASSWORD"を選択する。
(7)続いて、"値"に任意のパスワードを入力して"実行"ボタンをクリックする。
(8)上部メニューから"SQL"タブをクリックする。
(9)"データベース mysql 上でクエリを実行する:"と表示された下のテキスト欄に、"FLUSH PRIVILEGES"と入力して"実行する"ボタンをクリックする。
XAMPP - PukiWiki Plus!では、phpMyAdminではrootのパスワード設定は出来ないとの記述があるが、上記手順により可能である。
7.XAMPPのセキュリティ設定状況を確認する。
http://localhost/ にアクセスし、左メニューから"セキュリティ"を選択する。
下記の状態であればOK。
・Apache : これらのXAMPPページはネットワーク経由での一般的なアクセスが可能でなくなりました。(安全)
・MySQL : MySQLユーザルートはパスワードが無しの状態が解消されました。(安全)
・PhpMyAdmin : PhpMyAdminのログインパスワードが有効になりました。(安全)
・FTP : FTPサーバは起動していないか、ファイアウォールでブロックされています!(不明)
・PHP : PHPは"safe mode"で起動していません。(要注意)
※開発サーバでは、外部公開せず、FTPは使用しないという前提。
お手頃価格で機能充実!
さくらのレンタルサーバ・ビジネス プロ


