サーバー設定 · 2 min read · Sep 09, 2025

ISPConfigの完璧なマルチサーバーセットアップ - Ubuntu 24.04およびDebian 12 - ページ3

4 メールサーバーのインストール

rootとしてログインするか、次のコマンドを実行して

su -

サーバー上でrootユーザーになります。重要: ‘su -‘を使用し、単に’su’を使用しないでください。そうしないと、DebianによってPATH変数が誤って設定されます。

4.1 ホスト名の設定

サーバーのホスト名は「mx1.example.com」のようなサブドメインである必要があります。「example.com」のようにサブドメイン部分のないドメイン名をホスト名として使用しないでください。そうしないと、メール設定に後で問題が発生します。まず、/etc/hostsでホスト名を確認し、必要に応じて変更します。行は次のようになります: 「IPアドレス - スペース - 完全なホスト名(ドメインを含む) - スペース - サブドメイン部分」。私たちのホスト名mx1.example.comの場合、ファイルは次のようになります:

nano /etc/hosts
127.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 ns1.example.com ns1  
10.0.64.16 ns2.example.com ns2  
10.0.64.17 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.com

4.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  
これには時間がかかります  
......................+...........................................+...............  
Apps vhostの設定  
DBServerの設定  
ISPConfig crontabのインストール  
getmailのcrontabはありません  
IPアドレスを検出中  
サービスを再起動中 ...  
インストールが完了しました。  
[INFO] phpバージョンをISPConfigに追加しています。  
[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-*のログファイルを削除してください。これらにはあなたのパスワードが含まれています

これで、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]

最後に、いくつかのApacheモジュールを有効にし、サービスを再起動する必要があります:

a2enmod proxy_balancer proxy_http  
systemctl restart rspamd  
systemctl restart apache2

4.3 有効なSSL証明書でメールサーバーを保護する

動作するセットアップには、使用されるホスト名に対して有効なSSL証明書が必要です。この証明書は自己署名ではいけません。このサーバーにimap.example.comやsmtp.example.comのような追加のホスト名を使用する場合、またはインストーラーがインストール時に有効な証明書を作成できなかった場合は、次のガイドに従ってメールサーバーの有効な証明書を設定してください: https://www.howtoforge.com/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-certificate/

4.4 ファイアウォールの設定

最後に、ファイアウォールを設定します。

ISPConfig UIにログインし、「システム」->「ファイアウォール」に移動します。次に、「新しいファイアウォールレコードを追加」をクリックします。

正しいサーバーを選択していることを確認してください。私たちのメールサーバーの場合、次のポートを開く必要があります:

TCP:

22,25,80,110,143,443,465,587,993,995

UIを通じて開く必要があるUDPポートはありません。

次のステップでは、メインDNSサーバーをインストールします。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。