サーバー設定 · 4 min read · Sep 22, 2025
ISPConfigの完璧なマルチサーバーセットアップ - Ubuntu 20.04およびDebian 10 - ページ 3

4 最初のメールサーバーのインストール
rootとしてログインするか、次のコマンドを実行して
su -サーバー上でrootユーザーになります。重要: ‘su -‘を使用し、単に’su’を使用しないでください。そうしないと、DebianによってPATH変数が誤って設定されます。
4.1 ホスト名の設定
サーバーのホスト名は「mx1.example.com」のようなサブドメインであるべきです。「example.com」のようなサブドメイン部分のないドメイン名をホスト名として使用しないでください。そうすると、後でメール設定に問題が発生します。まず、/etc/hostsでホスト名を確認し、必要に応じて変更してください。行は次のようにする必要があります: 「IPアドレス - スペース - 完全なホスト名(ドメインを含む) - スペース - サブドメイン部分」。私たちのホスト名mx1.example.comの場合、ファイルは次のようになります:
nano /etc/hosts127.0.0.1 localhost.localdomain localhost
# この行はすべてのノードで正しいサーバー名に変更する必要があります:
127.0.1.1 mx1.example.com mx1
# これらの行はすべてのノードで同じです:
10.0.64.12 panel.example.com panel
10.0.64.13 web01.example.com web01
10.0.64.14 mx1.example.com mx1
10.0.64.15 mx2.example.com mx2
10.0.64.16 ns1.example.com ns1
10.0.64.17 ns2.example.com ns2
10.0.64.18 webmail.example.com webmail
# 次の行はIPv6対応ホストにとって望ましいです
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersご覧のとおり、他のサーバーのホスト名も追加しましたので、後で内部ネットワークを介して通信できます。
次に、/etc/hostnameファイルを編集します:
nano /etc/hostnameそれにはサブドメイン部分のみを含める必要があります。私たちの場合:
mx1最後に、変更を適用するためにサーバーを再起動します:
systemctl reboot再度ログインし、次のコマンドでホスト名が正しいかどうかを確認します:
hostname
hostname -f出力は次のようになります:
root@mx1:~$ hostname
mx1
root@mx1:~$ hostname -f
mx1.example.com4.2 ISPConfigのインストール
これで、すべてのパッケージとISPConfigの自動インストーラーを実行できます:
wget -O - https://get.ispconfig.org | sh -s -- --no-dns --no-roundcube --no-mailman --use-php=system --use-unbound --interactiveしばらくすると、次のようになります:
WARNING! このスクリプトはサーバー全体を再構成します!
これは新しくインストールされたサーバーで実行する必要があり、現在行ったすべての設定はおそらく失われます!
本当に続行したい場合は「yes」と入力してください:「yes」と答えてEnterを押します。インストーラーが開始されます。
パッケージのインストールと設定が完了すると、mx1のMySQLのrootパスワードが表示されます。これを書き留めておいてください(混乱を避けるためにサーバー名と一緒に)。
次に、インタラクティブモードを使用しているため、いくつかの質問に答える必要があります。これは、このサーバーがマルチサーバーセットアップに追加されるために必要です。
[INFO] ISPConfig3をインストール中。
[INFO] あなたのMySQL rootパスワードは: kl3994aMsfkkeE
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
|_| |_|\__/ / | | \__/\ (_) | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> 初期設定
オペレーティングシステム: Debian 10.0 (Buster) または互換性のあるもの
次に、主要な設定のためのいくつかの質問がありますので、注意してください。
デフォルト値は[ブラケット]内にあり、で受け入れることができます。
インストーラーを停止するには「quit」と入力してください(引用符なしで)。
言語を選択してください (en,de) [en]: <-- Enterを押す
インストールモード (standard,expert) [standard]: <-- expert
サーバーの完全修飾ホスト名 (FQDN)、例: server1.domain.tld [mx1.example.com]: <-- Enterを押す
MySQLサーバーのホスト名 [localhost]: <-- Enterを押す
MySQLサーバーのポート [3306]: <-- Enterを押す
MySQLのrootユーザー名 [root]: <-- Enterを押す
MySQLのrootパスワード []: <-- スクリプトが与えたMySQLパスワードを入力
作成するMySQLデータベース [dbispconfig]: <-- Enterを押す
MySQL文字セット [utf8]: <-- Enterを押す
次の2つの質問は、内部ISPConfigデータベースユーザーとパスワードに関するものです。
デフォルトの「ispconfig」をユーザー名として受け入れることをお勧めします。
異なるパスワードを使用する場合は、数字と文字のみを使用してください。
ISPConfig mysqlデータベースユーザー名 [ispconfig]: <-- Enterを押す
ISPConfig mysqlデータベースパスワード [aakl203920459853sak20284204]: <-- Enterを押す
このサーバーは既存のISPConfigマルチサーバーセットアップに参加しますか (y,n) [n]: <-- y
MySQLマスターサーバーのホスト名 []: <-- panel.example.com
MySQLマスターサーバーのポート []: <-- Enterを押す
MySQLマスターサーバーのrootユーザー名 [root]: <-- Enterを押す
MySQLマスターサーバーのrootパスワード []: <-- マスターサーバーの外部rootユーザーに与えたパスワードを入力。
MySQLマスターサーバーのデータベース名 [dbispconfig]: <-- Enterを押す
ISPConfigサーバーレコードをデータベースに追加しています。
メールの設定 (y,n) [y]: <-- Enterを押す
Postgreyの設定
Postfixの設定
RSAプライベートキーを生成中
......................................................................++++
....................++++
新しいプライベートキーを'smtpd.key'に書き込み中
-----
証明書要求に組み込まれる情報を入力するように求められます。
入力する内容は、識別名またはDNと呼ばれるものです。
いくつかのフィールドがありますが、いくつかは空白のままにできます。
いくつかのフィールドにはデフォルト値があります。
'.'を入力すると、そのフィールドは空白のままになります。
-----
国名 (2文字コード) [AU]: <-- Enterを押す
州または省の名前 (フルネーム) [Some-State]: <-- Enterを押す
所在地名 (例: 市) []: <-- Enterを押す
組織名 (例: 会社) [Internet Widgits Pty Ltd]: <-- Enterを押す
組織単位名 (例: セクション) []: <-- Enterを押す
共通名 (例: サーバーFQDNまたはあなたの名前) []: <-- Enterを押す
メールアドレス []: <-- Enterを押す
[WARN] Mailmanの自動検出に失敗しました
Mailmanを強制的に設定しますか (y,n) [n]: <-- Enterを押す
Mailmanをスキップします
Dovecotの設定
新しいDHParamsファイルを作成中、これには数分かかります。スクリプトを中断しないでください。
Spamassassinの設定
[WARN] Amavisdの自動検出に失敗しました
Amavisdを強制的に設定しますか (y,n) [n]: <-- Enterを押す
Amavisdをスキップします
Rspamdの設定
Getmailの設定
Jailkitの設定
Pureftpdの設定
DNSサーバーの設定 (y,n) [y]: <-- n
Webサーバーオプションは、Webサーバーを実行する場合、またはこのノードがISPConfigインターフェースをホストする場合に有効にする必要があります。
Webサーバーの設定 (y,n) [y]: <-- Enterを押す
Apacheの設定
vloggerの設定
[WARN] OpenVZの自動検出に失敗しました
OpenVZを強制的に設定しますか (y,n) [n]: <-- Enterを押す
OpenVZをスキップします
ファイアウォールサーバーの設定 (y,n) [y]: <-- Enterを押す
Ubuntuファイアウォールの設定
[WARN] Metronome XMPPサーバーの自動検出に失敗しました
Metronome XMPPサーバーを強制的に設定しますか (y,n) [n]: <-- Enterを押す
Metronome XMPPサーバーをスキップします
Fail2banの設定
ISPConfig Webインターフェースをインストールしますか (y,n) [n]: <-- Enterを押す
サーバーのSSL証明書を作成しますか? (y,n) [y]: <-- Enterを押す
mx1.example.comの証明書を確認/作成中
証明書パスを使用しています /etc/letsencrypt/live/mx1.example.com
証明書検証にApacheを使用しています
ISPConfig SSL証明書をPostfixにシンボリックリンクしますか? (y,n) [y]: <-- Enterを押す
ISPConfig SSL証明書をPure-FTPdにシンボリックリンクしますか? dhparamファイルの作成には時間がかかる場合があります。(y,n) [y]: <-- Enterを押す
DHパラメータを生成中、2048ビットの安全な素数、ジェネレーター2
これには時間がかかります
......................+...........................................+...............
アプリのvhostの設定
DBServerの設定
ISPConfigのcrontabをインストール中
getmailのcrontabはありません
IPアドレスを検出中
サービスを再起動中 ...
インストールが完了しました。
[INFO] ISPConfigにphpバージョンを追加しています。
[INFO] すべてのサービスが実行中であることを確認しています。
[INFO] mysql: OK
[INFO] clamav-daemon: OK
[INFO] postfix: OK
[INFO] bind9: OK
[INFO] pureftpd: OK
[INFO] apache2: OK
[INFO] rspamd: OK
[INFO] redis-server: OK
[INFO] dovecot: OK
[INFO] インストール準備完了。
[INFO] あなたのMySQL rootパスワードは: kl3994aMsfkkeE
[INFO] 警告: もう必要ない場合は、/tmp/ispconfig-ai/var/log/setup-*のログファイルを削除してください。これにはあなたのパスワードが含まれています! 4.3 Dovecotのレプリケーションの設定
mx1とmx2の間でメールを同期するためにdsyncを使用します。冗長性のためです。
Dovecotのカスタム設定は、/usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.masterに保存する必要があります。これにより、ISPConfigを更新する際に設定が失われることがありません。
nano /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master以下を追加します:
protocol imap {
mail_plugins = $mail_plugins quota imap_quota notify replication
}
protocol pop3 {
mail_plugins = $mail_plugins quota notify replication
}
protocol lda {
mail_plugins = $mail_plugins sieve quota notify replication
}
protocol lmtp {
mail_plugins = $mail_plugins sieve quota notify replication
}
doveadm_password = /(:&p-J:4e%?\@Q-;VSE#3Dmfm[fVK&r-mx1
doveadm_port = 12345
replication_max_conns = 50
ssl_client_ca_dir = /etc/ssl/certs
# レプリケータプロセスは起動時に開始される必要があります。すぐにユーザーのレプリケーションを開始できるように:
service replicator {
process_min_avail = 1
}
# メールプロセスは、replication-notify fifoおよびソケットにアクセスする必要があります。
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
mode = 0666
}
unix_listener replication-notify {
user = vmail
mode = 0666
}
}
# doveadmレプリケータコマンドを有効にします
service replicator {
unix_listener replicator-doveadm {
mode = 0666
}
}
# doveadm-serverのリスナーを作成します
service doveadm {
user = vmail
inet_listener {
port = 12345
ssl = yes
}
}
service config {
unix_listener config {
user = vmail
}
}
plugin {
mail_replica = tcps:mx2.example.com
}doveadm_passwordを自分のパスワードに置き換えます - セキュリティ上の理由から、長くてランダムな文字列にしてください。
mail_replica = tcps:mx2.example.comを自分のmx2のホスト名に置き換えます。
これらの変更を適用するには、ファイルをdovecotフォルダーにコピーし、dovecotを再起動します:
cp /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master /etc/dovecot/conf.d/99-ispconfig-custom-config.conf
systemctl restart dovecot4.4 Rspamdの同期設定
Rspamdには素晴らしいWeb UIがあります。サーバーを隣接サーバーとして設定し、設定、統計、その他のデータを1つのパネルで表示できるようにします。
nano /usr/local/ispconfig/server/conf-custom/install/rspamd_options.inc.masterこれらの行を追加します:
# ISPConfigテンプレートからの設定(変更があった場合は更新する必要があります)
# このサーバーにローカルなアドレス。
local_addrs = [
"127.0.0.0/8",
"::1",
];
# このリストはISPConfigによって生成されます。カスタムアドレス/ネットワークはlocal_networks.incに配置します。
local_networks = "/etc/rspamd/local.d/local_networks.inc";
dns {
nameserver = ["127.0.0.1:53:10"];
}
# カスタム設定:
neighbours {
mx1 {
host = "https://mx1.example.com:443";
path = "/rspamd/";
}
mx2 {
host = "https://mx2.example.com:443";
path = "/rspamd/";
}
}
# 最終更新日: 19-01-2022ホスト名をメインおよびセカンダリメールサーバーの正しいホスト名に置き換えます。この設定は、テンプレートが変更された場合に更新する必要がありますので、ISPConfigを更新する際に確認してください。
次に、ISPConfigでこのサーバーのウェブサイトを追加します。「サイト」->「新しいウェブサイトを追加」に移動し、「mx1.example.com」というウェブサイトを追加します。正しいサーバー(mx1.example.com)でこれを作成することを確認してください。自動サブドメインを無効にし、SSL + Let’s Encryptを有効にします。次に、オプションに移動し、Apacheディレクティブセクションに次の内容を貼り付けます:
RewriteEngine On
RewriteRule ^/rspamd$ /rspamd/ [R,L]
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]
Header set Access-Control-Allow-Origin https://mx2.example.commx2.example.comをセカンダリネームサーバーのホスト名に置き換えます。
最後に、いくつかのApacheモジュールを有効にし、サービスを再起動する必要があります:
a2enmod proxy_balancer proxy_http
systemctl restart rspamd
systemctl restart apache24.5 有効なSSL証明書でメールサーバーを保護する
DSYNCとRoundcubeのセットアップが機能するためには、使用するホスト名に対して有効なSSL証明書が必要です。この証明書は自己署名ではいけません。このサーバーにimap.example.comやsmtp.example.comなどの追加のホスト名を使用する場合、またはインストーラーがインストール時に有効な証明書を作成できなかった場合は、次のガイドに従ってメールサーバーの有効な証明書を設定してください: https://www.howtoforge.com/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-certificate/
4.6 ファイアウォールの設定
最後に、ファイアウォールを設定する必要があります。
ISPConfig UIにログインし、「システム」->「ファイアウォール」に移動します。「新しいファイアウォールレコードを追加」をクリックします。
正しいサーバーを選択してください。メールサーバーの場合、次のポートを開く必要があります:
TCP:
22,25,80,110,143,443,465,587,993,995UIを通じて開く必要のあるUDPポートはありません。
また、MySQLに使用されるポート3306と、dsyncに使用されるポート12345も開く予定ですが、セキュリティ上の理由からローカルネットワークからのみです。これを行うには、ISPConfigパネルからの変更が伝播した後(赤い点が消えたとき)に、CLIから次のコマンドを実行します:
ufw allow from 10.0.64.0/24 to any port 3306 proto tcp
ufw allow from 10.0.64.0/24 to any port 12345 proto tcp新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。