Jayden

Jayden

iRedMail 部署

イントロ#

mix-space に返信メールの購読と通知機能を追加するため、メールサーバーを自分で構築することにしました。

インターネットで検索してみたところ、iRedMail は機能が強力で使いやすく、デプロイもそれほど複雑ではないようです。やってみましょう!

デプロイするためには、以下が必要です:

  1. VPS(最適な場合は逆引き DNS をサポートしているもの)
  2. ドメイン(もちろんです)

この記事は、ubuntu 22.04 lts をベースにしており、ドメインは xxu.do を使用しています。参考にしてください。

正式なインストール#

システムの準備とインストール#

  1. パッケージの更新と必要なパッケージのインストール:
sudo apt update
sudo apt upgrade
sudo apt install wget curl sudo tar socat bind9-utils -y
  1. メールサーバーのドメインとして mail.xxu.do を設定するため、VPS のホスト名を設定します:
vim /etc/hosts
127.0.0.1 mail.xxu.do mail # 1行追加、mail.xxu.doはフルホスト名、mailはショートホスト名です
x.x.x.x mail.xxu.do mail # ここにパブリックIPアドレスがある場合、後ろをホスト名に変更して保存して終了します

vim /etc/hostname
mail # 内容をmailに変更して保存して終了します

reboot # 再起動して変更を有効にします

hostname # 実行後、ショートホスト名mailが表示されるはずです。フルホスト名が表示される場合は設定が間違っています
hostname -f # 実行後、フルホスト名mail.xxu.doが表示されるはずです。ショートホスト名が表示される場合は設定が間違っています
  1. iRedMail のダウンロードとインストール
wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.8.tar.gz # 20240401時点での最新バージョンは1.6.8です
tar -xf iRedMail.tar.gz
cd iRedMail-1.6.8 && bash iRedMail.sh

次に、グラフィカルなインストール画面に入り、「スペース」キーで選択し、「Enter」キーで次に進みます。インストール中に停止する場合は「Ctrl+C」を押します。

1. インストール、Enter
2. インストールディレクトリ、デフォルトのままでEnter
3. Webサーバーの選択、nginxがよく知られているので、nginxを選択してEnter
4. データベースの選択、2番目のMariaDBを選択してEnter
5. データベースのパスワードの設定、覚えておいてください
6. ドメインの設定、ホスト名と重複しないように設定します。この記事ではxxu.doです
7. 管理者パスワードの設定、覚えておいてください

8. その後はすべて「y」を選択し、セットアップが完了したら `reboot` でシステムを再起動して変更を有効にします

ドメインレコードの設定#

  1. メールサーバーのドメインを VPS に解決し、証明書を申請してインストールします:
curl https://get.acme.sh | sh; apt install socat -y || yum install socat -y; ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
~/.acme.sh/acme.sh --issue -d mail.xxu.do --standalone -k ec-256 --force --insecure
~/.acme.sh/acme.sh  --issue  -d mail.xxu.do  --webroot  /var/www/html
~/.acme.sh/acme.sh --installcert -d mail.xxu.do --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt
service postfix reload;service dovecot reload;service nginx reload # サービスをリロードします
  1. iRedMail のグレーリストを無効にします(影響がわかりませんが、チュートリアルに従って行います)
vi /opt/iredapd/settings.py

# "greylisting" を削除し、書式を維持することに注意してください。または、次の行で行全体を削除します
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
  1. PTR 逆引き解決を設定します:VPS の管理画面にアクセスし、PTR レコードをメールサーバーのドメイン(この記事では mail.xxu.do)に設定します。nslookup x.x.x.x(サーバーのIP)を使用して確認します。
  2. レコードを設定します:
vi /root/iRedMail-1.6.8/iRedMail.tips
# 以下のような部分を見つけ、コピーして引用符とスペースをすべて削除し、先頭と末尾を連結します。

image

次のようなコードが得られますので、dkim._domainkey の Content に入力します:

v=DKIM1;p=MIIBIjANBgkqhkiG9w0BAQEFAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。