使用专用Web,电子邮件,DNS和MySQL数据库服务器安装多服务器安装程序在Debian 5.0使用ISPConfig 3

使用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.tlddb.example.tldns1.example.tldns2.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
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