使用ISPConfig 3在Debian 5.0上安装专用Web,电子邮件,DNS和MySQL数据库服务器的多服务器设置
版本1.0
作者:Till Brehm <t [dot] brehm [at] projektfarm [dot] com>
本教程将介绍如何安装具有专用Web,电子邮件,数据库和两个DNS服务器的ISPConfig 3多服务器设置,所有这些服务器都通过单个ISPConfig 3控制面板进行管理。 下面描述的设置使用五个服务器,只需添加更多的服务器即可将其轻松扩展到更多的服务器。 例如,如果您想要有两个邮件服务器,请执行这两个服务器上第2章的设置步骤。 如果要设置更多的Web服务器,请在专家模式的所有其他Web服务器上安装ISPConfig,除了第一个。
为了学习如何使用ISPConfig 3,我强烈建议您下载ISPConfig 3手册 。
在近300页上,它涵盖了ISPConfig(管理员,经销商,客户端)背后的概念,介绍了如何安装和更新ISPConfig 3,为ISPConfig中的所有表单和表单域提供了一个参考,并附有有效输入的示例,并提供了这是ISPConfig 3中最常见的任务。它还排除了如何使服务器更安全,并在最后添加了故障排除部分。
1安装五个Debian基础系统
在此设置中,将有一个主服务器(运行Web服务器和ISPConfig控制面板界面)以及四个用于数据库,电子邮件和DNS的从服务器。
要安装群集设置,我们需要五台服务器(或虚拟服务器),并安装Debian 5.0。 基本设置在以下教程中在第1步 - 6中描述:
https://www.youcl.com/info/5128
仅安装完美服务器教程的第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安装Web服务器
编辑主机文件,并添加所有服务器的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 # The following lines are desirable for IPv6 capable hosts ::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协议)服务器同步是个好主意。 只需运行...
apt-get -y install ntp ntpdate
...和您的系统时间将始终保持同步。
安装MySQL服务器。 每个服务器都需要一个MySQL服务器实例,因为ISPConfig使用它来同步服务器之间的配置。
apt-get -y install mysql-client mysql-server
在安装程序请求时输入MySQL的新密码。
我们希望MySQL监听主服务器上的所有接口,而不是本地主机,因此我们编辑/etc/mysql/my.cnf
并注释掉bind-address = 127.0.0.1行
:
vi /etc/mysql/my.cnf
[...] # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. #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,重写,ssl,actions和include:
a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest
可以使用以下命令安装PureFTPd和配额:
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
编辑/ etc / fstab
。 我看起来像这样(我添加了usrquota,grpquota
到具有挂载点的分区)
vi /etc/fstab
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> 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:仅当您希望chroot SSH用户时才需要Jailkit。它可以安装如下(重要: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 root用户记录。 最简单的方法是使用我们已经安装的基于web的phpmyadmin管理工具。 在网络浏览器中打开URL http://192.168.0.105/phpmyadmin
,以MySQL root用户身份登录并执行这些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
具有所需的root密码。
单击重新加载权限按钮或重新启动MySQL。 然后关闭phpmyadmin。
返回到server1.example.tld
的shell,并下载最新的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
安装方式(标准,专家)[标准]:
< - 专家
服务器的全限定主机名(FQDN),例如server2.domain.tld [web.example.tld]:
< - web.example.tld
MySQL服务器主机名[localhost]:
< - localhost
MySQL root用户名[root]:
< - root
MySQL root密码[]:
< - 在这里输入您的MySQL root密码
MySQL数据库创建[dbispconfig]:
< - dbispconfig
MySQL charset [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