LoginSignup
4
9

More than 5 years have passed since last update.

EC2 LAMP環境 phpMyAdmin導入

Last updated at Posted at 2018-06-24

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」にアクセスして、ログイン

スクリーンショット 2018-06-24 22.05.43.png

  • 画面上部のインポートをクリック

スクリーンショット 2018-06-24 22.09.32.png

  •  「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の設定は終了

4
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9