サーバー設定 · 3 min read · Jan 05, 2026

ISPConfig 3を使用したDebian 5.0上の専用Web、メール、DNSおよびMySQLデータベースサーバーを持つマルチサーバーセットアップのインストール

ISPConfig 3を使用したDebian 5.0上の専用Web、メール、DNSおよびMySQLデータベースサーバーを持つマルチサーバーセットアップのインストール

バージョン 1.0
著者: Till Brehm

このチュートリアルでは、専用のWeb、メール、データベース、2つのDNSサーバーを持つISPConfig 3のマルチサーバーセットアップのインストールについて説明します。すべては単一のISPConfig 3コントロールパネルを通じて管理されます。以下に説明するセットアップでは5台のサーバーを使用し、サーバーを追加するだけで簡単に拡張できます。例えば、2台のメールサーバーを持ちたい場合は、これらのサーバーの両方で第2章からのセットアップ手順を実行してください。さらにWebサーバーを設定したい場合は、最初のサーバーを除くすべてのWebサーバーにISPConfigをエキスパートモードでインストールします。

ISPConfig 3の使い方を学ぶために、ISPConfig 3マニュアルをダウンロードすることを強くお勧めします。

約300ページにわたり、ISPConfigの概念(管理者、リセラー、クライアント)をカバーし、ISPConfig 3のインストールと更新方法を説明し、ISPConfig内のすべてのフォームとフォームフィールドのリファレンスを有効な入力の例とともに含み、ISPConfig 3での最も一般的なタスクのチュートリアルを提供します。また、サーバーをより安全にする方法を説明し、最後にトラブルシューティングセクションがあります。

1 5つのDebianベースシステムのインストール

このセットアップでは、1台のマスターサーバー(WebサーバーとISPConfigコントロールパネルインターフェースを実行)と、データベース、メール、DNS用の4台のスレーブサーバーがあります。

クラスタセットアップをインストールするには、Debian 5.0の最小インストールを持つ5台のサーバー(または仮想サーバー)が必要です。基本セットアップは、以下のチュートリアルの手順1 - 6で説明されています:

https://www.howtoforge.com/perfect-server-debian-lenny-ispconfig3

完璧なサーバーチュートリアルの手順1 - 6のみをインストールし、クラスタセットアップには異なる他の手順はインストールしないでください!

私の例では、5台のサーバーに次のホスト名とIPアドレスを使用します:

Webサーバー
ホスト名: web.example.tld
IPアドレス: 192.168.0.105

メールサーバー
ホスト名: mail.example.tld
IPアドレス: 192.168.0.106

DBサーバー
ホスト名: db.example.tld
IPアドレス: 192.168.0.107

DNSサーバー(プライマリ)
ホスト名: ns1.example.tld
IPアドレス: 192.168.0.108

DNSサーバー(セカンダリ)
ホスト名: ns2.example.tld
IPアドレス: 192.168.0.109

次のインストール手順でこれらのホスト名またはIPアドレスが出現する場合は、サーバーのIPとホスト名に合わせて変更する必要があります。

2 Webサーバーのインストール

hostsファイルを編集し、すべてのサーバーのIPアドレスとホスト名を追加します。ホスト名とIPアドレスは、セットアップに合わせて調整する必要があります。

vi /etc/hosts
127.0.0.1       localhost
192.168.0.105   web.example.tld
192.168.0.106   mail.example.tld
192.168.0.107   db.example.tld
192.168.0.108   ns1.example.tld
192.168.0.109   ns2.example.tld
 
# 次の行はIPv6対応ホストにとって望ましいです
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

サーバーのホスト名を設定します: echo web.example.tld > /etc/hostname
/etc/init.d/hostname.sh start

sources.listファイルを編集します…

vi /etc/apt/sources.list 

…そして、以下の行が含まれていることを確認して、ボラタイルリポジトリを有効にします。

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

実行します…

 apt-get update

…aptパッケージデータベースを更新するために; 次に実行します…

apt-get upgrade

…最新の更新をインストールします(あれば)。

システムクロックをインターネット上のNTP(network time protocol)サーバーと同期させることは良いアイデアです。単に実行します…

apt-get -y install ntp ntpdate

…これでシステム時間は常に同期されます。

MySQLサーバーをインストールします。ISPConfigはサーバー間で設定を同期するためにMySQLサーバーインスタンスが必要です。

apt-get -y install mysql-client mysql-server

インストーラーから要求されたときに新しいMySQLのパスワードを入力します。

マスターサーバー上でMySQLがすべてのインターフェースでリッスンするようにしたいので、localhostだけでなく、/etc/mysql/my.cnfを編集し、bind-address = 127.0.0.1の行をコメントアウトします:

vi /etc/mysql/my.cnf
[...]  
# skip-networkingの代わりに、デフォルトは現在localhostのみにリッスンすることです。これはより互換性があり、セキュリティが低下することはありません。  
#bind-address           = 127.0.0.1  
[...] 

