Adminerとは
phpMyAdminのようにブラウザからデータベースを管理できるツールです。
知名度はphpMyAdminやphpPgAdminなどより下かもしれませんが、
これらを基にして後発で作られた故にか、取り回しはずっと楽になっています。
メリット
・導入が楽
・1ファイルで本体が小さくサーバー容量を圧迫しない
(adminer-4.7.3.phpは473KB)
・動作が軽い
・複数種のDBに対応
(MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch, MongoDB)
導入
公式サイトの Download(Downloads)から、Adminer X.X.X (.php, XXX kB)
をDLしてサーバにアップロードするだけで利用できます。
公式:https://www.adminer.org/en/
2019/8/31時点では最新ver.は4.7.3
セキュリティ対策
公開ディレクトリに本体を置くと、URL入力でアクセスできてしまいます。
ルートディレクトリにそのまま置いた場合ならこんな感じ↓
http://sample.com/adminer-4.7.3php
よって、ローカル環境以外ではアクセス制限をつけます。
adminer本体を非公開のディレクトリに置きに置き、アクセス制御用の別のPHPファイルから呼び出すと
安全です。こちらはIP制御の例。
adminer_ext.php
<?php
$acl = [//↓アクセスを許可するIPを指定
'::1', //localhost
'xxx.xxx.xxx.xxx',
];
if(!in_array($_SERVER['REMOTE_ADDR'], $acl)){
header("HTTP/1.0 404 Not Found");
exit;
}
require '../adminer-4.7.3.php';
参考:
https://qiita.com/danishi/items/7b4aa105844c015cd429
おまけ
見た目をカスタマイズすることもできます。
公式にもいくつか紹介されているので、必要に応じて使ってみてください。
CSSをリンクからDL,本体と同ディレクトリに上記のadminer.cssのファイルを設置するだけです。