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 # 短いホスト名が表示されるはずです。長いホスト名が表示される場合は設定が間違っています。
hostname -f # 長いホスト名が表示されるはずです。短いホスト名が表示される場合は設定が間違っています。
  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を選択して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
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。