本教程将帮助您使用 ISPConfig 自动安装程序,在 Debian 12、Debian 13、Ubuntu 22.04 或 Ubuntu 24.04 上完成 ISPConfig 3 单服务器部署。该自动安装程序遵循"完美服务器"系列指南的规范,模块化程度更高、操作更为简便。如需搭建多服务器架构(各服务独立部署),请参考"完美多服务器"配置指南。

本指南当前支持 x86_64(即 AMD64)和 ARM(ARM64)两种 CPU 架构。示例中使用主机名 server1.example.com,请在实际操作时替换为您自己的主机名。注意:本指南要求从全新的基础操作系统开始安装,请勿在已有其他服务配置的系统上运行。

前置条件

  • 操作系统:Debian 12、Debian 13、Ubuntu 22.04 或 Ubuntu 24.04
  • Intel 或 AMD 64 位 CPU(x86_64/AMD64)或 ARM64 架构
  • 系统需具备互联网访问能力(用于 apt 下载和安装软件包)
  • 从全新的基础系统开始安装;服务器需完全对外开放,不得屏蔽 Let's Encrypt 证书申请所需的 80 端口、ISPConfig 面板访问所需的 8080 端口,以及各服务所使用的端口

第一步:登录服务器

以 root 身份登录,或在 Debian 上执行以下命令切换为 root 用户:

su --login

重要提示:必须使用 su --loginsu -,而非 su,否则 Debian 将设置错误的 PATH 环境变量。

在 Ubuntu 上,执行以下命令切换为 root:

sudo -s

第二步:配置主机名

服务器主机名应为类似 server1.example.com 的子域名格式,切勿使用无子域部分的裸域名(如 example.com)。首先检查并修改 /etc/hosts 文件,格式为:IP地址 - 空格 - 完整主机名(含域名)- 空格 - 子域名部分。

nano /etc/hosts

文件内容示例:

127.0.0.1 localhost.localdomain   localhost
# 以下行需修改为正确的服务器名:
127.0.1.1 server1.example.com server1

# IPv6 配置:
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

然后编辑 /etc/hostname 文件,只填写子域名部分:

server1

最后重启服务器以使更改生效,重新登录后使用以下命令验证主机名:

hostname
hostname -f

预期输出:

root@server1:~$ hostname
server1
root@server1:~$ hostname -f
server1.example.com

同时需在 DNS 服务商处为该子域名添加 A 记录(以及 AAAA 记录),指向服务器的公网 IP 地址。

第三步:更新系统

运行以下命令更新系统软件包:

apt update && apt upgrade

第四步:运行自动安装程序

基础安装包含以下软件(及其依赖项):Apache2、PHP(5.6 至 8.3 多版本)、MariaDB、Postfix、Dovecot、Rspamd、BIND、Jailkit、Roundcube、PHPMyAdmin、Mailman、Webalizer、AWStats 和 GoAccess。

使用 Apache Web 服务器安装 ISPConfig:

如需安装带 Apache 服务器、配置被动 FTP 端口范围及自动升级功能的标准套件,运行:

wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades

使用 Nginx Web 服务器安装 ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades

安装过程说明:

安装程序启动后将显示如下警告,输入 yes 并回车确认:

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:

安装完成后,程序将显示 ISPConfig 管理员密码和 MySQL root 密码,请务必记录:

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

第五步:配置防火墙

登录 ISPConfig 管理界面,前往 系统 → 防火墙,点击"新增防火墙记录"。常规配置如下:

TCP 端口:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP 端口:

53

各服务所需端口说明:Web 服务(20、21、22、80、443、40110:40210,均为 TCP);邮件服务(25、110、143、465、587、993、995,均为 TCP);DNS(53,TCP 和 UDP);管理面板(8080、8081,均为 TCP)。

配置完成后,即可通过 https://server1.example.com:8080 访问 ISPConfig 管理面板。

第六步:高级安装选项

自动安装程序提供多种命令行参数,可灵活定制安装内容。查看所有可用参数:

wget -O - https://get.ispconfig.org | sh -s -- --help

常用参数说明:

  • --use-nginx:使用 Nginx 替代 Apache2
  • --use-php=7.4,8.1:仅安装指定版本的 PHP
  • --use-ftp-ports=40110-40210:设置被动 FTP 端口范围
  • --no-mail:不安装邮件服务器
  • --no-dns:不安装 DNS 服务
  • --no-roundcube:不安装 Roundcube 网页邮件客户端
  • --no-pma:不安装 PHPMyAdmin
  • --monit:安装 Monit 服务监控工具
  • --ssh-port=64:修改 SSH 监听端口
  • --unattended-upgrades:安装自动安全更新
  • --debug:启用详细日志模式(便于排查错误)

示例:安装不带邮件和 DNS 服务的 Nginx 版本:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades

第七步:完成安装

至此,您的 ISPConfig 服务器已部署完毕。以下是一些后续配置的参考资源:

  • 邮件服务配置(rDNS、SPF、DKIM)
  • Roundcube 网页邮件客户端定制
  • 邮件客户端自动配置(autoconfig)
  • 提升 PHPMyAdmin 和 Rspamd 界面的安全性

第八步:错误调试

若安装过程中出现错误,可在安装命令中添加 --debug 参数以开启详细日志,日志文件位于:

/tmp/ispconfig-ai/var/log/ispconfig.log

使用 --interactive 参数可进入交互模式,有助于定位安装错误的具体原因。

第九步:虚拟机下载

立海世纪(www.leehay.com)推荐订阅用户可下载预配置的虚拟机镜像(OVA/OVF 格式,兼容 VMware 和 VirtualBox)。该虚拟机基于 Debian 12,使用 Apache 作为 Web 服务器。