Studio ilia

Wordpress、ゲームコンテンツ開発ブログ

Courier-MTAのログイン認証情報をMySQLに移行

概要

「CentOS 8にメールサーバー構築(Courier-MTA)」の手順にて「userdb」に設定したユーザーデータをMySQLで管理できるようになります。

 

▼Courier-MTA公式WEBのREADME

 

構築環境
  • CentOS Linux release 8.2.2004 (Core)
  • courier-1.0.14
  • courier-authlib-0.71.0
  • courier-unicode-2.1

 

▼MySQLのインストール方法は下記で解説しています

 

userdbのMySQL化

▼認証情報データ参照先のMySQLの情報を設定

 

 

 

MySQLのデータベースとテーブルを作成

▼MySQLへログイン

 

▼データベースの作成

 

▼作成したデータベースへ移動

 

▼移動したデータベース内にテーブルの作成
下記をまるっとターミナルにコピペしてSQLコマンドを実行してください。

 

▼テーブル作成後の状態確認

 

 

 

MySQL WorkbenchでDBへデータの投入

データの投入は先ほどテーブルを作成したようにターミナル上でSQLコマンドを実行することで作成が可能ですが、普段追加する際のオペレーションが面倒なので、MySQL公式のOracle社より提供されている「MySQL Workbench」を利用して更新をしていきます。

 

▼MySQL Workbenchについて

Oracle社から提供されているDBをコントロールできる公式のGUIツールです。
これらGUIツールを使ってデータを投入していくと、楽にuserdataが作成できます。

 

▼MySQLへの接続アカウントを設定
「+」ボタンを押して追加

 

▼設定情報を入力

1 Connection Name: 任意に分かり易い名前を入力。
2 Connection Method: 「Standard TCP/IP over SSH』を選択。
直接MySQLに外部から接続できるようにするとセキュリティが低下するため、一度踏み台であるLinuxサーバーにSSHでログインした後、MySQLに接続されるようにします。
3 SSH Hostname: 踏み台ホストのIPアドレスを入力。
SSHのポート番号を変更している場合は、コロン「:」の後にポート番号を入力。
192.168.0.77:1812
4 SSH Password: SSHでリモートログインする際のパスワードを入力。
5 MySQL Hostname 踏み台サーバ=からMySQLへ接続するためのホストネームを入力。
踏み台と同一サーバーの場合はローカルホストのIPを入力。
127.0.0.1
6 root 踏み台サーバーからMySQLにログインするときのユーザーを入力。
7 Password: 踏み台サーバーからMySQLにログインするときのパスワードを入力。

入力が完了したら「OK」ボタン押下で保存してください。

 

▼MySQL WorkbenchでMySQLに接続
「MySQL Workbench」→「SSH:踏み台サーバー」→「MySQL」
先ほど設定したカードが追加されているので、ダブルクリックでMySQLまで接続されます。

 

▼SELECT文でテーブルの内容表示
左の小窓のテーブルよりテーブルの内容表示を実行するか、右上の大きいウィンドでSELECT文を入力して雷アイコンをクリックすることでSQLが実行できます。または「Ctrl+Enter」で入力したSQLを実行可能です。

「雷アイコン」or 「Ctrl+Enter」

 

下ウィンドの『NULL』の空欄セルに設定を直接入力可能です。
基本的に userdb ファイルに記述される内容と同様の値を入力しますが、パスワードは暗号化される前の平文を入力します。

id username
userother@example.com
メーラーに設定するログインユーザーになります。
メールサーバーのホストと同一ドメインの場合はユーザー名のみを入力。違うドメインのメールアドレスの場合はユーザー名@ドメインを入力。
clear UserPassword メーラーに設定するログインユーザーのパスワードです。
uid 1009 CentOS内の該当ユーザーの UID です。
gid 1009 CentOS内の該当ユーザーの GID です。
home /home/username Maildirディレクトリがある /home/username のPATHを入力。
ここの Maildir にメールのデータが格納されます。

入力が完了したら、画面右下の「Apply」を押下で password テーブルに書き込みがされます。

 

 

userdbの優先順位を変更

「CentOS 8にメールサーバー構築(Courier-MTA)」の手順にて準備した「userdb」のファイルと、本手順で準備したMySQLのユーザーデータを、どの優先順位で参照するか、下記のコンフィグで設定が可能です。
重複情報による管理の煩雑化とデータ不一致の動作不具合を防ぐため、本手順ではMySQLのみを有効とします。

 

 

 

▼authlibを再起動でコンフィグを反映

 

 

接続テスト

userdbで接続していた時と同様にメーラからログイン、メール送受信が可能か確かめてください。
メーラーでエラーになる場合はデバッグモードでログを出力して /var/log/maillog のログを確認してください。
デバッグログの設定方法下記の手順を確認してください。

メーラーでアカウントを設定してログイン確認
└ デバッグモードにしてmaillogを確認

 

Home
Profile
Menu
Search