10. PHP の拡張モジュールについて の続き。
MariaDB – 日本語 - MariaDB Knowledge Base
MariaDB-Serverのインストール
インストールされているかの確認。(初期インストール設定によっては MariaDB 5.5 Serverがすでにインストールされている場合もあります)
[root@localhost ~]# yum list installed | grep mariadb mariadb-libs.x86_64 1:5.5.60-1.el7_5 @anaconda
インストール
# yum install mariadb mariadb-server 読み込んだプラグイン:fastestmirror ~(中略)~ インストール中: mariadb x86_64 1:5.5.60-1.el7_5 base 8.9 M mariadb-server x86_64 1:5.5.60-1.el7_5 base 11 M 依存性関連でのインストールをします: perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k ~(中略)~ インストール容量: 110 M Is this ok [y/d/N]: y
インストール: mariadb.x86_64 1:5.5.60-1.el7_5 mariadb-server.x86_64 1:5.5.60-1.el7_5 依存性関連をインストールしました: perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 ~(中略)~ 完了しました! [root@localhost html]# yum list installed | grep mariadb mariadb.x86_64 1:5.5.60-1.el7_5 @base mariadb-libs.x86_64 1:5.5.60-1.el7_5 @anaconda mariadb-server.x86_64 1:5.5.60-1.el7_5 @base
MySQLの設定に入ります。
# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd character-set-server=utf8 (←1行追加) [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
-- 挿入 -- W10: 警告: 読込専用ファイルを変更します
E37: 最後の変更が保存されていません (! を追加で変更を破棄)
などと出た場合は Esc キーを連打してコマンドモードに移った後「 :q! (保存せずに閉じる)」してください。そのあと $ su -
でrootユーザーになってから再度編集してください。この辺りの設定ファイルは一般ユーザーには編集権限がありません。
MariaDB 起動
# systemctl start mariadb
# systemctl enable mariadb
MariaDB の初期設定
# mysql_secure_installation
最初の設問は未入力でそのまま Enter キー(rootユーザーもまだ作ってないので)
root パスワード設定の際、数字をテンキーで入力する場合は numlock キーが有効になってることを改めて確認してください。numlock キー無効で叩くと phpMyAdmin ログイン時に詰みます。
残りの設問は全部 Yes で。
ターミナルから MariaDB にログインしてみる。
[root@localhost html]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 5.5.60-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
MariaDBから抜けるにはバックスラッシュ(¥マークか「ろ」の左)にq
http://localhost/phpmyadmin/ にアクセス。
が、phpMyAdmin 画面は映りますが、ログインフォームが表示されません。誰か助けて。
うまく行ったときのコマンド履歴を完全になぞってるのになぜうまくいかないんだろう。と両者を凝視していたら、あら…ブラウザが違う?
そういや前回は普通に Firefox を使ったけど、今回は Konqueror てなんじゃろーと好奇心でこちらを使ってみたんでした。でもまさかそんなことで 解決した!
(Konqueror でも設定をなんかかんかしたら表示されるんだろうけど……ああ疲れた。)
phpMyAdmin をローカル以外から閲覧する
初期状態では localhost(ゲストOS)からのアクセスのみが許可されており、ホストから(またはローカルでもドメイン名で) phpMyAdmin を見に行くと「You don't have permission to access」と言われます。
/etc/httpd/conf.d/phpMyAdmin.conf を編集することで外部からもアクセスできます。
# cd /etc/httpd/conf.d # ls README autoindex.conf php.conf phpMyAdmin.conf userdir.conf welcome.conf # vi phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 Require local Require ip 192.168.56.102 ← 自身の環境に合わせて追加 (複数まとめての場合、192.168.0. のように適切なセグメントで指定してください) </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>
ファイル保存後、httpd のリスタートが必要です。
# systemctl restart httpd
閲覧できるようになりました。
また、hoge ユーザ が 192.168.1.* から hoge_db へアクセスできるように追加設定する場合。
mysql> grant all privileges on hoge_db.* to hoge@"192.168.1.%" identified by 'hogepass';
ただし、ファイルの先頭に
# Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL
と書かれている通り、SSLで適切に保護されていない限りphpMyAdminをlocalhost以外の人に許可することは危険なので、なるべく許可しない方がよいでしょう。