このチュートリアルでは、パネル、Web、DNS、メール、およびWebメール専用のサーバーを使用して独自のISPConfig3マルチサーバーセットアップをインストールする方法について説明します。 DNSサーバーとメールサーバーの両方に、冗長性のためのミラーサーバーがあります。後で特定のタイプのサーバーを簡単に追加できます。
サーバーのセットアップには、ISPConfigの公式自動インストーラーが使用されます。 Debian10がオペレーティングシステムとして使用されます。このガイドはUbuntu20.04.2でもテストされています。
自動インストーラーの詳細については、こちらをご覧ください。
1。予備的注意
これらは、インストールするホストになります:
host FQDN IP
panel panel.example.com 10.0.64.12
web01 web01.example.com 10.0.64.13
mx1 /> mx1.example.com mx2.example.com 10.0.64.15
ns1 ns1.example.com 10.0.64.16
ns2 ns2.example.com 10.0.64.17
webmail>>ホスト名、IPアドレス、およびIP範囲の例を使用します。コマンド/構成で適宜変更してください。
すべてのサーバーは同じプライベートネットワーク上にありますが、独自のパブリックIPを持っています。サーバーに共有ローカルネットワークがない場合は、サーバーのパブリックIPv4アドレスを使用してください。
サーバーのインストールを開始する前に、 publicを指すAおよび最終的なAAAAレコードを設定します サーバーのIPアドレス。たとえば、ホスト名がpanel.example.comで、パブリックIPが11.22.33.44の場合、11.22.33.44を指すpanel.example.comのAレコードを設定する必要があります。 すべてのサーバーには、独自のパブリックIPとホスト名が必要です。
2。マスターサーバーのインストール
ルートとしてログインするか、実行します
su-続行する前に、サーバーのrootユーザーになります。 重要 :「su」だけでなく「su-」を使用する必要があります。そうしないと、DebianによってPATH変数が間違って設定されます。
2.1ホスト名とホストを構成する
サーバーのホスト名は、「panel.example.com」のようなサブドメインである必要があります。 「example.com」のようなサブドメイン部分のないドメイン名をホスト名として使用しないでください。後でメールの設定で問題が発生する可能性があります。まず、/ etc / hostsでホスト名を確認し、必要に応じて変更する必要があります。行は次のようになります:「IPアドレス-スペース-ドメインを含む完全なホスト名-スペース-サブドメイン部分」。ホスト名panel.example.comの場合、ファイルは次のようになります(一部の行は異なる場合があり、ホスティングプロバイダーごとに異なる場合があります):
nano / etc / hosts127.0.0.1 localhost.localdomain localhost
#この行は、すべてのノードで正しいサーバー名に変更する必要があります:
127.0.1.1 panel.example.com panel
#これらの行はすべてのノードで同じ: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には次の行が望ましい有能なホスト::1localhost ip6-localhost ip6-loopbackff02 ::1 ip6-allnodesff02 ::2 ip6-allroutersご覧のとおり、他のサーバーのホスト名も追加したので、後で内部ネットワークを介して通信できます。
次に、/ etc / hostnameファイルを編集します:
nano / etc / hostnameこの場合、サブドメイン部分のみが含まれます:
パネル最後に、サーバーを再起動して変更を適用します。
systemctl restart再度ログインし、次のコマンドを使用してホスト名が正しいかどうかを確認します。
hostname
hostname -f出力は次のようになります:
[メール保護]:〜$ホスト名
パネル
[メール保護]:〜$ホスト名-f
panel.example.comこれで、自動インストーラーを実行して、必要なすべてのパッケージとISPConfigをインストールできます。
wget -O-https://get.ispconfig.org | sh -s --- no-mail --no-dns --use-php =systemしばらくすると、次のように表示されます。
警告!このスクリプトはサーバー全体を再構成します!
新しくインストールしたサーバーで実行する必要があり、実行した現在の構成はすべて失われる可能性があります!
本当に続行する場合は、「yes」と入力します。「はい」と答えてEnterキーを押します。インストーラーが起動します。
インストーラーが終了すると、ISPConfig管理者とMySQLのrootパスワードが次のように表示されます。
[INFO]ISPConfig管理者パスワードは次のとおりです。5GvfSSSYsdfdYC
[INFO] MySQLルートパスワードは次のとおりです:kkAkft82d!kafMwqxdtYs後で必要になるので、この情報とその対象のサーバーを必ず書き留めてください。
2.2スレーブサーバー用のリモートMySQLユーザーの設定
MySQLにログインして、インストール中に他のサーバーがこのノードのISPConfigデータベースに接続できるようにします。これには、すべてのスレーブサーバーのホスト名とIPアドレスのマスターデータベースにMySQLルートユーザーレコードを追加します。
ターミナルで、
を実行しますmysql -u root -pMySQLパスワードを入力してから、次のコマンドを実行します。
CREATE USER'root' @ '10 .0.64.13' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10 .0.64.13' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @ '10 .0.64.14' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10 .0.64.14' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @ '10.0.64.15' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10.0.64.15' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @ '10.0.64.16' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10.0.64.16' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @ '10.0.64.17' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10.0.64.17' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @ '10.0.64.18' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @ '10.0.64.18' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'web01.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'web01.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'mx1.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'mx1.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'mx2.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'mx2.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'ns1.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'ns1.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'ns2.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'ns2.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE USER'root' @'webmail.example.com' IDENTIFIED BY'myrootpassword';
GRANT ALL PRIVILEGESON*。 * TO'root' @'webmail.example.com' IDENTIFIED BY'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;上記のSQLコマンドで、IPアドレス(10.0.64.12〜10.0.64.18)をサーバーのIPアドレスweb01.example.com、mx1.example.com、mx2.example.com、ns1.example.comに置き換えます。 、ns2.example.com、およびwebmail.example.comにサーバーのホスト名を指定し、myrootpasswordに目的のルートパスワードを指定します(ホストごとに異なるパスワードを使用することをお勧めします。後で必要になるため、書き留めておきます。スレーブサーバーをインストールまたは更新するとき)。
これが完了すると、次のコマンドでMySQLを終了できます。
EXIT;これで、https://panel.example.com:8080のISPConfigに、ユーザー名adminとインストーラーが表示したパスワードを使用してログインできます。
2.3ファイアウォールの設定
最後に行うことは、ファイアウォールを設定することです。
ISPConfig UIにログインし、[システム]->[ファイアウォール]に移動します。次に、[新しいファイアウォールレコードを追加]をクリックします。
パネルサーバーの場合、次のポートを開く必要があります。
TCP:
22,80,443,8080,8081UIからUDPポートを開く必要はありません。
また、MySQLに使用されるポート3306を開きますが、セキュリティ上の理由からローカルネットワークからのみ開きます。これを行うには、ISPConfigパネルからの変更が伝達された後(赤い点が消えたとき)に、CLIから次のコマンドを実行します。
ufwは、10.0.64.0/24から任意のポート3306prototcpまでを許可しますこれでパネルがセットアップされ、使用できるようになりました。
次のステップでは、Webサーバーをインストールします。
Ubuntu