9回目-14.phpMyAdmin 4.7.9 インストール&設定

さくらVPSCentOS 7 2週間無料のお試し期間 9回目

一覧

 状態:-  閲覧数:970  投稿日:2018-03-23  更新日:2018-03-23

内容


phpMyAdmin インストール
インストール先確認 / インストールされたphpMyAdminのバージョンを確認
Nginx設定追加 → セッションエラー対応 → phpMyAdminログイン画面表示
phpMyAdminへログイン
create_tables.sql実行することで、phpmyadminデータベースを作成
phpmyadminデータベース操作権限を持つDBユーザを作成
config.inc.php修正
推測されにくいURLへ変更。IP制限は外さない
その他、気が付いたこと

phpMyAdmin インストール

 閲覧数:162 投稿日:2018-03-23 更新日:2018-03-23 

インストール


--enablerepo
・指定したリポジトリを有効にする という意味
・すべてのリポジトリを設定で無効にしたうえで 「remi,remi-php72」だけを有効にしている
$ sudo yum -y install --enablerepo=remi,remi-php72 phpMyAdmin
[sudo] password for ★★: 
読み込んだプラグイン:fastestmirror, langpacks
base                                                                                                                                  | 3.6 kB  00:00:00    
epel/x86_64/metalink                                                                                                                  | 6.6 kB  00:00:00    
epel                                                                                                                                  | 4.7 kB  00:00:00    
extras                                                                                                                                | 3.4 kB  00:00:00    
mysql-connectors-community                                                                                                            | 2.5 kB  00:00:00    
mysql-tools-community                                                                                                                 | 2.5 kB  00:00:00    
mysql57-community                                                                                                                     | 2.5 kB  00:00:00    
nginx                                                                                                                                 | 2.9 kB  00:00:00    
http://mirror.bebout.net/remi/enterprise/7/remi/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed to connect to 2605:2700:0:9::1:6: ネットワークに届きません"
他のミラーを試します。
remi                                                                                                                                  | 2.9 kB  00:00:00    
remi-php72                                                                                                                            | 2.9 kB  00:00:00    
remi-safe                                                                                                                             | 2.9 kB  00:00:00    
updates                                                                                                                               | 3.4 kB  00:00:00    
(1/3): epel/x86_64/updateinfo                                                                                                         | 903 kB  00:00:00    
epel/x86_64/primary_db         FAILED                                                                                      ]  0.0 B/s | 903 kB  --:--:-- ETA
https://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora-projects/epel/7/x86_64/repodata/4f0e2ac9bc0ff76e5b696b46faf4d335d3667fa4b59ecd3c143603034008483b-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found
他のミラーを試します。
To address this issue please refer to the below knowledge base article

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/

(2/3): epel/x86_64/primary_db                                                                                                         | 6.3 MB  00:00:00    
(3/3): remi/primary_db                                                                                                                | 2.0 MB  00:00:01    
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.iij.ad.jp
* remi: mirrors.mediatemple.net
* remi-php72: mirrors.mediatemple.net
* remi-safe: mirrors.mediatemple.net
* updates: ftp.iij.ad.jp
依存性の解決をしています

//中略

--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================================================
Package                                              アーキテクチャー           バージョン                             リポジトリー                    容量
=============================================================================================================================================================
インストール中:
phpMyAdmin                                           noarch                     4.7.9-1.el7.remi                       remi                           5.1 M
依存性関連でのインストールをします:
composer                                             noarch                     1.6.3-3.el7.remi                       remi                           380 k
dejavu-fonts-common                                  noarch                     2.33-6.el7                             base                            64 k
dejavu-sans-fonts                                    noarch                     2.33-6.el7                             base                           1.4 M
libicu                                               x86_64                     50.1.2-15.el7                          base                           6.9 M
libtidy                                              x86_64                     5.4.0-1.el7                            epel                           174 k
php-PsrLog                                           noarch                     1.0.2-2.el7.remi                       remi                            11 k
php-composer-ca-bundle                               noarch                     1.1.0-1.el7.remi                       remi                            12 k
php-composer-semver                                  noarch                     1.4.2-2.el7.remi                       remi                            16 k
php-composer-spdx-licenses                           noarch                     1.3.0-1.el7.remi                       remi                            16 k
php-fedora-autoloader                                noarch                     1.0.0-1.el7.remi                       remi                           8.9 k
php-gmp                                              x86_64                     7.2.3-2.el7.remi                       remi-php72                      65 k
php-google-recaptcha                                 noarch                     1.1.3-1.el7.remi                       remi                            13 k
php-intl                                             x86_64                     7.2.3-2.el7.remi                       remi-php72                     212 k
php-jsonlint                                         noarch                     1.7.1-1.el7.remi                       remi                            16 k
php-justinrainbow-json-schema5                       noarch                     5.2.7-1.el7.remi                       remi                            40 k
php-paragonie-random-compat                          noarch                     2.0.11-1.el7.remi                      remi                            25 k
php-password-compat                                  noarch                     1.0.4-1.el7.remi                       remi                           9.5 k
php-phpmyadmin-motranslator                          noarch                     4.0-1.el7.remi                         remi                            20 k
php-phpmyadmin-shapefile                             noarch                     2.1-1.el7.remi                         remi                            20 k
php-phpmyadmin-sql-parser                            noarch                     4.2.4-3.el7.remi                       remi                           156 k
php-phpseclib                                        noarch                     2.0.10-1.el7.remi                      remi                           207 k
php-psr-cache                                        noarch                     1.0.1-3.el7.remi                       remi                           8.6 k
php-psr-simple-cache                                 noarch                     1.0.0-1.el7.remi                       remi                           7.2 k
php-recode                                           x86_64                     7.2.3-2.el7.remi                       remi-php72                      44 k
php-seld-cli-prompt                                  noarch                     1.0.3-1.el7.remi                       remi                           7.6 k
php-seld-phar-utils                                  noarch                     1.0.1-2.el7.remi                       remi                           6.8 k
php-symfony-browser-kit                              noarch                     2.8.36-1.el7.remi                      remi                            24 k
php-symfony-class-loader                             noarch                     2.8.36-1.el7.remi                      remi                            27 k
php-symfony-common                                   noarch                     2.8.36-1.el7.remi                      remi                           142 k
php-symfony-config                                   noarch                     2.8.36-1.el7.remi                      remi                            53 k
php-symfony-console                                  noarch                     2.8.36-1.el7.remi                      remi                            89 k
php-symfony-css-selector                             noarch                     2.8.36-1.el7.remi                      remi                            37 k
php-symfony-debug                                    noarch                     2.8.36-1.el7.remi                      remi                            37 k
php-symfony-dependency-injection                     noarch                     2.8.36-1.el7.remi                      remi                            85 k
php-symfony-dom-crawler                              noarch                     2.8.36-1.el7.remi                      remi                            31 k
php-symfony-event-dispatcher                         noarch                     2.8.36-1.el7.remi                      remi                            25 k
php-symfony-expression-language                      noarch                     2.8.36-1.el7.remi                      remi                            28 k
php-symfony-filesystem                               noarch                     2.8.36-1.el7.remi                      remi                            23 k
php-symfony-finder                                   noarch                     2.8.36-1.el7.remi                      remi                            39 k
php-symfony-http-foundation                          noarch                     2.8.36-1.el7.remi                      remi                            95 k
php-symfony-http-kernel                              noarch                     2.8.36-1.el7.remi                      remi                           100 k
php-symfony-polyfill                                 noarch                     1.7.0-1.el7.remi                       remi                            26 k
php-symfony-process                                  noarch                     2.8.36-1.el7.remi                      remi                            33 k
php-symfony-var-dumper                               noarch                     2.8.36-1.el7.remi                      remi                            50 k
php-symfony-yaml                                     noarch                     2.8.36-1.el7.remi                      remi                            30 k
php-symfony3-cache                                   noarch                     3.4.6-1.el7.remi                       remi                            45 k
php-symfony3-common                                  noarch                     3.4.6-1.el7.remi                       remi                           115 k
php-symfony3-expression-language                     noarch                     3.4.6-1.el7.remi                       remi                            24 k
php-tcpdf                                            noarch                     6.2.17-1.el7.remi                      remi                           2.1 M
php-tcpdf-dejavu-sans-fonts                          noarch                     6.2.17-1.el7.remi                      remi                           258 k
php-tidy                                             x86_64                     7.2.3-2.el7.remi                       remi-php72                      60 k
recode                                               x86_64                     3.6-38.el7                             base                           718 k

