서버 설정 · 6 min read · Jan 05, 2026
Debian 5.0에서 ISPConfig 3를 사용하여 전용 웹, 이메일, DNS 및 MySQL 데이터베이스 서버로 다중 서버 설정 설치하기
Debian 5.0에서 ISPConfig 3를 사용하여 전용 웹, 이메일, DNS 및 MySQL 데이터베이스 서버로 다중 서버 설정 설치하기
버전 1.0
저자: Till Brehm
이 튜토리얼은 단일 ISPConfig 3 제어판을 통해 관리되는 전용 웹, 이메일, 데이터베이스 및 두 개의 DNS 서버로 구성된 ISPConfig 3 다중 서버 설정의 설치를 설명합니다. 아래에 설명된 설정은 다섯 대의 서버를 사용하며, 더 많은 서버를 추가하여 쉽게 확장할 수 있습니다. 예를 들어, 두 개의 메일 서버를 원하시면 2장부터 이 두 서버에서 설정 단계를 수행하십시오. 더 많은 웹 서버를 설정하려면 첫 번째 서버를 제외한 모든 다른 웹 서버에 ISPConfig를 전문가 모드로 설치하십시오.
ISPConfig 3를 사용하는 방법을 배우기 위해 ISPConfig 3 매뉴얼을 다운로드할 것을 강력히 권장합니다.
300페이지에 가까운 이 매뉴얼은 ISPConfig의 개념(관리자, 리셀러, 클라이언트)을 다루고, ISPConfig 3의 설치 및 업데이트 방법을 설명하며, ISPConfig의 모든 양식 및 양식 필드에 대한 참조와 유효한 입력의 예를 포함하고, ISPConfig 3에서 가장 일반적인 작업에 대한 튜토리얼을 제공합니다. 또한 서버를 더 안전하게 만드는 방법을 설명하고 마지막에 문제 해결 섹션이 포함되어 있습니다.
1 다섯 개의 Debian 기본 시스템 설치하기
이 설정에는 웹 서버와 ISPConfig 제어판 인터페이스를 실행하는 마스터 서버 하나와 데이터베이스, 이메일 및 DNS를 위한 네 개의 슬레이브 서버가 있습니다.
클러스터 설정을 설치하기 위해서는 Debian 5.0 최소 설치가 된 다섯 대의 서버(또는 가상 서버)가 필요합니다. 기본 설정은 다음 튜토리얼의 1 - 6단계에서 설명되어 있습니다:
https://www.howtoforge.com/perfect-server-debian-lenny-ispconfig3
완벽한 서버 튜토리얼의 1 - 6단계만 설치하고 클러스터 설정과 다르기 때문에 다른 단계는 설치하지 마십시오!
내 예제에서는 다음과 같은 호스트 이름과 IP 주소를 다섯 대의 서버에 사용합니다:
웹 서버
호스트 이름: 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 웹 서버 설치하기
hosts 파일을 편집하고 모든 서버의 IP 주소와 호스트 이름을 추가합니다. 호스트 이름과 IP 주소는 설정에 맞게 조정해야 합니다.
vi /etc/hosts127.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( n etwork t ime p rotocol) 서버와 시스템 시계를 동기화하는 것이 좋습니다. 간단히 다음을 실행하십시오…
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 다음 질문이 표시됩니다:
웹 서버를 자동으로 재구성할지 여부: <– apache2
그런 다음 다음 명령을 실행하여 Apache 모듈 suexec, rewrite, ssl, actions 및 include를 활성화합니다:
a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digestPureFTPd 및 쿼타는 다음 명령으로 설치할 수 있습니다:
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 |
쿼타를 활성화하려면 다음 명령을 실행합니다:
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 bisoncd /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 루트 사용자 레코드를 마스터 데이터베이스에 추가해야 합니다. 이를 가장 쉽게 하는 방법은 이미 설치한 웹 기반 phpmyadmin 관리 도구를 사용하는 것입니다. 웹 브라우저에서 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 웹 인터페이스 설치 (y,n) [y]: <–y
ISPConfig 포트 [8080]: <– 8080
설치 디렉토리를 정리합니다:
rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.