次にMySQLを再起動します:

/etc/init.d/mysql restart

次に、Apache2、PHP5、phpMyAdmin、FCGI、suExec、Pear、およびmcryptを次のようにインストールします:

apt-get -y install apache2 apache2.2-common apache2-doc   apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5   php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli   php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth   php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby sudo 

次の質問が表示されます:

Webサーバーを自動的に再構成する: <– apache2

次に、Apacheモジュールのsuexec、rewrite、ssl、actions、およびincludeを有効にするために次のコマンドを実行します:

a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest

PureFTPdとquotaは次のコマンドでインストールできます:

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

/etc/fstabを編集します。私のは次のようになっています(マウントポイント/のパーティションにusrquota、grpquotaを追加しました):

vi /etc/fstab

| # /etc/fstab: 静的ファイルシステム情報。 # # <ファイルシステム> <マウントポイント> <タイプ> <オプション> <ダンプ> <パス> proc /proc proc defaults 0 0 /dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1 /dev/sda5 none swap sw 0 0 /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

quotaを有効にするには、次のコマンドを実行します: touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /

quotacheck -avugm
quotaon -avug

vlogger、webalizer、およびawstatsをインストールします:

apt-get -y install vlogger webalizer awstats 

Jailkitをインストールします:JailkitはSSHユーザーをchrootする場合にのみ必要です。次のようにインストールできます(重要:JailkitはISPConfigの前にインストールする必要があります - 後でインストールすることはできません!):

apt-get -y install build-essential autoconf automake1.9 libtool flex bison

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
tar xvfz jailkit-2.11.tar.gz
cd jailkit-2.11
./configure
make
make install
cd ..
rm -rf jailkit-2.11*

fail2banをインストールします:これはオプションですが推奨されます。なぜなら、ISPConfigモニターはログを表示しようとするからです:

apt-get install fail2ban

次に、ISPConfig 3をインストールします。最新のISPConfig 3の安定版リリースのダウンロードURLを取得するには、ISPConfigのウェブサイトを訪問してください:http://www.ispconfig.org/ispconfig-3/download/

このサーバーは、ISPConfigコントロールパネルインターフェースを実行する私たちのセットアップのマスターサーバーです。インストール中に他のMySQLインスタンスがこのノードのMySQLデータベースに接続できるようにするために、マスターデータベースに各スレーブサーバーのホスト名とIPアドレスのMySQLルートユーザーのレコードを追加する必要があります。これを行う最も簡単な方法は、すでにインストールしたWebベースのphpmyadmin管理ツールを使用することです。WebブラウザでURL http://192.168.0.105/phpmyadmin を開き、MySQLルートユーザーとしてログインし、次のMySQLクエリを実行します:

CREATE USER ‘root’@’192.168.0.106’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.106’ 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’@’192.168.0.107’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.107’ 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’@’192.168.0.108’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.108’ 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’@’192.168.0.109’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.0.109’ 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’@’mail.example.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’mail.example.tld’ 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’@’db.example.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’db.example.tld’ 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.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’ns1.example.tld’ 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.tld’ IDENTIFIED BY ‘myrootpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’ns2.example.tld’ 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アドレス(192.168.0.106 - 192.168.0.109)をサーバーのIPアドレスに置き換え、mail.example.tld、db.example.tld、ns1.example.tld、ns2.example.tldをサーバーのホスト名に置き換え、myrootpasswordを希望するルートパスワードに置き換えます。

権限を再読み込みするボタンをクリックするか、MySQLを再起動します。次にphpmyadminを閉じます。

server1.example.tldのシェルに戻り、最新のISPConfig 3安定版リリースをダウンロードします:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

次に、インストールスクリプトを開始します:

php -q install.php

言語を選択します(en,de) [en]: <– en
インストールモード(standard,expert) [standard]: <– expert
サーバーの完全修飾ホスト名(FQDN)、例 server2.domain.tld [web.example.tld]: <– web.example.tld
MySQLサーバーホスト名 [localhost]: <– localhost
MySQLルートユーザー名 [root]: <– root
MySQLルートパスワード []: <– ここにMySQLルートパスワードを入力
作成するMySQLデータベース [dbispconfig]: <– dbispconfig
MySQL文字セット [utf8]: <– utf8
このサーバーは既存のISPConfigマルチサーバーセットアップに参加しますか(y,n) [n]: <– n
メールを構成しますか(y,n) [y]: <– n
Jailkitを構成しますか(y,n) [y]: <– y
FTPサーバーを構成しますか(y,n) [y]: <– y
DNSサーバーを構成しますか(y,n) [y]: <– n
Apacheサーバーを構成しますか(y,n) [y]: <– y
ファイアウォールサーバーを構成しますか(y,n) [y]: <–y
ISPConfig Webインターフェースをインストールしますか(y,n) [y]: <–y
ISPConfigポート [8080]: <– 8080

インストールディレクトリをクリーンアップします:

rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz

Share: X/Twitter LinkedIn

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

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