15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
10.11.2023

如何将域名添加到cPanel:完整技术指南

在cPanel中添加域名是指在您的托管控制面板中注册一个额外的域名,以便服务器知道如何路由传入请求以及从哪里提供文件。在cPanel中,这通过DomainsAddon Domains界面处理,该界面会创建一个专用的文档根目录,配置虚拟主机条目,并可选择设置用于内部管理的子域名——所有这些都在一个工作流程中完成。

本指南深入介绍该过程的每个步骤:从DNS前提条件和在cPanel内配置域名,到通过File Manager部署文件,再到MySQL数据库配置。它直接适用于任何带有cPanel的VPS环境,包括运行LiteSpeed和NVMe存储的AlexHost VPS实例。

在cPanel中添加域名之前的前提条件

跳过DNS步骤是新添加的域名无法解析的最常见原因。在操作cPanel之前,请确认以下事项:

  • DNS传播正在进行或已完成。您域名的A记录必须指向服务器的公共IP地址。传播通常需要15分钟到48小时,具体取决于注册商和TTL值。
  • 您的cPanel账户有可用的addon域名槽位。在具有root访问权限的VPS上使用WHM时,这在”Modify an Account”下按账户控制。在共享计划上,这取决于托管套餐。
  • 您拥有或控制该域名。如果您在其他地方注册了它,您需要访问注册商的DNS管理面板。如果您需要新域名,通过AlexHost进行域名注册可以集中管理DNS。
  • 从一开始就规划SSL。正确的顺序是先添加域名,然后申请证书。一旦域名解析到服务器,cPanel中的AutoSSL将自动尝试签发证书。

第一步:在cPanel中添加域名

登录您的cPanel账户(通常在yourdomain.com:2083或通过WHM的”Go to cPanel”链接)。

导航到域名管理界面

在cPanel的现代Jupiter主题中,域名管理工作流程已被整合:

  1. 在cPanel主页面,找到Domains部分。
  2. 点击Domains(cPanel 76+引入的统一界面,取代了旧版独立的”Addon Domains”、”Subdomains”和”Aliases”图标)。
  3. 点击右上角的Create A New Domain按钮。

配置新域名条目

您将看到一个包含以下字段的表单:

  • Domain:输入完全限定域名,例如example.com。不要包含www——cPanel会自动处理www子域名别名。
  • Document Root:cPanel根据域名自动填充此字段,通常解析为/home/username/public_html/example.com。您可以覆盖此路径,但默认值对大多数部署来说是合理的。
  • Share document root with main domain复选框:除非您有意希望此域名提供与主域名相同的文件,否则请保持未勾选状态。勾选它是一个常见错误,会导致两个域名显示相同的内容。

点击Submit(或根据您的cPanel版本点击Add Domain)。cPanel将:

  • 创建文档根目录。
  • 写入新的Apache或LiteSpeed虚拟主机配置块。
  • 创建子域名条目(例如example.com.yourmainaccount.com)用于内部路由。
  • 如果启用了AutoSSL,将域名添加到SSL/TLS队列。

验证域名是否已正确添加

提交后,返回Domains列表。新条目应显示其文档根路径和管理DNS的选项。如果您使用的是cPanel内置的名称服务器,请点击域名旁边的Manage以检查DNS区域,并确认A记录指向正确的IP。

第二步:通过File Manager上传网站文件

配置好域名后,服务器已准备好从文档根目录提供内容。下一步是部署您的网站文件。

访问File Manager

  1. 在cPanel主页面,打开Files部分下的File Manager
  2. 在左侧目录树中,导航到public_html/,然后进入以您的域名命名的文件夹(例如example.com/)。
  3. 或者,File Manager默认打开到public_html——您可以从那里导航。

以压缩包形式上传文件

cPanel的File Manager强制要求文件以压缩包格式打包上传。逐个上传单个文件既慢,而且在许多服务器配置中,出于性能原因也受到限制。

支持解压的压缩包格式:

  • .zip
  • .tar.gz / .tgz
  • .tar.bz2
  • .gz

正确的上传步骤:

  1. 在本地将您的网站文件压缩为.zip压缩包。对于WordPress安装,这意味着压缩整个站点目录内容(而不是文件夹本身,除非您想要额外的子目录层级)。
  2. 在File Manager中,导航到您域名的文档根文件夹。
  3. 点击顶部工具栏中的Upload
  4. 选择您的压缩包文件并等待上传完成。File Manager会显示进度指示器。
  5. 上传完成后,点击Go Back to该目录。
  6. 右键点击上传的压缩包并选择Extract。确认解压路径为当前目录。
  7. 解压后删除压缩包以保持文档根目录整洁。