トランザクションの要約
=============================================================================================================================================================
インストール  1 パッケージ (+52 個の依存関係のパッケージ)

総ダウンロード容量: 19 M
インストール容量: 78 M
Downloading packages:
(1/53): dejavu-fonts-common-2.33-6.el7.noarch.rpm                                                                                     |  64 kB  00:00:00    

//中略

(53/53): phpMyAdmin-4.7.9-1.el7.remi.noarch.rpm                                                                                       | 5.1 MB  00:00:13    
-------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                         1.1 MB/s |  19 MB  00:00:17    
Running transaction check
Running transaction test
Transaction test succeeded

//中略

インストール:
phpMyAdmin.noarch 0:4.7.9-1.el7.remi

依存性関連をインストールしました:
composer.noarch 0:1.6.3-3.el7.remi dejavu-fonts-common.noarch 0:2.33-6.el7
dejavu-sans-fonts.noarch 0:2.33-6.el7 libicu.x86_64 0:50.1.2-15.el7
libtidy.x86_64 0:5.4.0-1.el7 php-PsrLog.noarch 0:1.0.2-2.el7.remi
php-composer-ca-bundle.noarch 0:1.1.0-1.el7.remi php-composer-semver.noarch 0:1.4.2-2.el7.remi
php-composer-spdx-licenses.noarch 0:1.3.0-1.el7.remi php-fedora-autoloader.noarch 0:1.0.0-1.el7.remi
php-gmp.x86_64 0:7.2.3-2.el7.remi php-google-recaptcha.noarch 0:1.1.3-1.el7.remi
php-intl.x86_64 0:7.2.3-2.el7.remi php-jsonlint.noarch 0:1.7.1-1.el7.remi
php-justinrainbow-json-schema5.noarch 0:5.2.7-1.el7.remi php-paragonie-random-compat.noarch 0:2.0.11-1.el7.remi
php-password-compat.noarch 0:1.0.4-1.el7.remi php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi
php-phpmyadmin-shapefile.noarch 0:2.1-1.el7.remi php-phpmyadmin-sql-parser.noarch 0:4.2.4-3.el7.remi
php-phpseclib.noarch 0:2.0.10-1.el7.remi php-psr-cache.noarch 0:1.0.1-3.el7.remi
php-psr-simple-cache.noarch 0:1.0.0-1.el7.remi php-recode.x86_64 0:7.2.3-2.el7.remi
php-seld-cli-prompt.noarch 0:1.0.3-1.el7.remi php-seld-phar-utils.noarch 0:1.0.1-2.el7.remi
php-symfony-browser-kit.noarch 0:2.8.36-1.el7.remi php-symfony-class-loader.noarch 0:2.8.36-1.el7.remi
php-symfony-common.noarch 0:2.8.36-1.el7.remi php-symfony-config.noarch 0:2.8.36-1.el7.remi
php-symfony-console.noarch 0:2.8.36-1.el7.remi php-symfony-css-selector.noarch 0:2.8.36-1.el7.remi
php-symfony-debug.noarch 0:2.8.36-1.el7.remi php-symfony-dependency-injection.noarch 0:2.8.36-1.el7.remi
php-symfony-dom-crawler.noarch 0:2.8.36-1.el7.remi php-symfony-event-dispatcher.noarch 0:2.8.36-1.el7.remi
php-symfony-expression-language.noarch 0:2.8.36-1.el7.remi php-symfony-filesystem.noarch 0:2.8.36-1.el7.remi
php-symfony-finder.noarch 0:2.8.36-1.el7.remi php-symfony-http-foundation.noarch 0:2.8.36-1.el7.remi
php-symfony-http-kernel.noarch 0:2.8.36-1.el7.remi php-symfony-polyfill.noarch 0:1.7.0-1.el7.remi
php-symfony-process.noarch 0:2.8.36-1.el7.remi php-symfony-var-dumper.noarch 0:2.8.36-1.el7.remi
php-symfony-yaml.noarch 0:2.8.36-1.el7.remi php-symfony3-cache.noarch 0:3.4.6-1.el7.remi
php-symfony3-common.noarch 0:3.4.6-1.el7.remi php-symfony3-expression-language.noarch 0:3.4.6-1.el7.remi
php-tcpdf.noarch 0:6.2.17-1.el7.remi php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.17-1.el7.remi
php-tidy.x86_64 0:7.2.3-2.el7.remi recode.x86_64 0:3.6-38.el7

