欢迎光临散文网 会员登陆 & 注册

如何在 CentOS 8 服务器上安装 ISP Config 3.2?

2021-12-17 23:22 作者:网络技术联盟站wljslmz  | 我要投稿

本教程将介绍在 CentOS 8(64 位)服务器上安装 ISPConfig 3.2。ISPConfig 是一个网络托管控制面板,允许您通过网络浏览器配置以下服务:Apache 网络服务器、PHP、Postfix 邮件服务器、MySQL、BIND 名称服务器、PureFTPd、SpamAssassin、ClamAV、Mailman 等等。


  • 1 要求

  • 2 初步说明

  • 3 准备服务器

  • 4 启用附加存储库并安装一些软件

  • 5 配额

  • 6 安装 Apache、PHP、MySQL 和 phpMyAdmin

  • 7 安装 Dovecot

  • 8 安装后缀

  • 9 安装 Getmail

  • 10 设置 MySQL 密码并配置 phpMyAdmin

  • 11 安装 Amavisd-new、SpamAssassin、ClamAV 和 Postgrey

  • 12 使用 mod_php、mod_fcgi/PHP、PHP-FPM 安装 Apache

  • 13 mod_python的安装

  • 14 安装 PureFTPd

  • 15 安装绑定

  • 16 安装 AWStats

  • 17 安装Jailkit

  • 18 安装 Fail2Ban

  • 19 安装rkhunter

  • 20 安装mailman

  • 21 安装 Roundcube 网络邮件

  • 22 安装ISPConfig 3.2

  • 23 第一次 ISPConfig 登录

    • 23.1 ISPConfig 3 手册

  • 24 下载为虚拟机


1 要求

要安装这样的系统,您将需要以下内容:

  • Centos 8 最小服务器系统。这可以是我们的Centos 8 最小服务器教程中描述的从头开始安装的服务器,也可以是来自安装了最小 Centos 8 设置的托管公司的虚拟服务器或根服务器。

  • 快速的互联网连接。

2 初步说明

在本教程中,我使用主机名m和 IP 地址和网关。这些设置可能因您而异。

3 准备服务器

设置键盘布局