重要细节:如果您的压缩包包含顶级文件夹(例如根目录下是mysite/index.php而不是index.php),您的站点将从example.com/mysite/而不是example.com/提供服务。请务必在解压后验证目录结构。如有需要,使用File Manager的Move功能将文件上移一级。

替代方案:通过SFTP部署

对于较大的站点或自动化部署,SFTP比File Manager效率高得多。使用SFTP客户端(FileZilla、WinSCP或命令行中的sftp),参数如下:

  • Host:您服务器的IP地址或主机名
  • Port:22(SSH/SFTP)
  • Username:您的cPanel账户用户名
  • Authentication:密码或SSH密钥对

直接导航到/home/username/public_html/example.com/并传输文件。此方法绕过了压缩包要求,并支持断点续传。

第三步:为您的网站创建MySQL数据库

大多数CMS平台——WordPress、Joomla、Drupal、Magento——都需要关系型数据库。cPanel为此提供了两个工具:MySQL Databases(手动,精细控制)和MySQL Database Wizard(引导式,逐步操作)。对于简单的设置,Wizard更快。

使用MySQL Database Wizard

  1. 在cPanel主页,导航到Databases > MySQL Database Wizard
  2. 第1步——创建数据库:输入数据库名称。cPanel会自动在前面加上您的账户用户名(例如username_dbname)。记下这个完整名称——您在安装CMS时会用到它。
  3. 第2步——创建数据库用户:输入用户名和强密码。使用cPanel的Password Generator创建加密强度高的密码。完整用户名也会带有前缀(例如username_dbuser)。
  4. 第3步——将用户添加到数据库:选择您刚创建的用户并分配权限。对于标准CMS,授予All Privileges。点击Next Step
  5. Wizard确认数据库、用户和权限分配。记录这三个值:数据库名称、用户名和密码。

使用MySQL Databases(高级)

对于需要多个具有不同权限级别的用户,或在每个域名管理多个数据库的环境:

  1. 转到Databases > MySQL Databases
  2. Create New Database下创建数据库。
  3. 向下滚动到Add New User,使用强密码创建用户。
  4. Add User to Database下,选择用户和数据库,然后定义精细权限(SELECT、INSERT、UPDATE、DELETE等),而不是全部授予ALL PRIVILEGES。

安全提示:切勿在同一账户的多个站点中使用相同的数据库用户。如果一个站点被入侵,隔离的数据库凭据可以限制对其他数据库的横向移动。

数据库Host值

在配置您的CMS安装程序时,在标准cPanel VPS上,数据库host几乎总是localhost。这是因为MySQL服务器运行在同一台机器上并监听本地套接字。使用127.0.0.1也可以,但会强制使用TCP而不是Unix套接字,增加少量开销。

第四步:为新域名配置SSL

没有HTTPS的域名将被浏览器标记,并在搜索排名中受到惩罚。cPanel的AutoSSL功能(根据服务器配置由Let’s Encrypt或Sectigo提供支持)在域名正确解析后自动处理证书签发。

验证AutoSSL覆盖范围

  1. 导航到Security > SSL/TLS Status
  2. 您的新域名应出现在列表中。如果AutoSSL已运行,它将显示绿色锁图标和到期日期。
  3. 如果域名显示为待处理或失败,点击Run AutoSSL触发立即尝试。

AutoSSL常见失败原因:

  • 域名的A记录尚未指向服务器(DNS未传播)。
  • 域名上的CAA DNS记录限制了签发权限给其他CA。
  • 域名位于代理后面(例如Cloudflare橙色云),拦截了ACME HTTP-01验证。

对于需要扩展验证或超出AutoSSL提供范围的通配符证书的域名,您可以通过cPanel的SSL/TLS Manager手动安装第三方SSL证书

Addon Domains vs. 子域名 vs. 停放域名:主要区别

了解要添加哪种域名类型可以防止配置错误和浪费排查时间。

域名类型cPanel术语提供独立内容拥有独立文档根典型使用场景
附加域名Addon Domain / Domain托管完全独立的网站
子域名Subdomain是(子目录)测试环境、博客、API端点
域名别名Parked Domain / Alias否(镜像主域名)品牌保护、备用顶级域名
重定向Redirect否(转发)将旧域名转发到新域名