完了しました!


インストール先確認 / インストールされたphpMyAdminのバージョンを確認

 閲覧数:128 投稿日:2018-03-23 更新日:2018-03-23 

インストール先確認


「/usr/share/phpMyAdmin/」にインストールされていることを確認
$ rpm -ql phpMyAdmin
2018-03-23T17:52:37.246 - /etc/httpd/conf.d/phpMyAdmin.conf
2018-03-23T17:52:37.246 - /etc/phpMyAdmin
2018-03-23T17:52:37.246 - /etc/phpMyAdmin/config.inc.php
2018-03-23T17:52:37.246 - /usr/share/doc/phpMyAdmin-4.7.9
//中略
2018-03-23T17:52:37.246 - /usr/share/licenses/phpMyAdmin-4.7.9
2018-03-23T17:52:37.246 - /usr/share/licenses/phpMyAdmin-4.7.9/LICENSE
2018-03-23T17:52:37.246 - /usr/share/licenses/phpMyAdmin-4.7.9/LICENSE-codemirror
2018-03-23T17:52:37.246 - /usr/share/licenses/phpMyAdmin-4.7.9/LICENSE-jquery
2018-03-23T17:52:37.246 - /usr/share/phpMyAdmin
2018-03-23T17:52:37.246 - /usr/share/phpMyAdmin/ajax.php
//中略
/usr/share/phpMyAdmin/view_operations.php
/var/lib/phpMyAdmin
/var/lib/phpMyAdmin/config
/var/lib/phpMyAdmin/save
/var/lib/phpMyAdmin/upload


インストールされたphpMyAdminのバージョンを確認


4.7.9
$ yum info phpMyAdmin
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.riken.jp
* extras: ftp.iij.ad.jp
* remi-safe: mirrors.thzhost.com
* updates: ftp.iij.ad.jp
インストール済みパッケージ
名前                : phpMyAdmin
アーキテクチャー    : noarch
バージョン          : 4.7.9
リリース            : 1.el7.remi
容量                : 24 M
リポジトリー        : installed
提供元リポジトリー  : remi
要約                : Web based MySQL browser written in php
URL                 : https://www.phpmyadmin.net/
ライセンス          : GPLv2+ and MIT and BSD
説明                : phpMyAdmin is a tool written in PHP intended to handle the administration of
                   : MySQL over the Web. Currently it can create and drop databases,
                   : create/drop/alter tables, delete/edit/add fields, execute any SQL statement,
                   : manage keys on fields, manage privileges,export data into various formats and
                   : is available in 50 languages


Nginx設定追加 → セッションエラー対応 → phpMyAdminログイン画面表示

 閲覧数:148 投稿日:2018-03-23 更新日:2018-03-23 

指定サブドメインへのアクセスをphpMyAdminへ向ける


$ sudo vim /etc/nginx/conf.d/phpmyadmin.conf
server {
   listen       80;
   server_name phpmyadmin.w4c.work;
   root   html;
   index  index.php index.html index.htm;

  location /phpMyAdmin {
   alias /usr/share/phpMyAdmin/;
   try_files $uri $uri/ /index.php;
   allow 12.345.67.89; #クライアントのIPアドレス
   deny all;

       location ~ ^/phpMyAdmin/(.+\.php)$ {
           alias /usr/share/phpMyAdmin;
           fastcgi_pass unix:/var/run/php-fpm.sock;
           fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin/$1;
           include fastcgi_params;
           fastcgi_intercept_errors on;
       }
   
   }

}


$ sudo systemctl restart nginx.service
ブラウザで「phpmyadmin.w4c.work/phpMyAdmin/」へアクセスして、下記エラーが表示されていることを確認

エラー内容


phpMyAdmin - Error / Error during session start  / session_start(): Failed to read session data: files (path: /var/lib/php/session)
・セッションデータの読み込みに失敗しました:ファイル(パス:/var/lib/php/session)
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

session_start(): Failed to read session data: files (path: /var/lib/php/session)



/var/lib/php/sessionへの権限が無い
・Nginxを動作させるために用意している専用ユーザー「nginx」が、PHPのセッションを管理するファイルへアクセスできない

session.save_pathが未設定であることを確認
・コメントアウトされたままである
$ cat /etc/php.ini
; RPM note : session directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf
;session.save_path = "/tmp"


折角なのでどこで設定されているか確認してみる
$ cat /etc/php-fpm.d/www.conf
php_value[session.save_path]    = /var/lib/php/session


sessionディレクトリの権限確認
・ユーザー:nginxは所有者:root グループ:apacheのどちらにも属していない
・権限が無い為ファイルが作成できない
$ sudo ls -la /var/lib/php/session/  
[sudo] password for ★★: 
合計 0
drwxrwx--- 2 root apache  6  3月  2 20:49 .
drwxr-xr-x 5 root root   50  3月 22 12:10 ..


セッションエラー対応


所有者をroot、グループをnginxへ変更
・今回は試していないが「所有者もグループもnginxへ変更」しても良いみたい。所有者rootとの違いは不明
$ sudo chown -R root:nginx /var/lib/php/session
$ sudo ls -la /var/lib/php/session
合計 0
drwxrwx--- 2 root nginx  6  3月  2 20:49 .
drwxr-xr-x 5 root root  50  3月 22 12:10 ..


ブラウザリロード後、「http://phpmyadmin.w4c.work/phpMyAdmin/」へアクセスすると?
ようやく下記メッセージとログイン画面が表示される
phpMyAdmin へようこそ


NginxでphpMyAdminにアクセスしようとするとFile not foundと返される【CentOS7】



phpMyAdminへログイン

 閲覧数:132 投稿日:2018-03-23 更新日:2018-03-23 

MySQLのrootパスワードを使用してログイン


config.inc.php設定
・この時点ではまだ不要

config.inc.php未設定なので


下記2つのエラーが発生している
・phpMyAdmin 環境保管領域が完全に設定されていない
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 
代わりにデータベースの操作タブを使って設定することもできます。


・暗号化 (blowfish_secret) 用の非公開パスフレーズの設定
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。


一番下に表示されている下記はエラーではない
・翻訳に協力してくださいね、というお願い
You are using an incomplete translation, please help to make it better by contributing.


create_tables.sql実行することで、phpmyadminデータベースを作成

 閲覧数:164 投稿日:2018-03-23 更新日:2018-03-23 

