在Ubuntu 20.04和Debian 10上的ISPConfig完美多服务器设置

在Ubuntu 20.04和Debian 10上的ISPConfig完美多服务器设置

本教程介绍如何使用专用于面板,Web,DNS,邮件和Webmail的服务器来安装自己的ISPConfig3多服务器设置。 DNS服务器和邮件服务器都具有用于冗余的镜像服务器。您以后可以轻松添加特定类型的服务器。

ISPConfig的官方自动安装程序用于设置服务器。 Debian 10被用作操作系统。本指南也已在Ubuntu 20.04.2上进行了测试。

了解有关自动安装程序的更多信息。

1.初步注意

这些将是要安装的主机。

host       FQDN                   IPpanel      panel.example.com      10.0.64.12web01      web01.example.com      10.0.64.13mx1        mx1.example.com        10.0.64.14mx2        mx2.example.com        10.0.64.15ns1        ns1.example.com        10.0.64.16ns2        ns2.example.com        10.0.64.17webmail    webmail.example.com    10.0.64.18

使用主机名,IP地址和IP范围示例。在命令/配置中相应地更改它们。

所有服务器都在同一专用网络上,但是具有自己的公用IP。如果服务器没有共享的本地网络,请使用服务器的公共IPv4地址。

在开始安装服务器之前,请设置A指向和最终的AAAA记录。 上市 服务器的IP地址。例如,如果主机名是panel.example.com,公共IP是11.22.33.44,则需要为panel.example.com设置一个指向11.22.33.44的A记录。 每个服务器都需要自己的公用IP和主机名。

2.主服务器安装

登录或以root身份运行

su -

继续之前,请成为服务器的root用户。 重要的:必须同时使用“ su-”和“ su”。否则,Debian将错误地设置PATH变量。

2.1配置主机名和主机

服务器的主机名必须是一个子域,例如“ panel.example.com”。 请勿使用没有子域部分的域名作为主机名,例如“ example.com”。以后您的电子邮件设置可能会出现问题。首先,您需要检查/ etc / hosts中的主机名,并在必要时进行更改。该行如下所示:“ IP地址空间完整的主机名,包括domain-space-subdomain部分”。对于主机名panel.example.com,该文件如下所示(某些行可能有所不同,并且对于每个托管服务提供商可能有所不同):

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost# This line should be changed on every node to the correct servername:127.0.1.1 panel.example.com panel# These lines are the same on every node:
10.0.64.12 panel.example.com panel10.0.64.13 web01.example.com web0110.0.64.14 mx1.example.com mx110.0.64.15 mx2.example.com mx210.0.64.16 ns1.example.com ns110.0.64.17 ns2.example.com ns210.0.64.18 webmail.example.com webmail

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

如您所见,我们还添加了其他服务器的主机名,以便以后可以通过内部网络进行通信。

然后编辑/ etc / hostname文件。

nano /etc/hostname

在这种情况下,仅包含子域部分。

panel

最后,重新启动服务器以应用更改。

systemctl reboot

再次登录并使用以下命令来验证主机名是否正确。

hostnamehostname -f

输出看起来像这样:

[email protected]:~$ hostnamepanel[email protected]:~$ hostname -fpanel.example.com

现在,您可以运行自动安装程序来安装所需的所有软件包和ISPConfig。

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=system

稍后,将显示以下内容。

WARNING! This script will reconfigure your complete server!It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!Type 'yes' if you really want to continue:

回答“是”,然后按Enter。安装程序将启动。

安装程序完成后,您将看到ISPConfig管理员和MySQL根密码,如下所示:

[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs

确保记下此信息和目标服务器,以备日后使用。

2.2为从属服务器设置远程MySQL用户

登录到MySQL,以允许其他服务器在安装过程中连接到该节点上的ISPConfig数据库。为此,将MySQL根用户记录添加到所有从属服务器主机名和IP地址的master数据库中。

在航站楼

mysql -u root -p

输入您的MySQL密码,然后运行以下命令:

CREATE USER 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword';GRANT ALL PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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 PRIVILEGES ON * . * 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是所需的root密码(建议为每个主机使用不同的密码)。需要它(如果要安装或更新从属服务器)。

完成此操作后,您可以使用以下命令退出MySQL:

EXIT;

现在,您可以登录到上面的ISPConfig。 https://panel.example.com:8080 安装程序将使用用户名admin和密码显示它。

2.3防火墙设置

最后要做的是设置防火墙。

登录到ISPConfig UI,然后[システム]->[ファイアウォール]去。下一个,[新しいファイアウォールレコードを追加]点击。

对于面板服务器,您需要打开以下端口:

TCP:

22,80,443,8080,8081

无需从UI打开UDP端口。

它还会打开端口3306,该端口用于MySQL,但出于安全原因仅从本地网络打开。为此,请在传播了ISPConfig面板中的更改后(当红点消失时)从CLI运行以下命令。

ufw allow from 10.0.64.0/24 to any port 3306 proto tcp

面板现已设置好并可以使用。

下一步是安装Web服务器。

Source

Sidebar