MySQLをブラウザからGUIで操作ができるphpMyAdminをインストールします。
前提条件
CentOS7にLAMP環境構築で紹介した下記の環境にphpMyAdminをインストールします。
yumリポジトリにremiを追加してから実行してください。
LAMP環境 | version |
---|---|
L SentOS7 | 7.2.1511 |
A Apache | 2.4.6 |
M MySQL | 5.7.15 |
P PHP | 5.6.25 |
インストール
remiとremi-php56を有効にしてphpMyAdminをインストールします。
PHPのバージョンが5.6なのでremi-php56を使っています。
バージョンの違うリポジトリを有効化すると、バージョン違いのエラーが出てインストールに失敗するので、適宜読みかえてください。
# yum –enablerepo=remi,remi-php56 install phpMyAdmin
インストールに成功したら、設定に進んでください。
libtidy–0.99.so.0()(64bit) が無いと言われてインストールできなかった場合は下記を実行してください。
まずlibtidy–0.99.so.0()(64bit)のパッケージを探します。
RPM pbone.netでダウンロードURLを取得します。
検索窓に libtidy–0.99.so.0()(64bit) を入力して SEARCH
CentOS7用のパッケージが無かったので、OtherのURLをコピー
ファイルをダウンロード
# wget ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/r/ra/ramonelinux/Rel_0.99/releases/x86_64/packages/tidy-0.99.0-1.ram0.99.x86_64.rpm
※wgetをインストールしていない場合は # yum install wget でインストールしてください。
rpmパッケージをインストール
# rpm -Uvh tidy-0.99.0-1.ram0.99.x86_64.rpm
再度phpMyAdminをインストール
# yum install -y –enablerepo=remi,remi-php56 phpMyAdmin
設定
アクセス制限
phpMyAdminはWebブラウザで http://サーバのIPアドレス/phpmyadmin にアクセスすることで利用できますが、
インストール直後はローカルからのアクセスしかできなくなっています。
試しに外部のネットワークからアクセスしようとすると下記のようなメッセージが表示されます。
Forbidden
You don’t have permission to access /phpmyadmin/ on this server. |
ローカル以外からphpMyAdminに接続する場合は、phpMyAdmin.conf を編集します。
2.4系のApacheを使用しているので<Directory /usr/share/phpMyAdmin/>の<IfModule mod_authz_core.c>部分を編集します。
設定例では初期値の Require local をコメントアウトし、
Require all granted を追記していますが、セキュリティ上望ましくないので、
外部からのアクセスを許可する場合は Require ip でIPアドレスを指定しましょう。
# gedit /etc/httpd/conf.d/phpMyAdmin.conf
設定例
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8<IfModule mod_authz_core.c> # Apache 2.4 # Require local ←初期値 ローカルからのアクセスのみ許可 # Require ip 111.11.111.11 ←許可するIPを指定 111.11 や 111.11.111.0/24 といった指定も可能 Require all granted #←どこからでもアクセス可能 </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> |
Apacheを再起動
# systemctl restart httpd.service
動作テストとユーザの作成
セキュリティ強化のため、後でrootユーザでのphpMyAdmin接続を制限します。
phpMyAdminの動作確認をするついでに、rootユーザと同じ権限を持つユーザを作成しましょう。
Webブラウザで http://サーバのIPアドレス/phpmyadmin にアクセス
言語を日本語に変更
ユーザ名:root
パスワード:rootのパスワード
を入力し 実行
User name:任意のユーザ名
Host name:% ※外部のホストからアクセスできるように%にしました。外部からアクセスしなければ localhost にしてください。
パスワード:大文字、小文字、数字、記号を含む8文字以上の文字列
Re-tyoe:パスワードを再度入力
同名のデータベースを作成して全ての権限を与える。
ワイルドカード(ユーザ名_%)に該当するデータベースにすべての特権を与える。
にチェックを入れる
グローバル権限 Check all
にチェックを入れ 実行
警告対応とrootユーザのアクセス制限
phpMyAdminの設定ファイルを変更し、rootユーザでのアクセス制限と、phpMyAdminのトップページに出る以下の警告を解消しましょう。
【 phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
代わりにデータベースの操作タブを使って設定することもできます。】
まずは、phpMyAdmin用のデータベースとユーザを作成します。
簡単なSQLで操作が完了するのでコマンドラインで設定して行きます。
# mysql -u root -p ←rootユーザでログイン
mysql> source /usr/share/phpMyAdmin/sql/create_tables.sql ←phpMyAdmin用のデータベースを作成
mysql> GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@localhost IDENTIFIED BY ‘大文字、小文字、数字、記号を含む8文字以上パスワードを入力’; ←phpMyAdmin用ユーザpmaを作成
mysql> FLUSH PRIVILEGES; ←権限テーブルリロード
mysql> exit ←ログアウト
※phpMyAdminの設定ファイルconfig.inc.phpにサンプルとして記載されているphpMyAdmin用ユーザ名がpmaなので、pmaを作成しました。
phpMyAdminの設定ファイルconfig.inc.phpを編集します。
# gedit /etc/phpMyAdmin/config.inc.php
設定ファイルの下記項目を編集してください。
/* User used to manipulate with storage */ // $cfg[‘Servers’][$i][‘controlhost’] = ”; // $cfg[‘Servers’][$i][‘controlport’] = ”; $cfg[‘Servers’][$i][‘controluser’] = ‘pma’; コメントアウトを外す $cfg[‘Servers’][$i][‘controlpass’] = ‘pmaのパスワード‘; コメントアウトを外す /* 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 */ |
/** * You can find more configuration options in the documentation * in the doc/ folder or at <https://docs.phpmyadmin.net/>. */$cfg[‘Servers’][$i][‘AllowRoot’] = false; |
Apacheを再起動して変更を適用
# systemctl restart httpd.service
これでphpMyAdminの設定は終了です。
rootではアクセスできなくなっているので、事前に作成したrootユーザと同じ権限を持つユーザでphpMyAdminにアクセスしてください。
環境保管領域に関する警告表示が消えています。
お疲れ様でした。次はWordPressのインストールについてまとめようと思います。機会がありましたらまたお付き合い下さい。