create_tables.sql確認


create_tables.sqlの場所を確認
$ sudo find / -name "create_tables.sql"
/usr/share/phpMyAdmin/sql/create_tables.sql


ファイル内容確認
$ cat /usr/share/phpMyAdmin/sql/create_tables.sql
-- --------------------------------------------------------
-- SQL Commands to set up the pmadb as described in the documentation.
--
-- This file is meant for use with MySQL 5 and above!
--
-- This script expects the user pma to already be existing. If we would put a
-- line here to create him too many users might just use this script and end
-- up with having the same password for the controluser.
--
-- This user "pma" must be defined in config.inc.php (controluser/controlpass)
--
-- Please don't forget to set up the tablenames in config.inc.php
--

-- --------------------------------------------------------

--
-- Database : `phpmyadmin`
--
CREATE DATABASE IF NOT EXISTS `phpmyadmin`
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE phpmyadmin;

-- --------------------------------------------------------

--
-- Privileges
--
-- (activate this statement if necessary)
-- GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
--    'pma'@localhost;

-- --------------------------------------------------------

--
-- Table structure for table `pma__bookmark`
--

CREATE TABLE IF NOT EXISTS `pma__bookmark` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `dbase` varchar(255) NOT NULL default '',
 `user` varchar(255) NOT NULL default '',
 `label` varchar(255) COLLATE utf8_general_ci NOT NULL default '',
 `query` text NOT NULL,
 PRIMARY KEY  (`id`)
)
 COMMENT='Bookmarks'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__column_info`
--

CREATE TABLE IF NOT EXISTS `pma__column_info` (
 `id` int(5) unsigned NOT NULL auto_increment,
 `db_name` varchar(64) NOT NULL default '',
 `table_name` varchar(64) NOT NULL default '',
 `column_name` varchar(64) NOT NULL default '',
 `comment` varchar(255) COLLATE utf8_general_ci NOT NULL default '',
 `mimetype` varchar(255) COLLATE utf8_general_ci NOT NULL default '',
 `transformation` varchar(255) NOT NULL default '',
 `transformation_options` varchar(255) NOT NULL default '',
 `input_transformation` varchar(255) NOT NULL default '',
 `input_transformation_options` varchar(255) NOT NULL default '',
 PRIMARY KEY  (`id`),
 UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
)
 COMMENT='Column information for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__history`
--

CREATE TABLE IF NOT EXISTS `pma__history` (
 `id` bigint(20) unsigned NOT NULL auto_increment,
 `username` varchar(64) NOT NULL default '',
 `db` varchar(64) NOT NULL default '',
 `table` varchar(64) NOT NULL default '',
 `timevalue` timestamp NOT NULL default CURRENT_TIMESTAMP,
 `sqlquery` text NOT NULL,
 PRIMARY KEY  (`id`),
 KEY `username` (`username`,`db`,`table`,`timevalue`)
)
 COMMENT='SQL history for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__pdf_pages`
--

CREATE TABLE IF NOT EXISTS `pma__pdf_pages` (
 `db_name` varchar(64) NOT NULL default '',
 `page_nr` int(10) unsigned NOT NULL auto_increment,
 `page_descr` varchar(50) COLLATE utf8_general_ci NOT NULL default '',
 PRIMARY KEY  (`page_nr`),
 KEY `db_name` (`db_name`)
)
 COMMENT='PDF relation pages for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__recent`
--

CREATE TABLE IF NOT EXISTS `pma__recent` (
 `username` varchar(64) NOT NULL,
 `tables` text NOT NULL,
 PRIMARY KEY (`username`)
)
 COMMENT='Recently accessed tables'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__favorite`
--

CREATE TABLE IF NOT EXISTS `pma__favorite` (
 `username` varchar(64) NOT NULL,
 `tables` text NOT NULL,
 PRIMARY KEY (`username`)
)
 COMMENT='Favorite tables'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__table_uiprefs`
--

