WordPress の動作条件として、前回「php7.3」をインストールしました。
今回は、MySQLの互換データベースと言う事で、MariaDB バージョン10 のインストールをしようと思います。
今回もこちらを参考にさせていただきました
インストール
インストール状況確認と下位バージョンの削除
デフォルトでのインストール状況は「yum list」で確認できます。
もし、下位バージョンがインストールされていた場合には、
「yum remove」で削除します
$ yum list maria* ・ ・ インストール済みパッケージ mariadb-libs.x86_64 1:5.5.60-1.el7_5 @base ・ ・
$ sudo yum remove mariadb-libs ・ ・ 削除しました: mariadb-libs.x86_64 1:5.5.60-1.el7_5 依存性の削除をしました: postfix.x86_64 2:2.10.1-7.el7 <------------- これ注意 完了しました!
これ注意!
実は、だいぶ後で気が付いて慌ててしまったのですが、「mariadb」を削除すると「postfix」も依存関係で削除されてしまいます
もし、すでに「postfix」のインストールが完了している状態であれば、再度インストールする必要があります。
後半に詳細を書こうを思います。
MariaDB用レポジトリ追加
上記の「yum list maria*」コマンドで確認できますが、
「利用可能なパッケージ」の項目には、 バージョン5.5しか利用できない状態なので、10系統用のレポジトリの追加が必要になります。
レポジトリファイルは、「/etc/yum.repos.d」に保存されているようです
こちらに用意されているようですが、公式サイトのホームからの行く場合迷ってしまいました。
ホームページ
↓
「Download」
↓
「Download」
↓
「Download 10.3.15 Stable Now!」
↓
一番下のリンクの
「For best results with RPM packages, use the Repository Configuration Tool.」
↓
「centOS」
↓
「centOS7(x86_64)」
↓
「10.3(Stable)」
↓
Here is your custom MariaDB YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar).
このコメントの下に、レポジトリの内容が表示されているので、その部分をコピー&ペーストで上記のレポジトリの保存場所に適当な名前でファイルを作成するようです
$ sudo vi /etc/yum.repos.d/mariadb.repo # MariaDB 10.3 CentOS repository list - created 2019-05-19 23:28 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 enable=1 <------------- これは自分で追加 ファイルを保存したら確認します $ sudo yum list MariaDB*
インストール
必要なパッケージは、下記のようなので、「yum install」コマンドでインストールします。
・MariaDB-server
・MariaDB-client
・MariaDB-devel
$ sudo yum install MariaDB-server MariaDB-client MariaDB-devel ・ ・ Is this ok [y/d/N]: y ・ ・ 完了しました!
途中確認メッセージが出ますが、これが不要な場合には、「-y」オプションで省けます
起動と確認
$ sudo systemctl start mariadb <------------- スタート
$ sudo systemctl status mariadb <------------- 起動状態
$ ps -aux | grep mysqld <------------- 稼動プロセス状態
$ sudo systemctl enable mariadb <------------- 自動起動設定
$ systemctl is-enabled mariadb <------------- 自動起動の確認
enabled
セキュリティ強化
mysql_secure_installation
MariaDBでは基本的なセキュリティ対策を行う、「mysql_secure_installation」コマンドが用意されているようなので、実行しておきます。
実行すると、いくつか質問が出てきます
・管理者パスワードの設定
・匿名ユーザーの削除の確認
・ネット上から管理者でログインできなくするかの確認
・デフォルトで作成されている、「test」データベースの削除確認
後ろ3項目は、「y」で問題ないと思いますが、管理者のパスワードは事前に決めておいてメモを残しておいたほうが無難です。
★管理者パスワード : hogehoge_passwd
文字コードをUTF-8 に設定
$ sudo mysql_secure_installation
・
・
Set root password? [Y/n] y <--------------- 管理者パスワード設定
New password: hogehoge_passwd
Re-enter new password: hogehoge_passwd
Password updated successfully!
・
・
Remove anonymous users? [Y/n] y <--------- 匿名ユーザー削除
… Success!
・
・
Disallow root login remotely? [Y/n] y <----- リモート管理者ログイン拒否
… Success!
・
・
Remove test database and access to it? [Y/n] y <---- test データベース削除
・
・
Thanks for using MariaDB!
デフォルトでは文字化け発生の可能性があるので、UTF-8 の設定しておいたほうがいいようです
設定は、「/etc/my.cnf.d/server.cnf」の「[server]」項目に「character-set-server=utf8」を追加します
バックアップファイルを作成し、編集後、再起動します
$ cd /etc/my.cnf.d/ $ sudo cp -p server.cnf server.cnf.org $ sudo vi ./server.cnf ・ ・ # this is read by the standalone daemon and embedded servers [server] character-set-server=utf8 <------------- 追加 ・ ・ $ sudo systemctl restart mariadb <------------ 再起動 $ sudo systemctl status mariadb <------------ 確認
MarinaDBへの接続と、パスワード変更
接続は、「mysql」コマンドに、「-u」にユーザー名、「-p」にパスワードを指定して接続します。
「-p」だけで実行すると、対話式にパスワード入力になります
$ mysql -uroot -phogehoge_passwd 「-p」の後にはスペースは入れません
$ mysql -u root -p
Enter password: <------------- 「-p」だけの場合には、入力待ちになる
パスワード変更は、MarinaDBに接続後、「SET PASSWORD」コマンドで行います
$ mysql -u root -phogehoge_passwd Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 1743 Server version: 10.3.18-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)]> SET PASSWORD FOR root@localhost=password('Hogehoge_Password'); Query OK, 0 rows affected (0.001 sec)
変更したら、必ずメモに残しておきましょう!
★管理者パスワード変更 : Hogehoge_Password 2019.10.16
問題発生!
上記にも書きましたが、MarinaDBを削除すると、postfix も消されてしまいます。結構悩んだので、残しておこうと思います。
こちらが参考になりました。
http://chira-memo.hatenablog.com/entry/2017/03/07/074710
http://big1to.com/development-note/867
$ yum list installed | grep postfix $ sudo yum history list all 上の結果の「Erase」項目の日付などから、IDの番号のあたりをつけ確認 $ sudo yum history info 15 ・ ・ 切り替えたパッケージ: 削除 mariadb-libs-1:5.5.60-1.el7_5.x86_64 @base 削除 postfix-2:2.10.1-7.el7.x86_64 @base スクリプトの出力: 1 警告: /etc/postfix/master.cf は /etc/postfix/master.cf.rpmsave として保存されました。 2 警告: /etc/postfix/main.cf は /etc/postfix/main.cf.rpmsave として保存されました。 history info
やっぱり消えてました。
ただし、警告にあるように、設定ファイル、master.cf と main.cfは *.rpmsave として保存されていたので助かりました。
「postfix」を再インストールして、設定ファイルを戻し送信テストを行います
$ sudo yum install postfix
$ cd /etc/postfix
$ sudo rm mail.cf
$ sudo rm master.cf
$ sudo mv main.cf.rpmsave main.cf
$ sudo mv master.cf.rpmsave master.cf
これで、再起動
$ sudo systemctl start postfix
$ systemctl status postfix
activeになっているのを確認し、送信テスト
$ echo test mail to root after reinstall | mail root@hogehoge.com
ログ確認
$ sudo tail /var/log/maillog
・
・
・
21 10:20:02 server postfix/smtp
・
・, status=sent (250 2.0.0 ・・ accepted for delivery)
status=sent になっている。
無事に動き出したみたい。 よかった !
やっと準備が整いました。
WordPress をインストールに進みます
コメント
データベースのバックアップリストア、覚書き
https://server.etutsplus.com/how-to-use-mariadb/
# mysqldump -uroot -pHogehogePassword –lock-all-tables –events –all-databases > DataBackup.sql
# mysql -uroot -pHogehogePassword < DataBackup.sql