XAMPPとは
サーバサイドでサービスを提供する複数のプログラムをパッケージ化したもの。この記事はwindowsにインストールします。
XAMPPインストール
DownLoad here:https://www.apachefriends.org/jp/index.html
XAMPP起動
インストール完了後、XAMPPコントロールパネルを開き、ApacheとMySQLを起動します。
XAMPPの各サービスの起動エラー
サービスが起動できない場合に一番最初に疑うべきは、既存サービスとのポート競合です。同コンピュータ内に既に稼働しているApache/MySQLが存在するか、他のサービスで各サービスと同じポートを使用中しているかです。netstatコマンドでポートの競合を確認し、XAMPPコントロールパネルから各サービスの[config]ボタンから、各サービスに対応した設定ファイルを呼び出し、ポート番号を変更しましょう。この時にウェルノウンポートを避け、他のサービスで利用する可能性のあるものを避けるようにしましょう。
ウェルノウンポート
https://eng-entrance.com/network-port
利用中のポート番号を調べる
サーバで利用中のポートを調べるためにネットスタットアボンする。これから稼働させるサービスが利用中のポートと競合しないように。netstat -abon
C:\WINDOWS\system32>netstat /h
-a すべての接続とリッスン ポートを表示します。
-b それぞれの接続またはリッスン ポートの作成に使われた実行可能
ファイルを表示します。場合により、よく知られた実行可能ファイル
が複数の独立したコンポーネントをホストすることもあり、この
場合、接続またはリッスン ポートの作成に使われたコンポーネント
群が表示されます。この場合、実行可能ファイル名は下に [] で表示
され、上には TCP/IP に到達するまで順に呼び出したコンポーネント
が表示されます。このオプションには時間がかかり、十分なアクセス
許可がないとエラーが発生することに注意してください。
-n アドレスとポート番号を数値形式で表示します。
-o 各接続に関連付けられたそれらを所有するプロセス ID を表示しま
す。
C:\WINDOWS\system32>netstat -abon | more
アクティブな接続
プロトコル ローカル アドレス 外部アドレス 状態 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 9588
[httpd.exe]
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 9588
[httpd.exe]
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 12612
[mysqld.exe]
TCP 0.0.0.0:33060 0.0.0.0:0 LISTENING 12612
[mysqld.exe]
MySQLのパスをとおす
コマンドラインから操作できるようにパスを通しておきます。
- 【Windwos10】の場合、以下のどちらかの方法で。
- Winキー+pause ⇒ システム情報⇒システムの詳細情報⇒詳細設定タブの環境変数
- Winキー+r ⇒ sysdm.cpl⇒詳細設定タブの環境変数
- path変数に自分の環境にあったパスを新規登録する。わたしの場合はXamppデフォルト「C:\XAMPP\mysql\bin」
- コマンドプロンプトから確認。下記のように
MYSQLMariaDBのプロンプトが返ってきたらOK。
C:\Users\>mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.37-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Apache
-
C:¥xampp¥apache¥conf¥
以下の設定ファイルの編集-
httpd.conf
の設定- Xamppの場合
"C:\xampp\apache\conf\httpd.conf"
- 他にwebサーバが起動している場合はリッスンポートを競合しないように設定する。
- Xamppの場合
-
extra¥http-xampp.conf
の設定
-
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted //ここを追記
#Require local //ここをコメントアウト
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
- 上記を設定しない場合、外部アクセスの時に下記のようにphpmyadminを利用できない。
MySQL
-
my.ini
の編集。
C:\Users\Administrator>mysql -u root -p
mysql> username1 IDENTIFIED BY password ,
-> username2 IDENTIFIED BY password ;
mysql> show variables like 'port';
windowsファイアウォールのポート開放する。(書きかけ)
3306,80開放
phpMyAdminの設定
- アクセスしてみる。
- 初回は下図のようなエラーが表示されることがある。
- rootのパスワード設定を
config.inc.php
に記述する必要があった。- rootのパスワードなど。
- Xamppの場合のデフォルトパス
C:\xampp\phpmyadmin\config.inc.php
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'ここにぱすわーど';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';
クライアント側のODBC設定(書きかけ)
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| username1 | % |
| username2 | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
7 rows in set (0.00 sec)
--「 % 」になっていたらすべてのアクセスが許可されている。
mysql> GRANT ALL PRIVILEGES ON testdb.* TO username1@'%';
Query OK, 0 rows affected (0.09 sec)