CREATE TABLE IF NOT EXISTS `pma__table_uiprefs` (
 `username` varchar(64) NOT NULL,
 `db_name` varchar(64) NOT NULL,
 `table_name` varchar(64) NOT NULL,
 `prefs` text NOT NULL,
 `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`username`,`db_name`,`table_name`)
)
 COMMENT='Tables'' UI preferences'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__relation`
--

CREATE TABLE IF NOT EXISTS `pma__relation` (
 `master_db` varchar(64) NOT NULL default '',
 `master_table` varchar(64) NOT NULL default '',
 `master_field` varchar(64) NOT NULL default '',
 `foreign_db` varchar(64) NOT NULL default '',
 `foreign_table` varchar(64) NOT NULL default '',
 `foreign_field` varchar(64) NOT NULL default '',
 PRIMARY KEY  (`master_db`,`master_table`,`master_field`),
 KEY `foreign_field` (`foreign_db`,`foreign_table`)
)
 COMMENT='Relation table'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__table_coords`
--

CREATE TABLE IF NOT EXISTS `pma__table_coords` (
 `db_name` varchar(64) NOT NULL default '',
 `table_name` varchar(64) NOT NULL default '',
 `pdf_page_number` int(11) NOT NULL default '0',
 `x` float unsigned NOT NULL default '0',
 `y` float unsigned NOT NULL default '0',
 PRIMARY KEY  (`db_name`,`table_name`,`pdf_page_number`)
)
 COMMENT='Table coordinates for phpMyAdmin PDF output'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__table_info`
--

CREATE TABLE IF NOT EXISTS `pma__table_info` (
 `db_name` varchar(64) NOT NULL default '',
 `table_name` varchar(64) NOT NULL default '',
 `display_field` varchar(64) NOT NULL default '',
 PRIMARY KEY  (`db_name`,`table_name`)
)
 COMMENT='Table information for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__tracking`
--

CREATE TABLE IF NOT EXISTS `pma__tracking` (
 `db_name` varchar(64) NOT NULL,
 `table_name` varchar(64) NOT NULL,
 `version` int(10) unsigned NOT NULL,
 `date_created` datetime NOT NULL,
 `date_updated` datetime NOT NULL,
 `schema_snapshot` text NOT NULL,
 `schema_sql` text,
 `data_sql` longtext,
 `tracking` set('UPDATE','REPLACE','INSERT','DELETE','TRUNCATE','CREATE DATABASE','ALTER DATABASE','DROP DATABASE','CREATE TABLE','ALTER TABLE','RENAME TABLE','DROP TABLE','CREATE INDEX','DROP INDEX','CREATE VIEW','ALTER VIEW','DROP VIEW') default NULL,
 `tracking_active` int(1) unsigned NOT NULL default '1',
 PRIMARY KEY  (`db_name`,`table_name`,`version`)
)
 COMMENT='Database changes tracking for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__userconfig`
--

CREATE TABLE IF NOT EXISTS `pma__userconfig` (
 `username` varchar(64) NOT NULL,
 `timevalue` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 `config_data` text NOT NULL,
 PRIMARY KEY  (`username`)
)
 COMMENT='User preferences storage for phpMyAdmin'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__users`
--

CREATE TABLE IF NOT EXISTS `pma__users` (
 `username` varchar(64) NOT NULL,
 `usergroup` varchar(64) NOT NULL,
 PRIMARY KEY (`username`,`usergroup`)
)
 COMMENT='Users and their assignments to user groups'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__usergroups`
--

CREATE TABLE IF NOT EXISTS `pma__usergroups` (
 `usergroup` varchar(64) NOT NULL,
 `tab` varchar(64) NOT NULL,
 `allowed` enum('Y','N') NOT NULL DEFAULT 'N',
 PRIMARY KEY (`usergroup`,`tab`,`allowed`)
)
 COMMENT='User groups with configured menu items'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__navigationhiding`
--

CREATE TABLE IF NOT EXISTS `pma__navigationhiding` (
 `username` varchar(64) NOT NULL,
 `item_name` varchar(64) NOT NULL,
 `item_type` varchar(64) NOT NULL,
 `db_name` varchar(64) NOT NULL,
 `table_name` varchar(64) NOT NULL,
 PRIMARY KEY (`username`,`item_name`,`item_type`,`db_name`,`table_name`)
)
 COMMENT='Hidden items of navigation tree'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__savedsearches`
--

CREATE TABLE IF NOT EXISTS `pma__savedsearches` (
 `id` int(5) unsigned NOT NULL auto_increment,
 `username` varchar(64) NOT NULL default '',
 `db_name` varchar(64) NOT NULL default '',
 `search_name` varchar(64) NOT NULL default '',
 `search_data` text NOT NULL,
 PRIMARY KEY  (`id`),
 UNIQUE KEY `u_savedsearches_username_dbname` (`username`,`db_name`,`search_name`)
)
 COMMENT='Saved searches'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__central_columns`
--

CREATE TABLE IF NOT EXISTS `pma__central_columns` (
 `db_name` varchar(64) NOT NULL,
 `col_name` varchar(64) NOT NULL,
 `col_type` varchar(64) NOT NULL,
 `col_length` text,
 `col_collation` varchar(64) NOT NULL,
 `col_isNull` boolean NOT NULL,
 `col_extra` varchar(255) default '',
 `col_default` text,
 PRIMARY KEY (`db_name`,`col_name`)
)
 COMMENT='Central list of columns'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__designer_settings`
--

CREATE TABLE IF NOT EXISTS `pma__designer_settings` (
 `username` varchar(64) NOT NULL,
 `settings_data` text NOT NULL,
 PRIMARY KEY (`username`)
)
 COMMENT='Settings related to Designer'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma__export_templates`
--

CREATE TABLE IF NOT EXISTS `pma__export_templates` (
 `id` int(5) unsigned NOT NULL AUTO_INCREMENT,
 `username` varchar(64) NOT NULL,
 `export_type` varchar(10) NOT NULL,
 `template_name` varchar(64) NOT NULL,
 `template_data` text NOT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `u_user_type_template` (`username`,`export_type`,`template_name`)
)
 COMMENT='Saved export templates'
 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;


create_tables.sql実行


MySQL起動
$ mysql -u  root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

コマンド実行
mysql> source /usr/share/phpMyAdmin/sql/create_tables.sql
Query OK, 1 row affected (0.00 sec)

Database changed
Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.06 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.06 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

mysql>


確認


phpmyadminデータベースが作成されたことを確認
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| phpmyadmin         |
| sys                |
+--------------------+
5 rows in set (0.00 sec)


権限に関するテーブルを再読込
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.18 sec)


phpMyAdmin 環境保管領域に関するエラーが表示されなくなっていることを確認


ブラウザ経由でphpMyAdminへアクセス
・下記エラーは表示されなくなっている
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 
代わりにデータベースの操作タブを使って設定することもできます。


残るエラーは下記一つ
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。



phpmyadminデータベース操作権限を持つDBユーザを作成

 閲覧数:150 投稿日:2018-03-23 更新日:2018-04-05 

phpmyadminデータベース操作権限を持つDBユーザを作成


create_tables.sqlでコメントアウトされていた下記に代わるもの
-- GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
--    'pma'@localhost;


・ユーザ名をデフォルトのpmaより変更
mysql> GRANT ALL PRIVILEGES ON phpmyadmin.* TO □□@localhost IDENTIFIED BY 'パスワード';
Query OK, 0 rows affected, 1 warning (0.00 sec)


上記権限を削除


今回はrootに代わるDBユーザとして作成したいので、上記権限を一旦削除
mysql> exit;    
                                                                                                         
Bye


$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 83
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> REVOKE ALL PRIVILEGES ON `phpmyadmin`.* FROM □□@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> show grants for □□@localhost;  
                                                                                 
+-----------------------------------------+
| Grants for □□@localhost                |
+-----------------------------------------+
| GRANT USAGE ON *.* TO '□□'@'localhost' |
+-----------------------------------------+
1 row in set (0.01 sec)


mysql> GRANT ALL PRIVILEGES ON *.* TO □□@localhost IDENTIFIED BY 'パスワード';
Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> show grants for □□@'localhost';
+--------------------------------------------------+
| Grants for □□@localhost                         |
+--------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO '□□'@'localhost' |
+--------------------------------------------------+
1 row in set (0.00 sec)

mysql>


確認


DBユーザ□□作成確認
mysql> SELECT Host, User FROM mysql.user;
+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| localhost | □□           |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
4 rows in set (0.00 sec)


DBユーザ□□がphpMyAdmiへログイン出来ることを確認

DBユーザ□□がコマンドでMySQLへログイン出来ることを確認
mysql> exit;    
                                                   
Bye


$ mysql -u □□ -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


2018/4/5


phpMyAdmin経由で新規DBユーザ作成した際、権限付与できない
・SELECT権限のみ
・INSERT出来ないユーザは不便過ぎる
#1044 - ユーザー '◯◯'@'localhost' によるデータベース 'データベース名' へのアクセスは拒否されました。
CREATE USER 'データベースユーザ名'@'localhost' IDENTIFIED WITH mysql_native_password AS '***';CREATE DATABASE IF NOT EXISTS `データベース名`;GRANT ALL PRIVILEGES ON `データベース名`.* TO 'データベースユーザ名'@'localhost';


「root権限と同等の権限」を「DBユーザ□□」へ付与
mysql> GRANT ALL PRIVILEGES ON *.* TO □□@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> show grants for □□@'localhost';
+--------------------------------------------------------------------+
| Grants for □□@localhost                                           |
+--------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO '□□'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------------+
1 row in set (0.00 sec)


新規DBユーザ作成


「root権限と同等の権限を持つDBユーザ□□」でphpMyAdminへログイン後、「DBユーザ◆◆」を新規作成
CREATE USER '◆◆'@'localhost' IDENTIFIED WITH mysql_native_password AS '***';CREATE DATABASE IF NOT EXISTS `データベース名`;GRANT ALL PRIVILEGES ON `データベース名`.* TO '◆◆'@'localhost';

'◆◆'@'localhost' の特権を更新しました。
REVOKE ALL PRIVILEGES ON *.* FROM '◆◆'@'localhost'; REVOKE GRANT OPTION ON *.* FROM '◆◆'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE, FILE ON *.* TO '◆◆'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;


rootと同じ権限を作成するには?
ユーザ権限全削除について
GRANT USAGE について

config.inc.php修正

 閲覧数:150 投稿日:2018-03-23 更新日:2018-03-23 
config.sample.inc.phpが見つからない
$ ls -la /usr/share/phpMyAdmin/
合計 600
drwxr-xr-x   11 root root  4096  3月 23 17:50 .
drwxr-xr-x. 111 root root  4096  3月 23 17:50 ..
-rw-r--r--    1 root root   913  3月  6 00:37 ajax.php
-rw-r--r--    1 root root  1523  3月  6 00:37 browse_foreigners.php
-rw-r--r--    1 root root  5109  3月  6 00:37 changelog.php
-rw-r--r--    1 root root   772  3月  6 00:37 chk_rel.php
-rw-r--r--    1 root root  5370  3月  6 00:37 db_central_columns.php
-rw-r--r--    1 root root  5825  3月  6 00:37 db_datadict.php
-rw-r--r--    1 root root  5862  3月  6 00:37 db_designer.php
-rw-r--r--    1 root root   356  3月  6 00:37 db_events.php
-rw-r--r--    1 root root  4993  3月  6 00:37 db_export.php
-rw-r--r--    1 root root  1047  3月  6 00:37 db_import.php
-rw-r--r--    1 root root 10619  3月  6 00:37 db_operations.php
-rw-r--r--    1 root root  4422  3月  6 00:37 db_qbe.php
-rw-r--r--    1 root root   416  3月  6 00:37 db_routines.php
-rw-r--r--    1 root root  2069  3月  6 00:37 db_search.php
-rw-r--r--    1 root root  1107  3月  6 00:37 db_sql.php
-rw-r--r--    1 root root   749  3月  6 00:37 db_sql_autocomplete.php
-rw-r--r--    1 root root   488  3月  6 00:37 db_sql_format.php
-rw-r--r--    1 root root  1075  3月  6 00:37 db_structure.php
-rw-r--r--    1 root root  4442  3月  6 00:37 db_tracking.php
-rw-r--r--    1 root root   360  3月  6 00:37 db_triggers.php
drwxr-xr-x    2 root root    17  3月 23 17:50 doc
-rw-r--r--    1 root root  4541  3月  6 00:37 error_report.php
-rw-r--r--    1 root root 15637  3月  6 00:37 export.php
-rw-r--r--    1 root root 22486  3月  6 00:37 favicon.ico
-rw-r--r--    1 root root 15852  3月  6 00:37 gis_data_editor.php
-rw-r--r--    1 root root 23851  3月  6 00:37 import.php
-rw-r--r--    1 root root  3396  3月  6 00:37 import_status.php
-rw-r--r--    1 root root 19757  3月  6 00:37 index.php
drwxr-xr-x    9 root root  4096  3月 23 17:50 js
drwxr-xr-x   12 root root  8192  3月 23 17:50 libraries
-rw-r--r--    1 root root   897  3月  6 00:37 license.php
-rw-r--r--    1 root root  1412  3月  6 00:37 lint.php
drwxr-xr-x   44 root root  4096  3月 23 17:50 locale
-rw-r--r--    1 root root   287  3月  6 00:37 logout.php
-rw-r--r--    1 root root  2193  3月  6 00:37 navigation.php
-rw-r--r--    1 root root  4032  3月  6 00:37 normalization.php
-rw-r--r--    1 root root   510  3月  6 00:37 phpinfo.php
-rw-r--r--    1 root root   746  3月  6 00:37 phpmyadmin.css.php
-rw-r--r--    1 root root  2762  3月  6 00:37 prefs_forms.php
-rw-r--r--    1 root root 15245  3月  6 00:37 prefs_manage.php
-rw-r--r--    1 root root  1213  3月  6 00:37 print.css
-rw-r--r--    1 root root  1675  3月  6 00:37 schema_export.php
-rw-r--r--    1 root root   804  3月  6 00:37 server_binlog.php
-rw-r--r--    1 root root   837  3月  6 00:37 server_collations.php
-rw-r--r--    1 root root   817  3月  6 00:37 server_databases.php
-rw-r--r--    1 root root   803  3月  6 00:37 server_engines.php
-rw-r--r--    1 root root  1233  3月  6 00:37 server_export.php
-rw-r--r--    1 root root   779  3月  6 00:37 server_import.php
-rw-r--r--    1 root root   808  3月  6 00:37 server_plugins.php
-rw-r--r--    1 root root 13883  3月  6 00:37 server_privileges.php
-rw-r--r--    1 root root  2236  3月  6 00:37 server_replication.php
-rw-r--r--    1 root root   847  3月  6 00:37 server_sql.php
-rw-r--r--    1 root root   995  3月  6 00:37 server_status.php
-rw-r--r--    1 root root   954  3月  6 00:37 server_status_advisor.php
-rw-r--r--    1 root root  2954  3月  6 00:37 server_status_monitor.php
-rw-r--r--    1 root root  1950  3月  6 00:37 server_status_processes.php
-rw-r--r--    1 root root  1397  3月  6 00:37 server_status_queries.php
-rw-r--r--    1 root root  1630  3月  6 00:37 server_status_variables.php
-rw-r--r--    1 root root  1847  3月  6 00:37 server_user_groups.php
-rw-r--r--    1 root root   817  3月  6 00:37 server_variables.php
drwxr-xr-x    4 root root   129  3月 23 17:50 setup
-rw-r--r--    1 root root  1040  3月  6 00:37 show_config_errors.php
drwxr-xr-x    2 root root   137  3月 23 17:50 sql
-rw-r--r--    1 root root  6319  3月  6 00:37 sql.php
-rw-r--r--    1 root root  3911  3月  6 00:37 tbl_addfield.php
-rw-r--r--    1 root root  6531  3月  6 00:37 tbl_change.php
-rw-r--r--    1 root root   990  3月  6 00:37 tbl_chart.php
-rw-r--r--    1 root root  3194  3月  6 00:37 tbl_create.php
-rw-r--r--    1 root root  4482  3月  6 00:37 tbl_export.php
-rw-r--r--    1 root root  1048  3月  6 00:37 tbl_find_replace.php
-rw-r--r--    1 root root  1421  3月  6 00:37 tbl_get_field.php
-rw-r--r--    1 root root  1255  3月  6 00:37 tbl_gis_visualization.php
-rw-r--r--    1 root root   873  3月  6 00:37 tbl_import.php
-rw-r--r--    1 root root  1437  3月  6 00:37 tbl_indexes.php
-rw-r--r--    1 root root 13627  3月  6 00:37 tbl_operations.php
-rw-r--r--    1 root root   455  3月  6 00:37 tbl_recent_favorite.php
-rw-r--r--    1 root root  2368  3月  6 00:37 tbl_relation.php
-rw-r--r--    1 root root 16512  3月  6 00:37 tbl_replace.php
-rw-r--r--    1 root root  5054  3月  6 00:37 tbl_row_action.php
-rw-r--r--    1 root root  1179  3月  6 00:37 tbl_select.php
-rw-r--r--    1 root root  1284  3月  6 00:37 tbl_sql.php
-rw-r--r--    1 root root  1666  3月  6 00:37 tbl_structure.php
-rw-r--r--    1 root root  5896  3月  6 00:37 tbl_tracking.php
-rw-r--r--    1 root root   141  3月  6 00:37 tbl_triggers.php
-rw-r--r--    1 root root  1098  3月  6 00:37 tbl_zoom_select.php
drwxr-xr-x   15 root root  4096  3月 23 17:50 templates
drwxr-xr-x    4 root root    73  3月 23 17:50 themes
-rw-r--r--    1 root root   938  3月  6 00:37 themes.php
-rw-r--r--    1 root root  1920  3月  6 00:37 transformation_overview.php
-rw-r--r--    1 root root  4499  3月  6 00:37 transformation_wrapper.php
-rw-r--r--    1 root root  1294  3月  6 00:37 url.php
-rw-r--r--    1 root root  9243  3月  6 00:37 user_password.php
drwxr-xr-x    2 root root    25  3月 23 17:50 vendor
-rw-r--r--    1 root root  1091  3月  6 00:37 version_check.php
-rw-r--r--    1 root root  9563  3月  6 00:37 view_create.php
-rw-r--r--    1 root root  4008  3月  6 00:37 view_operations.php


過去のエントリーを参考に探す
・以前は、「/usr/share/phpMyAdmin/config.sample.inc.php」を「/etc/phpMyAdmin/」へコピーして使用していた
・現在は、「/usr/share/phpMyAdmin/config.sample.inc.php」がなく、「/etc/phpMyAdmin/」は最初から用意されている

$ ls -la /etc/phpMyAdmin/
ls: ディレクトリ /etc/phpMyAdmin/ を開くことが出来ません: 許可がありません


$ sudo ls -la /etc/phpMyAdmin/  
[sudo] password for ★★: 
合計 20
drwxr-x---   2 root apache   27  3月 23 17:50 .
drwxr-xr-x. 98 root root   8192  3月 23 17:50 ..
-rw-r-----   1 root apache 4598  3月 23 17:50 config.inc.php


現状確認
$ cat /etc/phpMyAdmin/config.inc.php
cat: /etc/phpMyAdmin/config.inc.php: 許可がありません

$ sudo cat /etc/phpMyAdmin/config.inc.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use setup/
*
* All directives are explained in documentation in the doc/ folder
* or at <https://docs.phpmyadmin.net/>.
*
* @package PhpMyAdmin
*/

/**
* This is needed for cookie based authentication to encrypt password in
* cookie. Needs to be 32 chars long.
*/
$cfg['blowfish_secret'] = '自動生成された32文字のランダム文字列'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/**
* Servers configuration
*/
$i = 0;

/**
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/**
* phpMyAdmin configuration storage settings.
*/

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
// $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';

/**
* End of servers configuration
*/

/**
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
$cfg['SaveDir'] = '/var/lib/phpMyAdmin/save';

/**
* Whether to display icons or text or both icons and text in table row
* action segment. Value can be either of 'icons', 'text' or 'both'.
* default = 'both'
*/
//$cfg['RowActionType'] = 'icons';

/**
* Defines whether a user should be displayed a "show all (records)"
* button in browse mode or not.
* default = false
*/
//$cfg['ShowAll'] = true;

/**
* Number of rows displayed when browsing a result set. If the result
* set contains more rows, "Previous" and "Next".
* Possible values: 25, 50, 100, 250, 500
* default = 25
*/
//$cfg['MaxRows'] = 50;

/**
* Disallow editing of binary fields
* valid values are:
*   false    allow editing
*   'blob'   allow editing except for BLOB fields
*   'noblob' disallow editing except for BLOB fields
*   'all'    disallow editing
* default = 'blob'
*/
//$cfg['ProtectBinary'] = false;

/**
* Default language to use, if not browser-defined or user-defined
* (you find all languages in the locale folder)
* uncomment the desired line:
* default = 'en'
*/
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';

/**
* How many columns should be used for table display of a database?
* (a value larger than 1 results in some information being hidden)
* default = 1
*/
//$cfg['PropertiesNumColumns'] = 2;

/**
* Set to true if you want DB-based query history.If false, this utilizes
* JS-routines to display query history (lost by window close)
*
* This requires configuration storage enabled, see above.
* default = false
*/
//$cfg['QueryHistoryDB'] = true;

/**
* When using DB-based query history, how many entries should be kept?
* default = 25
*/
//$cfg['QueryHistoryMax'] = 100;

/**
* Whether or not to query the user before sending the error report to
* the phpMyAdmin team when a JavaScript error occurs
*
* Available options
* ('ask' | 'always' | 'never')
* default = 'ask'
*/
//$cfg['SendErrorReports'] = 'always';

/**
* You can find more configuration options in the documentation
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
*/


グループ権限変更


config.inc.php内容を反映させるために
・config.inc.phpを格納しているディレクトリ「phpMyAdmin」のグループ権限を、apacheからnginxへ変更
※config.inc.phpだけを、apacheグループからnginxへ変更してもダメ。格納ディレクトリ以下を全て要変更

config.inc.php編集


事前にバックアップ取得したほうが良い
・今回、取り忘れた
cp -p -i /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.org

コメントアウトを外す
・DBユーザ名をpmaから□□へ変更
・パスワードを変更
$ sudo vi /etc/phpMyAdmin/config.inc.php
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = 'localhost';
$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = '□□';
$cfg['Servers'][$i]['controlpass'] = 'パスワード';

/* Storage database and tables */
$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';

/**
* End of servers configuration
*/


//中略

//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';
$cfg['DefaultLang'] = 'ja-utf-8'; //デフォルトの言語を日本語に設定

//中略

//root アクセスの禁止。ファイル末尾に下記行を追加
$cfg['Servers'][$i]['AllowRoot'] = false;


ブラウザ経由でphpMyAdminへログイン


下記エラーが表示されなくなっていることを確認
設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。


rootでphpMyAdminへログイン
・出来ないことを確認
アクセスが拒否されました!


推測されにくいURLへ変更。IP制限は外さない

 閲覧数:172 投稿日:2018-03-23 更新日:2019-05-10 

「推測されにくいURL/◇◇◇◇◇◇◇◇」へ変更


「随時変更されるIP」を使用しているため制限を外す
$ sudo vim /etc/nginx/conf.d/phpmyadmin.conf
server {
   listen       80;
   server_name hoge.example.com;
   root   html;
   index  index.php index.html index.htm;
   location /◇◇◇◇◇◇◇◇ {
       alias /usr/share/phpMyAdmin/;
       try_files $uri $uri/ /index.php;
       allow IPアドレス;
       deny all;

       location ~ ^/◇◇◇◇◇◇◇◇/(.+\.php)$ {
           alias /usr/share/phpMyAdmin;
           fastcgi_pass unix:/var/run/php-fpm.sock;
           fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin/$1;
           include fastcgi_params;
           fastcgi_intercept_errors on;
           #allow IPアドレス;
           #deny  all;
       }
   }

}


・下記は不要
$ sudo systemctl restart php-fpm

・下記何れかは必要
$ sudo systemctl restart nginx.service
$ sudo sh -c 'nginx -t && systemctl restart nginx.service || systemctl status nginx.service -l'

動作確認
・ブラウザより、「hoge.example.com/◇◇◇◇◇◇◇◇」へアクセス

注意点


推測されにくいURLの最強強度は難しい

理由
・正規表現を使用しているため

URLを最強に推測されにくくするためには?
・記号を入れる必要がある
・しかし、「.conf」の「lodation」で正規表現を使用しているため、記号を入れると正常動作しなくなる

最終的に行ったこと
・「数字」「小文字」「大文字」「32文字」指定して、ランダムな文字列を自動生成
・適当な箇所に「-」を挿入
・適当な箇所に「_」を挿入
※「-」「_」は正規表現中で使用可。URLとしても使用可

やはりIP制限しておいた方が良いかも


開発者チームによれば、「phpMyAdmin 4.7.x」において「クロスサイトリクエストフォージェリ(CSRF)」の脆弱性「CVE-2017-1000499」が存在するという。重要度は「クリティカル(critical)」
phpMyAdminのセキュリティについて
データベース管理ツール「phpMyAdmin」に深刻な脆弱性
JVNDB-2017-011921 - JVN iPedia - 脆弱性対策情報データベース
phpMyAdmin - Security - PMASA-2017-9
CVE-2017-1000499


Link


最大アップロードファイルサイズを指定
CentOS7にNginxを入れる
さくらのVPSでサーバー構築

セキュリティ
phpMyAdminの接続許可するIPをすべてに設定するのは良くないでしょうか?
phpMyAdminのセキュリティについて

その他、気が付いたこと

 閲覧数:147 投稿日:2018-03-23 更新日:2018-03-23 

phpMyAdminで、実行したSQL文が表示されない理由


phpmyadminデータベースを作成していないから

phpMyAdminで、実行したSQL文履歴を表示するためには?


1.一番下にある「コンソール」と書かれた「テキスト文字列」をクリック
・「コンソール」エリアが拡がる
・Bookmarks
・オプション
・History
・クリア
※デフォルトでは展開されていない

2.「コンソール」エリアの上にある右から2番目のテキスト文字列「History」をクリック
・「コンソール」エリアに、これまでphpMyAdminで実行されたSQL文が表示さる

phpMyAdminで履歴を表示する仕組み


phpmyadmin DBテーブルにクエリを記録している
・phpmyadmin DBテーブルを作成していないと機能しない
SQL_history · phpmyadmin

phpMyAdminで、表示するSQL文履歴数を変更するためには?


1.画面の右上にある歯車をクリックする

2.表示されるページ関連設定から変更
・「クエリ履歴の長さ」より「プルダウン」で数を選択する

phpMyAdminは、GitHubで公開されている


phpmyadmin/phpmyadmin: A web interface for MySQL and MariaDB

phpMyAdmin以外の選択肢


Adminer - Database management in a single PHP file
・1ファイル


9回目-13.MySQL5.7.21設定

9回目-15.MySQLデータ移行



週間人気ページランキング / 9-18 → 9-24
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 17
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
4 PHPのmb_send_mail関数でメール送信できない | メール処理システム 10
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 9
6 さくらVPS0 8
6 tar: これは tar アーカイブではないようです 8
7 manページ日本語表示 | CentOS 7 (CentOS) 7
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 7
8 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
8 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
8 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 6
9 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
9 echo と cat の違い 5
10 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
10 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
10 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 4
10 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
10 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/25 1:01 更新