现代cPanel的Domains界面将这些整合到一个屏幕中,但底层行为仍然不同。当您添加域名并保持”Share document root”未勾选时,您创建的就是历史上称为Addon Domain的内容。

常见问题及解决方法

域名显示”Index of /”(目录列表)

这意味着文档根目录为空或缺少index.php / index.html文件。要么您的文件未上传,要么它们被解压到了子目录中。请在File Manager中验证文件结构。

上传后出现500 Internal Server Error

通常由文件权限不正确或格式错误的.htaccess文件引起。检查目录是否设置为755,文件是否设置为644。在File Manager中,右键点击任何文件或文件夹并选择Change Permissions

CMS安装过程中出现数据库连接错误

仔细检查您使用的是完整的带前缀数据库名称和用户名(例如username_dbname,而不仅仅是dbname)。确认密码中没有可能被CMS配置解析器误解的特殊字符——或在配置文件中用引号括住该值。

域名解析到错误的站点

如果同一账户上的两个域名解析到相同的内容,则是在设置过程中意外共享了文档根目录。转到Domains,编辑该条目,并将文档根路径更正为专用目录。

超越单个cPanel账户的扩展

当您超出单个cPanel账户的限制——无论是域名数量、流量还是资源隔离要求——架构选项会有所不同:

  • 通过WHM在一台VPS上创建多个cPanel账户:每个账户都有自己的资源限制、文档根目录和数据库用户。非常适合管理客户站点的代理机构。
  • 带有WHM/cPanel的独立服务器:完全的硬件隔离,无噪音邻居影响,以及在服务器级别自定义LiteSpeed或Apache配置的能力。AlexHost的独立服务器支持完整的WHM root访问。
  • 多个VPS实例:每个VPS运行独立的cPanel环境。当站点有不同的安全或合规要求时非常有用。

对于大多数中小型部署,使用cPanel托管5-20个域名的单个VPS Hosting账户是最具成本效益的架构。NVMe存储确保即使是高I/O操作(如数据库查询和PHP opcode缓存)在所有托管域名上也能保持快速。

技术要点核查清单

在认为域名在cPanel中完全运行之前,请验证每个项目:

  • DNS A记录指向正确的服务器IP并已传播(使用dig example.com A或在线DNS检查工具验证)。
  • 文档根目录是专用目录,不与主域名共享。
  • 文件已解压到正确的目录级别——index.php必须直接位于文档根目录内,而不是在子目录中。
  • 文件权限目录设置为755,文件设置为644
  • 数据库凭据(完整带前缀的名称、用户名、密码、host localhost)已记录并测试。
  • SSL证书已激活并同时覆盖example.comwww.example.com
  • AutoSSL或手动证书续期已确认——Let’s Encrypt证书每90天到期一次。
  • .htaccess包含有效的HTTPS重定向规则(如果您想强制使用SSL)。
  • 新域名的邮件托管已根据需要配置——cPanel的Email Accounts部分,或者如果您需要高级送达功能,可使用专用的邮件托管解决方案。

常见问题解答

在cPanel中添加域名会自动配置DNS吗?

只有当您的域名使用cPanel的名称服务器时才会。如果域名在其他地方注册并使用外部名称服务器,您必须在您的注册商或DNS提供商处手动添加A记录,指向您服务器的IP。cPanel会在内部创建区域文件,但外部解析器不会使用它,除非域名委托给cPanel的名称服务器。

我可以向单个cPanel账户添加多少个域名?

限制在WHM的账户配置下设置。在具有root访问权限的VPS上,您可以将其设置为无限制。在托管共享主机计划上,限制取决于套餐级别。cPanel本身没有硬性技术上限——实际限制是服务器资源容量。

cPanel中MySQL Database Wizard和MySQL Databases有什么区别?

Wizard通过线性的三步流程引导您完成数据库创建、用户创建和权限分配——最适合快速设置。MySQL Databases界面让您对多个用户、单独的权限分配以及数据库修复/优化工具进行精细控制。对于有安全要求的生产环境,请使用手动界面。

为什么我的域名添加后显示cPanel默认页面?

当文档根目录为空时,会出现cPanel默认页面(cgi-sys/defaultwebpage.cgi)。上传并解压您的站点文件,或在文档根目录中放置一个index.html文件以立即替换它。

我可以在没有服务器root访问权限的情况下向cPanel添加域名吗?

可以。标准cPanel用户账户(非root)可以在托管提供商设置的限制内添加域名。root访问权限仅在需要更改账户级别限制、安装服务器范围的软件或修改cPanel用户主目录之外的配置时才需要。

15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用