首页 程序笔记 如何在 Ubuntu 22.04|20.04 上安装 WHMCS

如何在 Ubuntu 22.04|20.04 上安装 WHMCS

WHMCS 全称 Web Host Manager Complete Solution,是一种广泛采用的基于 Web 的托管管理平台。它还与计费功能捆绑在一起,使您能够自动化任何托管业务的各个方面。 WHMCS 为托管提供商和经销商提供了数十个插件,使您可以更轻松地管理客户、支持和计费流程。

以下是 WHMCS 托管平台的主要功能:

  • 域名管理功能:WHCMS拥有完善的域名管理功能。
  • 与控制面板集成:轻松与 DirectAdmin、cPanel、Plesk 等托管面板集成。
  • 它是模块化的 高度可定制:您可以使用可用的模块和附加组件来改进 WHCMS 功能
  • WHMCS 具有计费自动化:自动发送发票和收取付款
  • 集成 支持功能:通过允许 WHMCS 客户创建支持票证来支持客户
  • 设计安全:WHMCS 旨在防止攻击和欺诈。
  • 提供 API 开发人员:作为开发人员,您可以获得用于自定义和添加功能扩展的 API 访问权限。

对于运行 Rocky Linux/AlmaLinux 8 的用户,请检查:

  • 如何在 Rocky Linux/AlmaLinux 8 上安装 WHMCS

按照这篇简短文章中提供的步骤在 Ubuntu 22.04|20.04 Linux 系统上安装 WHMCS 并正常工作。

安装 PHP 和 Apache Web 服务器

在执行任何软件包安装之前更新系统 APT 索引。

sudo apt update

然后安装 PHP 和其他所需的包。

sudo apt install php
sudo apt install php-{bcmath,xml,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi}

接下来安装 Apache Web 服务器及其 PHP 模块。

sudo apt install apache2 libapache2-mod-php

为 Apache 启用 PHP 扩展。

sudo a2enmod php*

安装 PHP IonCube 加载器

解码加密的 PHP 文件需要 IonCube 加载程序。这是在 WHMCS 安装期间必需的。 IonCube Loader 在操作系统软件包上不可用,我们需要针对系统上特定版本的 PHP 手动安装它。

首先检查系统中PHP的版本。

### Ubuntu 22.04 ###
$ php -version
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with the ionCube PHP Loader v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
    with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies

### Ubuntu 20.04 ###
$ php -version
PHP 7.4.3-4ubuntu2.19 (cli) (built: Jun 27 2023 15:49:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3-4ubuntu2.19, Copyright (c), by Zend Technologies

安装用于下载 IonCube 加载程序存档文件的 wget 包。

sudo apt install wget

现在将 IonCube 加载程序下载到本地系统中。

wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

使用 tar 解压缩包

tar xvf ioncube_loaders_lin_x86-64.tar.gz

找到已安装的PHP版本的扩展目录

 php -i | grep extension_dir

在 PHP 配置文件中复制并配置 IonCube Loader。

### Ubuntu 22.04 ###
sudo cp ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
echo "zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so"|sudo tee -a /etc/php/8.1/cli/php.ini
echo "zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so"|sudo tee -a /etc/php/8.1/apache2/php.ini

### Ubuntu 20.04 ###
sudo cp ioncube/ioncube_loader_lin_7.4.so /usr/lib/php/20190902
echo "zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so"|sudo tee -a /etc/php/7.4/cli/php.ini
echo "zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so"|sudo tee -a /etc/php/7.4/apache2/php.ini

重新启动 Apache Web 服务器

sudo systemctl restart apache2

安装MariaDB数据库服务器

在 Ubuntu 系统中安装 MariaDB 数据库服务器。

sudo apt install mariadb-server mariadb-client

为WHMCS创建数据库及其用户

$ sudo mysql -u root
CREATE DATABASE whmcs;
GRANT ALL ON whmcs.* TO whmcs@localhost IDENTIFIED BY "StrongDBPassw0rd";
FLUSH PRIVILEGES;
QUIT;

安装和配置 WHMCS

解压缩下载的 WHMCS 存档。

unzip <Your-WHMCS-Package>.zip

将文件夹移动到 /var/www/html 目录。

sudo mv path/to/whmcs/folder /var/www/html

将configuration.php.new重命名为configuration.php。

sudo mv /var/www/html/whmcs/configuration.php.new /var/www/html/whmcs/configuration.php

最终代码和所有文件应位于 /var/www/html/whmcs

$ ls /var/www/html/whmcs
admin                 attachments        contact.php          domainchecker.php  init.php           modules               resources           templates_c      viewquote.php
affiliates.php        banned.php         creditcard.php       downloads          knowledgebase.php  networkissues.php     serverstatus.php    unsubscribe.php  viewticket.php
aff.php               cart.php           crons                downloads.php      lang               networkissuesrss.php  status              upgrade.php      whois.php
announcements.php     clientarea.php     dist.loghandler.php  feeds              link.php           oauth                 submitticket.php    vendor
announcementsrss.php  configuration.php  dl.php               includes           login.php          pwreset.php           supporttickets.php  viewemail.php
assets                configuressl.php   dologin.php          index.php          logout.php         register.php          templates           viewinvoice.php

更新目录权限。

sudo chown -R www-data:www-data /var/www/html/whmcs/

从 Web 控制台配置 WHMCS

打开网络浏览器并导航至 http://www.example.com/whmcs/install/install.php 处的 WHMCS 安装脚本来运行安装。

接受最终用户许可协议以继续安装。

开始在您的系统中安装 WHCMS。

在下一步中,我们根据 MariaDB 数据库安装中使用的信息配置数据库连接。

配置数据b

  • 数据库名称:whmcs
  • 数据库用户:whmcs
  • 数据库密码:StrongDBPassw0rd

通过创建用于 WHMCS 管理的第一个管理员用户来完成安装

如果一切按预期进行,您应该会看到成功消息。

单击“立即转到管理区域”链接访问 WHMCS 管理门户。

使用您刚刚创建的管理员用户名和密码登录。

接下来在终端上为 WHMCS 配置 cron。

$ sudo crontab -e
*/5 * * * * /usr/bin/php -q /var/www/html/whmcs/crons/cron.php

删除安装脚本

sudo rm -r /var/www/html/whmcs/install

更新权限配置脚本文件。

sudo chmod 0400 /var/www/html/whmcs/configuration.php

您可以在http://ServerIP/whmcs/上访问WHMCS前端,直接管理仪表板位于http://ServerIP/whmcs/admin

结论

WHMCS 最初是为适合网络托管业务的功能而开发的,但它已经发展成为适合任何类型在线服务提供商解决方案的强大解决方案。 WHMCS 具有许多用于域名注册、网络托管面板、支付网关、服务器管理和许多其他工具的集成选项。


2

站心网

WHMCS 全称 Web Host Manager Complete Solution,是一种广泛采用的基于 Web 的托管管理平台。它还与计费功..

为您推荐

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

如何防止web应用DOS攻击?

防止web应用DOS攻击的最好的方法是什么? 如何防止web应用DOS攻击? 与所有的拒绝服务(DOS)攻击相关的一件事是他们都不可能避免。最好的方法是把重点放在减少影响DOS攻击的方法上。如果你有一个网络,黑客想要玩一玩..

数据库SQL Server2014和SQL Server2019的区别和如何选择?

SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..

MySQL如何建数据库

MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..

jwt是什么?.NET Core API如何使用JwtBearer验证

JWT是JSON Web Token的缩写,是一种开放标准(RFC 7519),用于在网络上以安全和可靠的方式传输信息。它是一种被广泛使用的跨域身份验证解决方案,可以将用户信息、访问权限等加密后存储在Token中,然后通过网络传输..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

什么是微服务架构?它与单体应用程序架构有什么区别?如何在.NET中实现微服务架构?

微服务架构是一种软件架构风格,通过将应用程序拆分为一组小型、自治的服务来构建应用程序。每个服务都专注于解决特定的业务功能,并通过轻量级的通信机制进行交互。这些服务可以独立开发、部署和扩展,可以使用不同..

winform如何隐藏边框和标题栏

在WinForms中,可以通过以下步骤来隐藏窗体的边框和标题栏:打开WinForms应用程序的窗体设计器。选择窗体控件,然后在属性窗口中找到FormBorderStyle属性。将FormBorderStyle属性设置为None,以指示窗体不显示边框。..

IIS使用Certify安装Let's Encrypt免费SSL证书

域名疑似被流量劫持,不仅被腾讯网址安全中心检测成危险网站,还间歇性出现访问域名被302重定向到Localhost。于是决定响应百度站长平台的号召,进行HTTPS改造。不用担心HTTPS后的SEO问题,百度站长平台官方已经表态..

程序员如何量化炒股?原理是什么?

作为程序员,可以运用编程技能和量化分析来帮助量化炒股。量化炒股有哪些步骤和方法?收集数据:需要收集有关股票市场的数据。可以从各种来源获取这些数据,如Yahoo财经、谷歌财经、股票交易所等。可以使用Python等..

如何让Google谷歌搜索引擎找到并收录网站

Google谷歌会使用大量计算机来抓取网络上数十亿的页面, 这个名为 Googlebot 的抓取工具基本上从以前抓取生成的网页 URL 列表开始,然后使用 Google Search Console 中提供的站点地图数据扩充这些页面。 在抓取过程..

如何把网站提交到Google谷歌搜索引擎google search console收录

发布新的网站后,它并不会立即被搜索引擎收录。为了让网站出现在搜索结果中,Google 需要“抓取”您的内容并“编制索引”。 这会在数天或数周内自动发生,但如果您是网站所有者,则可以在Google search console手动..

Kubernetes(k8s) Linux安装和配置

什么是Kubernetes(k8s)?Kubernetes(通常称为"k8s")是一种用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个容器编排和管理系统,可以自动化应用程序的部署、管理和缩放,并确保它们的高可用性。在..

百度文心一言邀请码如何获得?

3月16日下午,百度于北京总部发布了新一代大语言模型、生成式AI产品文心一言。首批用户即可通过邀请测试码,在文心一言官网体验产品,后续将陆续开放给更多用户。邀请码申请方式请往下看。百度文心官网地址:https://..

发表回复

返回顶部