AWSのEC2に構築したLAMP環境に「phpMyAdmin」を入れて、DBを操作していきます
#前提条件
- EC2にLAMP環境の構築が出来ている
(まだの方はこちら) - ドライバのインストールも済んでいる
#インストール
[ec2-user@ip-・・・・・・・・~]$cd /var/www/html
#ディレクトリを「/var/www/html」に移動
[ec2-user@ip-・・・・・・・・html]$ sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.6.6/phpMyAdmin-4.6.6-all-languages.tar.gz
[ec2-user@ip-・・・・・・・・html]$sudo tar xzvf phpMyAdmin-4.6.6-all-languages.tar.gz
[ec2-user@ip-・・・・・・・・htnl]$sudo mv phpMyAdmin-4.6.6-all-languages phpMyAdmin
[ec2-user@ip-・・・・・・・・html]$sudo rm phpMyAdmin-4.6.6-all-languages.tar.gz
#ファイルをインストールから解凍、名前の変更
[ec2-user@ip-・・・・・・・・html]$cd phpMyAdmin
#ディレクトリを「/var/www/html/phpMyAdmin」に移動
[ec2-user@ip-・・・・・・・・phpMyAdmin]$sudo cp config.sample.inc.php config.inc.php
#「config.sample.inc.php」の内容を「config.inc.php」にコピー
[ec2-user@ip-・・・・・・・・phpMyAdmin]$cd
#ディレクトリを「/home/ec2-user」に移動
[ec2-user@ip-・・・・・・・・~]$sudo yum install -y php70-mbstring
#PHPの拡張子「mbstring」をインストール
[ec2-user@ip-・・・・・・・・~]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
#Apacheを再起動
以上でインストールは終了
ブラウザでEC2のIPアドレス/phpMyAdminにアクセスして、ログイン画面が表示され、ログインできることを確認
#phpMyAdminの環境保護領域設定
ブラウザでphpMyAdminにアクセスした際に、画面下に「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。」と、メッセージが表示されていた場合、初期設定をしていきます。
##初期設定
###phpMyAdmin
- 必ず**「root」**で行うこと
- 「var/www/html/phpMyAdmin/sql」のディレクトリ内にある **「create_tables.sql」**ファイルを自身のPCにダウンロード
- ブラウザから自身の「phpMyAdmin」にアクセスして、ログイン
- 画面上部のインポートをクリック
- 「File to import」内のアップロードファイルに先ほどダウンロードした**「create_tables.sql」**ファイルをアップロード
- 下部にある実行をクリック
※ここまでの動作でも解除される事もありますので、ご自身の環境で確認をお願いします
###MySQL
- ターミナルもしくは、teratarmで、SSH接続した状態で、「MySQL」にrootでログイン
[ec2-user@ip-・・・・・・ ~]$ mysql -u root -p
mysql> create database 任意のDB名 character set utf8;
DBの作成
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| 任意のDB名 |
+--------------------+
作成したDBの確認
mysql> create user '任意のユーザー名' identified by '任意のパスワード';
ログインできるユーザーの追加
mysql> grant ALL on 任意のDB名.* to '任意のユーザー名';
作成したユーザーのアクセスの設定
※上記は先ほど作成したDBにしかアクセスできない
※ここの設定はしなくても可
grant select, insert, update, delete on phpmyadmin.* to '任意のユーザー名';
作成したユーザーにselect, insert, update, deleteの権限を付与
mysql> flush privileges;
設定を反映
mysql> show grants for '任意のユーザー名';
+--------------------------------------------------------------------------------------------------------------------+
| Grants for 任意のユーザー名 |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO '任意のユーザー名' IDENTIFIED BY PASSWORD '*ABCDEFGHIJ0987654321KLMNOPQRST1234567890' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO '任意のユーザー名' |
| GRANT ALL PRIVILEGES ON `任意のDB名`.* TO '任意のユーザー名' |
+--------------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
設定の確認
###config.inc.php
[ec2-user@ip-・・・・・・ ~]$ sudo vi /var/www/html/phpMyAdmin/config.inc.php
config.inc.phpを編集
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
上記のコメントを外す
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定
[ec2-user@ip-・・・・・・ ~]$ sudo vi /var/www/html/phpMyAdmin/config.inc.php
config.inc.php内にパスワードの設定をする
$cfg['blowfish_secret'] = 'ここに32文字以上のパスワードを設定する'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
ファイル上部の**$cfg['blowfish_secret']**にパスワードを設定
以上で、phpMyAdminの設定は終了