新しいホストから本番のメール フローまで 8 ステップで
メール サーバーはハードウェアよりもネットワークに大きく依存します。ポート 25 がブロックされていたり、逆引き DNS (PTR) が設定されていなかったりすると、CPU 性能に関係なくメッセージは配信されません。このガイドでは、事前チェックからセットアップ、デュアル キー DKIM、TLS、モバイル オンボーディングを経て、最初の配信確認まで、厳密な順序で手順を説明します。
nextxch の起動から本番稼働まで
nextxch は ESMTP、IMAP4rev2、POP3、JMAP、Exchange ActiveSync、CalDAV/CardDAV、ManageSieve、SpamGuard、GoBD WORM アーカイブ、管理コックピット (/admin/)、nextxch Webmail PWA (/mail/) を、メモリ安全な単一バイナリ (アイドル時 RAM 約 40~90 MB) にまとめています。初回起動時に GitHub から何かをダウンロードすることはなく、外部の NSSM ラッパー、Redis、Rspamd、個別の Webmail コンテナーも不要です。
システム & ネットワークの前提条件 (事前チェックリスト)
インストール前に、以下の 6 項目すべてをチェックしてください。そのうち 4 つは、サーバーの外部にあるホスティングまたは DNS のコントロール パネルで設定します。
| ポート | プロトコル / サービス | 方向 | 要件 & ガイダンス |
|---|---|---|---|
25 / TCP | ESMTP (MX サーバー間 + STARTTLS/DANE) | 受信 & 送信 | 必須 - インターネット メールの受信と配信に不可欠です。 |
443 / TCP | HTTPS (/admin/、/mail/、JMAP、ActiveSync、DAV、MTA-STS) | 受信 (+ 送信) | 必須 - Webmail、管理画面、モバイル プッシュ、DAV、JMAP & ACME を提供します。 |
465 / TCP | SMTPS Submission (Implicit TLS、RFC 8314) | 受信 | 必須 - 推奨される暗黙的 TLS 送信ポート (RFC 8314)。 |
587 / TCP | SMTP 送信 (STARTTLS) | 受信 | 必須 - Outlook、プリンター、ERP 向けの標準 STARTTLS 送信。 |
993 / TCP | IMAPS (IMAP4rev2 Implicit TLS) | 受信 | 必須 - ポーリング不要の IDLE プッシュを備えた暗号化 IMAP4rev2。 |
80 / TCP | HTTP (ACME HTTP-01 & Autoconfig) | 受信 | 推奨 (TLS-ALPN-01 またはゲートウェイ PFX を使用する場合は任意)。 |
4190 / TCP | ManageSieve (STARTTLS) | 受信 | 任意 (Webmail のビジュアル Sieve エディターは 443 経由ですでに動作します)。 |
143 / TCP | IMAP (STARTTLS) | 受信 | 任意 (ポート 993 の暗黙的 TLS を推奨)。 |
995 / TCP | POP3S (Implicit TLS) | 受信 | 任意 (管理画面 > ネットワークで POP3 が有効な場合のみ。既定ではオフ)。 |
110 / TCP | POP3 (STLS) | 受信 | 任意 (ポート 995 の暗黙的 TLS を推奨)。 |
| 展開規模 | CPU | RAM | ディスクと推奨データベース |
|---|---|---|---|
| 1 - 250 メールボックス | 2 vCPU | 1 - 2 GB | NVMe/SSD · 組み込み SQLite WAL + Zstandard (サーバーのフットプリント約 40-90 MB)。 |
| 250 - 2,500 メールボックス | 4 vCPU | 4 - 8 GB | NVMe + オプションのハイブリッド S3 · PostgreSQL 18 または Microsoft SQL Server (2019-2025)。 |
| 2,500 以上: HA クラスター | 8 vCPU 以上 | 16 GB 以上 | PostgreSQL 18 または SQL Server Always On + S3 Object Lock 上のアクティブ / アクティブ ノード。 |
プラットフォームとストレージ バックエンドの選択
すべてのプラットフォームでまったく同じ機能セットが動作します。運用チームに合った展開方法と SQL バックエンドを選択してください。
| プラットフォーム | 方法 | 最適な用途 |
|---|---|---|
| Windows Server 2019 - 2025 | .msi / install.ps1 | Docker や NSSM を使わないネイティブ Windows SCM サービス。Microsoft SQL Server との併用や hMailServer からの移行に最適です。 |
| Linux (x86_64 & ARM64) | install.sh · .deb · systemd | Debian、Ubuntu LTS、RHEL/Rocky、ARM64 サーバー上で動作する軽量な非 root の systemd デーモン。 |
| Docker Compose | nextxch/server:1.0.0 | Linux ホスト、Proxmox VM、Synology、UGREEN、Unraid にわたる再現可能なコンテナー スタック。 |
| macOS & Kubernetes | launchd / Helm v3 | Mac mini のオフィス サーバー (launchd) から、水平スケールのアクティブ/アクティブ Kubernetes クラスターまで。 |
8 ステップ チュートリアル: インストールから最初の検証済みテスト メールまで
以下で対象プラットフォームを選択してください。8 つの各ステップでは、何を行うか、正確なコマンド、期待される結果を示し、最もよくある落とし穴をその場で強調表示します。
サービスのインストール & ファイアウォール ポートの開放
リリース パッケージをダウンロードして SHA-256 ダイジェストを検証し、バックグラウンド サービスと永続データ ディレクトリを登録します。
# PowerShell (Admin): Downloads .msi (v1.0.0), verifies SHA-256 & launches setup irm https://nextxch.com/install.ps1 | iex # Ensure Windows Defender Firewall permits inbound mail & HTTPS ports New-NetFirewallRule -DisplayName "nextxch" -Direction Inbound ` -Protocol TCP -LocalPort 25,80,443,465,587,993,4190 -Action Allow
# Debian / Ubuntu / RHEL / macOS: Verifies SHA-256 & registers systemd unit curl -fsSL https://nextxch.com/install.sh | sudo bash # If UFW is enabled, allow required mail & HTTPS ports: sudo ufw allow 25,80,443,465,587,993,4190/tcp
# Pulls SHA-256-verified nextxch/server:1.0.0 & writes docker-compose.yml curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- \ --mode docker --domain firma.de --hostname mail.firma.de --admin admin@firma.de
サービスの正常性を確認して /admin/ にサインイン
ログでリスナーが正常に起動したことを確認し、インストール時に設定した管理者の資格情報で管理コックピットにサインインします。
Get-Service nextxch # Open in browser: https://mail.firma.de/admin/ (or http://localhost/admin/)
sudo systemctl status nextxch sudo journalctl -u nextxch -n 30 --no-pager # Open in browser: https://mail.firma.de/admin/
docker compose ps docker compose logs --tail=30 nextxch # Open in browser: https://mail.firma.de/admin/
メール ドメインと並列デュアルキー DKIM の構成
/admin/ で [ドメイン & ルーティング] -> [ドメインの管理] を開きます。nextxch は 2 つの DKIM キー ペアを並行して自動的にプロビジョニングします: RSA-2048 (セレクター s2026) と Ed25519 (セレクター s2026ed)。
TLS 証明書を有効化 (ACME Let's Encrypt またはゲートウェイ PFX)
[セキュリティと証明書] -> [TLS & ACME] を開きます。mail.company.com がホストに解決されるようになったら、HTTP-01 または TLS-ALPN-01 (ポート 443) で Let's Encrypt 証明書を要求するか、pfSense/SSL ゲートウェイの .pfx/.pem 証明書をアップロードします。
DNS レコードの公開とライブ DNS 検証の実行
組み込みの DNS アドバイザーから算出された DNS レコードをコピーします (または BIND ゾーン ファイルをエクスポート): MX、A/AAAA、SPF、両方の DKIM セレクター (s2026 + s2026ed)、DMARC、MTA-STS、TLS-RPT、任意で DANE TLSA (3 1 1) と BIMI。
本番運用前にサーバーを強化する
管理者アカウントにパスキー (WebAuthn) または TOTP 2FA を登録し、SpamGuard のしきい値は 4.5 / 9.0 のままでスマート グレーリストを有効にし、業務用ドメインでは GoBD WORM アーカイブを有効にしてください。
最初のメールボックスを作成し、モバイル デバイスを 30 秒で接続
[アカウントとリスト] で最初のユーザー メールボックスを作成し、https://mail.company.com/mail/ でサインインして [デバイスの設定] をクリックすると、QR コード、またはメッセンジャーでも安全に送れるワンクリック オンボーディング リンクが生成されます。CMS 署名付きの iOS/macOS プロファイルまたは Exchange ActiveSync を利用できます。
ライブ MX テスターとメッセージ トレースで受信・送信の配信を確認
[診断 & ログ] -> [送信 MX & DANE テスター] を gmail.com または外部アドレスに対して実行し、次に /mail/ から実際のメールを送信して返信し、双方向のフローを確認します。
pfSense / OPNsense、SSL ゲートウェイとリバース プロキシの背後での運用
pfSense、OPNsense、Sophos、HAProxy の背後に展開する場合は、正確な診断と実際のクライアント IP の保持のために、次の 3 つの設定を構成してください:
| シナリオ | 推奨構成 |
|---|---|
| スプリット DNS / ヘアピン NAT | Unbound で mail.company.com を社内 LAN IP に向ける Split-DNS ホスト オーバーライドを構成するか、ゲートウェイで Pure NAT Reflection を有効にしてください。 |
| HAProxy PROXY プロトコル | 信頼済みプロキシの CIDR に限定して PROXY プロトコル v1/v2 を有効にすると、SPF と自動禁止がゲートウェイの IP ではなく実際のリモート IP を参照します。 |
| ゲートウェイ証明書 | ゲートウェイで更新された .pfx/.pem 証明書をポート 25/465/587/993 用に nextxch へ同期します。Dynamic SNI により、更新された証明書がダウンタイムなしでホット リロードされます。 |
症状別トラブルシューティング (エラーから即時の解決まで)
下記から発生している症状をクリックするか、上のクイック フィルター ボックスにエラー メッセージの一部を入力してください:
サービスが実行中なのに、外部ポート チェッカーが 'Blocked / Timeout' と報告する
TCP 25 / 465 / 993 Timeout
起動時にサービスがポートをバインドできない
Address already in use (:25 / :80 / :443)
Gmail、Microsoft 365、または大手 ISP への送信メールが拒否される
550-5.7.25 / 550-5.7.1 PTR missing
ライブ DNS インスペクターで、公開した DKIM または DMARC の TXT レコードが見つからない
NXDOMAIN s2026._domainkey
Let's Encrypt ACME で証明書が発行されない、またはブラウザーに TLS 警告が表示される
ACME challenge failed
iPhone で WhatsApp / Teams のオンボーディング リンクを開いても、設定のプロファイル インストールがすぐに起動しない
iOS In-App WebView
Docker コンテナーが再起動を繰り返す、またはマウントしたホスト ボリュームに書き込めない
Access to path '/var/lib/nextxch' denied
メール クライアントが IMAP または SMTP でサインインできない
535 Authentication failed / TLS required
次のステップ: 10 秒でのアップグレード、バックアップ & 移行
双方向のメール フローが確認できれば、サーバーは本番運用の準備完了です。次の 3 つの運用ワークフローを手元に用意しておいてください:
# 1) In-place upgrade (preserves configuration, certificates & mailboxes): # Linux / macOS: curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update # Windows PowerShell (Administrator): irm https://nextxch.com/install.ps1 | iex # 2) Backup scope (only 2 paths): # - Config file: appsettings.Production.json (including license token) # - Data dir: Storage:DataDirectory (SQLite WAL / blobs / TLS certs) # or pg_dump / SQL Server backup when running an external DB cluster
初回起動前のクイック アンサー
nextxch を Windows Server で使うには NSSM や Docker Desktop が必要ですか?
いいえ。Windows で NSSM サービス ラッパーを必要とするサーバーとは異なり、nextxch は公式の .msi インストーラーにより、Docker Desktop、WSL2、Hyper-V なしで Windows サービス コントロール マネージャー (SCM) にネイティブに登録されます。
nextxch は初回起動時に WebUI やスパム ルールをダウンロードするためにインターネット接続が必要ですか?
いいえ。管理コックピット (/admin/)、nextxch Webmail PWA (/mail/)、SpamGuard エンジン、すべてのプロトコル リスナーは SHA-256 で検証されたパッケージに自己完結しており、100% オフライン / エアギャップ環境でも起動できます。
最初のテスト メールを送信する前に、逆引き DNS (PTR) を一致させる必要があるのはなぜですか?
Gmail、Microsoft 365、ヨーロッパの ISP などの大手受信者は、パブリック IPv4 と IPv6 の両方のアドレスが PTR で正確な SMTP EHLO ホスト名 (例: mail.company.com) に逆引きされることを検証します。デュアル スタック ホストでの IPv6 PTR レコードの欠落は、550-5.7.25 による拒否の最大の原因です。
本番稼働後のインプレース アップグレードはどのように行いますか?
Linux/macOS では curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update、Windows では irm https://nextxch.com/install.ps1 | iex を実行します (または /admin/ 内のワンクリック アップデーターを使用)。appsettings.Production.json、TLS 証明書、DKIM キー、メール ストアは自動的に保持されます。