Red Hat Enterprise Linix 9 にデータベースサーバー(MariaDB)を構築する

conoha Linux
記事内に広告が含まれています。
スポンサーリンク

前回は OpenLiteSpeed で Web サーバーを構築しましたが、今回はその続きとしてデータベースサーバーを構築していきます。

MariaDB のインストール

今回は、サポート期限の長い MariaDB 10.11(LTS)を選択しました。

MariaDB
Check end-of-life, release policy and support schedule for MariaDB.

リポジトリの追加

MariaDB 公式から適切なリポジトリを取得し、追加します。

Download MariaDB Server - MariaDB.org
REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

今回は山形大学のリポジトリーを使わせて貰うことにします。

MariaDB のインストール

追加したリポジトリから MariaDB をインストールしていきます。

MariaDB の設定ファイル編集

設定ファイルに文字コード(utf8mb4)を設定します。

MariaDB 起動

MariaDB 自動起動

MariaDB 初期設定

mariadb-secure-installation を使って MariaDB の初期設定を行います。

後で phpMyAdmin をインストールするので、root パスワードを設定(変更)しています。

以上で MariaDB のインストールはできました。

phpMyAdmin の導入

続いて、運用上非常に便利な phpMyAdmin も導入していきます。

OpenLiteSpeed 公式に phpMyAdmin を導入するガイドがあったのですが、ざっくりしすぎていてあまり参考にはなりませんでした。

Quick Install phpMyAdmin – OpenLiteSpeed

OpenLiteSpeed の設定

OLS の管理画面から「バーチャルホスト」⇒「ホスト名」⇒「コンテキスト」と辿り、新しいコンテキストを追加します。

  • タイプ:Static
  • URI:/phpmyadmin
  • 場所:/usr/share/phpMyAdmin
  • インデクスファイル:index.php

IP アドレスによるアクセス制限をかける場合

  • アクセスが許可されました:(アクセスを許可する IP アドレス)
  • アクセスが拒否されました:*

固定 IP アドレスに対応したプロバイダーを契約している場合は IP アドレス制限を使えるので、安心して phpMyAdmin が設置できますね。

URI が phpmyadmin だと不正アクセスも多いので、違う URI を指定するのも良いと思います。

phpMyAdmin にログインする

https://ドメイン/phpmyadmin/ にアクセスすると、無事 phpMyAdmin のログイン画面が表示されました。

phpMyAdmin のエラーメッセージ対処

メインページの下部にエラーが表示されていますので、引き続き対処していきます。

blowfish_secret を設定する

まずは暗号化 (blowfish_secret) 用の非公開パスフレーズの設定をしていきます。

パスフレーズ生成のために expect パッケージをインストールします。

「mkpasswd-expect -l 32」で 32 桁のランダムな文字列が生成されますので、それをコピーして config.inc.php に貼り付けます。

テンプレートのキャッシュを有効化

キャッシュに使用される tmp ディレクトリを作成し、phpMyAdmin 全体の所有者を OpenLiteSpeed のデフォルトである nobody にまとめて変更します。

phpMyAdmin 環境保管領域の設定

エラーメッセージのリンク(https://ドメイン/phpmyadmin/index.php?route=/check-relations)にアクセスして、データベースを作成を押すと自動的に phpmyadmin データベースを作成してくれます。

これで、エラーを潰すことができました。

php の関連パッケージをインストール

dnf で phpMyAdmin をインストールする際に、依存関係で導入される php の関連パッケージを調べてみます。(インストール自体はキャンセルします。)

OpenLiteSpeed のスクリプトハンドラ設定で PHP を lsphp82 で動かすように設定していますので、php- で始まるパッケージ名を lsphp82- に置き換えてインストールします。(php-fpm は除く)

また、lsphp82-pecl-zip は見つからなかったため、lsphp82-zip をインストールしておきました。

これで何かの拍子にモジュールが足りないせいでエラーになる可能性が減ると思います。

自動バックアップの設定

mariadb-dump を使って、自動的にデータベースのバックアップを取るようにします。

スクリプトは定番サイトの通りに設定しました。

MariaDBデータベース自動バックアップ運用(mysqldump) - AlmaLinuxで自宅サーバー構築
MariaDBデータベース自動バックアップ運用(mysqldump)

※mysqldump は mariadb-dump へのシンボリックリンクになっていますので、そこだけ変更しています。

MariaDB の root パスワードが記載されているので、root ユーザーしかアクセスできないようにパーミッションを変更します。

cron に登録して、毎日自動的にバックアップされるように設定します。

まとめ

データベースサーバーには内部からのアクセスのみを想定していますので、外部からアクセスする場合はファイヤーウォールで 3306 ポートを開放する必要があります。

設定方法については過去の記事を参考にしてください。

次回はこのサーバーに WordPress をインストールしていきます。

コメント

タイトルとURLをコピーしました