如果服务器的键盘布局与您的键盘不匹配,您可以使用 localectl 命令切换到正确的键盘(在我的情况下为德语键盘布局的“de”:

要获取所有可用键盘映射的列表,请运行:

我想在本教程的最后安装 ISPConfig,ISPConfig 附带了 Bastille 防火墙脚本,我将用作防火墙,因此我现在禁用默认的 CentOS 防火墙。当然,您可以随意打开 CentOS 防火墙并根据您的需要进行配置(但是您以后不应使用任何其他防火墙,因为它很可能会干扰 CentOS 防火墙)。

停止和禁用 CentOS 防火墙。在这里出现错误是可以的,这只是表明没有安装防火墙。

然后你应该检查防火墙是否真的被禁用了,为此,请运行以下命令:

输出应如下所示:

或者使用 firewall-cmd 命令:

现在我将安装网络配置编辑器和基于 shell 的编辑器“nano”,我将在接下来的步骤中使用它们来编辑配置文件:

如果您在安装过程中没有配置网卡,您现在可以进行配置。

选择您的网络接口:

然后填写您的网络详细信息 - 禁用 DHCP 并填写静态 IP 地址、网络掩码、您的网关和一两个名称服务器,然后点击Ok:

接下来选择确定以确认您在网络设置中所做的更改

和Quit关闭 nmtui 网络配置工具。

现在检查安装程序是否正确获取了您的 IP 地址:

如果你的网卡没有显示在那里,那么它不会在启动时启用,在这种情况下,打开文件/etc/sysconfig/network-scripts/ifcfg-eth0

并将 ONBOOT 设置为是:

并重新启动服务器。

检查您的/etc/resolv.conf是否列出了您之前配置的所有名称服务器:

如果缺少名称服务器,请运行

并再次添加缺少的名称服务器。

现在,进入配置...

调整 /etc/hosts 和 /etc/hostname

接下来,我们将编辑/etc/hosts。让它看起来像这样:

在 /etc/hostname 文件中设置主机名。该文件应包含完全限定的域名(例如在我的例子中是 server1.example.com),而不仅仅是像“server1”这样的短名称。使用 nano 编辑器打开文件:

并在文件中设置主机名。

保存文件并退出nano。

将 SELinux 设置为宽松

SELinux 是 CentOS 的安全扩展,应该提供扩展的安全性。ISPConfig 不附带 SELinux 规则集,因此我将其设置为 permissive(如果您想稍后安装 ISPConfig,这是必须的)。

编辑/etc/selinux/config并设置SELINUX=permissive:

之后我们必须重新启动系统:

4 启用附加存储库并安装一些软件

首先,我们导入软件包的 GPG 密钥:

然后我们在 CentOS 系统上启用 EPEL 存储库,因为我们将在本教程中安装的许多软件包在官方 CentOS 8 存储库中不可用:

激活Power Tools:

然后我们更新系统上现有的包:

现在我们安装一些稍后需要的软件包:

5 配额

(如果您选择了与我不同的分区方案,则必须调整本章,以便配额适用于您需要的分区。)

要安装配额,我们运行以下命令:

现在我们检查是否已为存储网站 (/var/www) 和 Maildir 数据 (var/vmail) 的文件系统启用配额。在这个示例设置中,我有一个大的根分区,所以我搜索“/”:

如果您有单独的 /var 分区,请使用:

反而。如果该行包含单词“ noquota ”,则继续执行以下步骤以启用配额。

在 /(根)分区上启用配额

通常您会在 /etc/fstab 文件中启用配额,但如果文件系统是根文件系统“/”,则必须通过 Linux 内核的引导参数启用配额。

编辑 grub 配置文件:

搜索以GRUB_CMDLINE_LINUX开头的行,并将rootflags=uquota,gquota添加到命令行参数,使结果行如下所示:

并通过运行以下命令应用更改。

并重新启动服务器。

现在检查配额是否启用:

当配额处于活动状态时,我们可以在挂载选项列表中看到“ usrquota,grpquota ”。

在单独的 /var 分区上启用配额

如果您有单独的 /var 分区,请编辑/etc/fstab并将,uquota,gquota添加到/分区(/dev/mApper/centos-var):

然后运行

启用配额。当您收到没有启用配额的分区的错误时,请在继续之前重新启动服务器。

6 安装 Apache、PHP、MySQL 和 phpMyAdmin

启用 Remi 存储库以获取更新的 PHP 版本(当前为 PHP 7.4):

我们可以使用一个命令安装所需的软件包:

为保证服务器不被HTTPOXY 漏洞攻击,我们将全局禁用apache中的HTTP_PROXY header。

在 httpd.conf 文件末尾添加 apache 头规则:

并重新启动 httpd 以应用配置更改。

安装 phpMyAdmin:

可选:更改 Apache MPM 模块

CentOS 8 默认使用 Apache MPM 事件模块,这在一方面是好的,因为它允许您使用 HTTP/2 协议。另一方面,它不允许您使用 apache mod_php 模块。一般来说,今天应该使用 PHP-FPM 作为默认设置,ISPConfig 支持这一点。如果出于兼容性原因需要旧的 mod_php 模式,那么您可以像这样切换 Apache MPM:

在 MPM 事件行前面添加一个 # 使其看起来像这样:

然后从 MPM Prefork 行中删除 # in,如下所示:

然后重新启动 httpd 以应用配置更改。

7 安装 Dovecot

Dovecot 可以安装如下:

创建一个空的 dovecot-sql.conf 文件并创建符号链接:

现在创建系统启动链接并启动 Dovecot:

8 安装后缀

Postfix可以安装如下:

接下来,在 Postfix 中打开 TLS/SSL 和提交端口:

取消对提交 和 smtps 部分的注释 如下,并在必要时添加行,以便 master.cf 文件的这一部分看起来与下面的完全一样。 重要提示: 删除以 smtps 和提交开头的行前面的 #,而不仅仅是从这些行之后的 -o 行中删除!

然后关闭 Sendmail 并启动 Postfix 和 MariaDB (MySQL):

我们禁用 sendmail 以确保它不会启动,以防它安装在您的服务器上。所以错误消息“无法发出方法调用:未加载单元 sendmail.service”。可以忽略。

9 安装 Getmail

Getmail可以按如下方式安装:

10 设置 MySQL 密码并配置 phpMyAdmin

为 MySQL 根帐户设置密码:

现在我们配置phpMyAdmin。创建这个 phpMyAdmin 配置文件:

将此内容添加到文件中:

接下来,我们将 phpMyAdmin 中的身份验证从cookie更改为http:

然后我们为Apache创建系统启动链接并启动它:

现在,您可以将浏览器定向到http://server1.example.com/phpmyadmin/或http://192.168.0.100/phpmyadmin/并使用用户名root和新的 MySQL 根密码登录。

11 安装 Amavisd-new、SpamAssassin、ClamAV 和 Postgrey

要安装 amavisd-new、SpamAssassin 和 ClamAV,请运行以下命令:

然后我们启动freshclam、amavisd和clamd.amavisd:

在下一步中,我们配置 postgrey。在编辑器中打开文件 /etc/sysconfig/postgrey:

并更改行:

保存文件并重启 postgrey:

要配置 amavisd,请编辑文件 /etc/clamd.d/amavisd.conf:

并更改行:

保存更改的配置文件并重新启动 ClamAV:

现在我们必须为 freshclam 服务创建一个系统单元。创建一个新文件/usr/lib/systemd/system/freshclam.service:

并在该文件中输入以下内容:

保存文件,然后启用并启动服务。

12 使用 mod_php、mod_fcgi/PHP、PHP-FPM 安装 Apache

ISPConfig 3 允许您在每个网站的基础上使用 mod_php、mod_fcgi/PHP、cgi/PHP 和 PHP-FPM。

我们可以使用 mod_php、mod_fcgid 和 PHP 安装 Apache2,如下所示:

接下来,我们打开/etc/php.ini ...

...并更改错误报告(以便不再显示通知),设置时区并取消注释cgi.fix_pathinfo=1:

启用 httpd 和 PHP-FPM 以在启动时启动并启动 PHP-FPM 服务。

最后,我们重启Apache:

现在我们将添加对 Let's encrypt 的支持。ISPConfig 现在使用 acme.sh 作为 Let's Encrypt 客户端。使用以下命令安装 acme.sh:

13 mod_python的安装

Apache 模块 mod_python 不能作为 RPM 包使用,因此我们将从源代码编译它。第一步是安装python开发文件并将当前的mod_python版本下载为.tar.gz文件

然后配置和编译模块。

编译模块中存在一个错误,该错误将导致安装失败并显示错误“ version =”fatal: Not a git repository (or any of the parent directory): .git ”。要解决该问题,请运行此 sed 命令(命令是一行!)。

然后使用此命令安装模块。

并在 Apache 中启用该模块:

14 安装 PureFTPd

可以使用以下命令安装 PureFTPd:

然后创建系统启动链接并启动 PureFTPd:

现在我们配置 PureFTPd 以允许 FTP 和 TLS 会话。FTP 是一种非常不安全的协议,因为所有密码和所有数据都以明文形式传输。通过使用 TLS,可以对整个通信进行加密,从而使 FTP 更加安全。

TLS 需要 OpenSSL;要安装 OpenSSL,我们只需运行:

打开/etc/pure-ftpd/pure-ftpd.conf ...

如果要允许 FTP 和 TLS 会话,请 通过删除 TLS 行前面的 #将TLS设置为1。强烈建议启用 TLS。

为了使用 TLS,我们必须创建一个 SSL 证书。我在/etc/ssl/private/ 中创建它,因此我首先创建该目录:

之后,我们可以生成 SSL 证书,如下所示:

更改 SSL 证书的权限:

创建一个 DHParam 文件:

最后,重启 PureFTPd:

而已。您现在可以尝试使用您的 FTP 客户端进行连接;但是,您应该将 FTP 客户端配置为使用 TLS。

15 安装绑定

我们可以按如下方式安装 BIND:

备份现有的/etc/named.conf文件并创建一个新文件,如下所示:

创建文件/etc/named.conf.local被包括在年底的/etc/named.conf(/etc/named.conf.local稍后会得到由ISPConfig如果你创建ISPConfig DNS区域填充):

然后我们创建启动链接并启动 BIND:

16 安装 AWStats

AWStats 可以按如下方式安装:

CentOS 8 不再提供替代的网络统计应用程序“webalizer”,因此您将只能使用 AWStats。

17 安装Jailkit

Jailkit 用于 chroot SSH 用户和 cronjobs。它可以安装如下:

18 安装 Fail2Ban

这是可选的但建议使用,因为 ISPConfig 监视器会尝试显示日志。

接下来我们创建 /etc/fail2ban/jail.local 文件并启用对 ssh、电子邮件和 ftp 服务的监控。

在 jail.local 文件中添加以下内容:

然后为fail2ban创建系统启动链接并启动它:

19 安装rkhunter

rkhunter 可以如下安装:

20 安装mailman

如果您喜欢在服务器上使用 Mailman 管理邮件列表,请立即安装 mailman。ISPConfig 支持 Mailman,因此您可以稍后通过 ISPConfig 创建新的邮件列表。

在我们可以启动 Mailman 之前,必须创建一个名为mailman 的邮件列表:

之后打开/etc/aliases ...

...并添加以下几行:

运行:

之后并重新启动Postfix:

现在打开 Mailman Apache 配置文件/etc/httpd/conf.d/mailman.conf ...

...并添加行ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/。注释掉Alias /pipermail/ /var/lib/mailman/archives/public/并添加一行Alias /pipermail /var/lib/mailman/archives/public/:

重启阿帕奇:

为 Mailman 创建系统启动链接并启动它:

安装 ISPConfig 3 后,您可以按如下方式访问 Mailman:

您可以为所有 Apache 虚拟主机使用别名/cgi-bin/mailman(请注意,必须为所有要访问 Mailman 的虚拟主机禁用 suExec 和 CGI!),这意味着您可以访问 Mailman 管理界面以获取列表在,邮件列表用户的网页可以在.

下,您可以找到邮件列表档案。

21 安装 Roundcube 网络邮件

要安装 RoundCube webmail 客户端,请使用 wget 将最新版本下载到 /tmp 文件夹:

解压 tar.gz 存档并将 RoundCube 源移动到 /usr/share/roundcubemail

使用 nano 编辑器创建一个 roundcubemail.conf 配置文件:

并将以下内容添加到该文件中:

重启阿帕奇:

现在我们需要一个 RoundCube 邮件数据库,我们将其初始化如下:

在 MariaDB 提示下使用:

我以 RoundCube 数据库的详细信息为例,出于安全原因,请根据您的选择替换值。

现在我们将在浏览器中安装 RoundCube,地址为

现在创建 config.inc.php 文件:

然后在网络安装程序中按“继续”。在下一页上,按“初始化数据库”按钮。

最后,禁用 Roundecubemail 安装程序。更改 RoundCube config.inc.php 配置文件

并更改行:

到:

Roundcube 现在在您服务器上的别名 /webmail 和 /roundcubemail 下可用:

RoundCube 登录名是您稍后在 ISPConfig 中创建的电子邮件帐户的电子邮件地址和密码。

22 安装ISPConfig 3.2

ISPConfig 安装程序将为您配置所有服务,如 Postfix、Dovecot 等。

您现在还可以让安装程序为 ISPConfig 控制面板创建 SSL 虚拟主机,以便可以使用https://而不是http://访问 ISPConfig 。要实现此目的,只需在看到以下问题时按ENTER 键:

要安装 ISPConfig 3.2 nightly build,请执行以下操作:

下一步是运行:

这将启动 ISPConfig 3 安装程序。安装程序将为您配置所有服务,如 Postfix、Dovecot 等。

安装程序会自动配置所有底层服务,因此无需手动配置。

23 第一次 ISPConfig 登录

之后您可以在下访问 ISPConfig 3 (http或https 取决于您在安装过程中选择的内容)。

使用用户名admin和密码admin登录(首次登录后应更改默认密码):

23.1 ISPConfig 3 手册

为了学习如何使用 ISPConfig 3,我强烈建议您下载 ISPConfig 3 手册。

下载地址:

在 300 多页中,它涵盖了 ISPConfig(管理员、经销商、客户)背后的概念,解释了如何安装和更新 ISPConfig 3,包括 ISPConfig 中所有表单和表单字段的参考以及有效输入的示例,并提供教程用于 ISPConfig 3 中最常见的任务。它还列出了如何使您的服务器更安全,并在最后附有故障排除部分。

24 下载为虚拟机

此设置可作为 ova/ovf 格式(与 VMWare 和 Virtualbox 兼容)的虚拟机下载,供 howtoforge 订阅者使用。

VM 的登录详细信息

  • root 密码是:howtoforge

  • ISPConfig“admin”用户的密码是:howtoforge

  • 还有另一个名为“howtoforge”和密码的 shell 用户:howtoforge

请在第一次登录时更改两个密码。

  • VM 的 IP 地址为


如何在 CentOS 8 服务器上安装 ISP Config 3.2?的评论 (共 条)

分享到微博请遵守国家法律