在阿里云国际上构建共享虚拟主机业务

我们需要3个ECS实例,1个RDS MySQL实例和2个域名。我将使用该域作为我的主域和辅助域。sarathy.infosarathy.site

以下架构图左侧所示的两个 ECS 实例将托管我们的主网站。一个ECS实例用于部署WHMCS,另一个实例用于部署WordPress。WordPress 和 WHMCS 都需要 MySQL。因此,我们还将部署一个云数据库RDS版实例。

下图右侧所示的 ECS 实例将用于托管我们客户的站点。我们将使用一种非常流行的软件来自动化一切,称为WHM(虚拟主机管理器)。

注意,阿里云国际通过corebyt注册并充值,首充送50%,具体查看:https://corebyte.com/activity

1


架构图

先决条件

  • 两个在 Ubuntu 18.04 上运行的 ECS 实例和一个在 CentOS 7 上运行的 ECS 实例,至少具有 20 GB 磁盘空间和 1 GB RAM
  • 运行最新版MySQL的RDS实例,具有两个数据库和两个用户账号
  • 两个域名

步骤 1:配置 DNS

主域的 DNS 配置

记录类型主机价值
一个@ECS实例的IP(运行WordPress)
一个万维网ECS实例的IP(运行WordPress)
一个门户ECS 实例的 IP(运行 WHMCS)

辅助域的 DNS 配置

记录类型主机价值
NS系列NS1型ECS 实例的 IP(运行 WHM)
NS系列NS2型ECS 实例的 IP(运行 WHM)

第 2 步:WHMCS 服务器设置

首先,您需要从他们的官方网站下载 WHMCS

2

接下来,我们必须通过SCP(安全复制)协议将下载的文件复制到我们的服务器

scp -i path-to-ssh-key.pem path-to-whmccs.zip root@instance-ip:/root 

现在,WHMCS 安装文件将被复制到我们服务器的 root 用户的主目录 (/root) 中。

让我们登录我们的 ECS 实例来安装 WHMCS

ssh -i path-to-ssh-key.pem root@ecs-instance-ip

您将登录ECS实例,如下所示

3

验证我们是否已成功将 WHMCS 安装文件传输到我们的 ECS 实例中。

ls /root

如果您获得以下输出,您就可以开始了!

4

更新系统

apt update

升级系统

apt full-upgrade -y

删除不必要的软件包

apt auoremove -y

安装所需的组件

apt install unzip sendmail software-properties-common wget -y

安装 Apache Web 服务器

apt install apache2 -y

通过在 Web 浏览器中访问 ECS 实例的 IP 地址来验证 Apache 服务器的安装

5

在启动期间启动 Apache

systemctl enable apache2

安装 PHP

apt install php-fpm -y

安装 WHMCS 所需的 PHP 扩展

apt install php-curl php-gd php-json php-mbstring php-imap php-iconv php-dev php-mysql -y

安装 Ioncube 加载器

cd /root
Wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xf ioncube*
cp ioncube/ioncube_loader_lin_7.2.so /use/lib/php/20170718/

创建自定义 PHP 配置文件

nano /etc/php/7.2/apache2/conf.d/10-custom.ini

粘贴以下行

zend_extension="/usr/lib/php/20170718/ioncube_loader_lin_7.2.so"
max_execution_time = 60
max_input_time =60
memory_limit = 512M
max_input_vars = 6000
upload_max_filesize = 512M
post_max_size = 512M

重新启动 PHP 和 Apache Web 服务器

systemctl restart php7.2-fpm
systemctl restart apache2

删除默认网页

rm -rf /var/www/htm/index.html

修改 Apache 的配置文件

vim /etc/apache2/sites-available/000-default.conf

添加以下行

ServerName your-primary-domain.tld

重新启动 Apache Web 服务器

systemctl restart apache2

解压缩WHMCS安装包

cd /root
unzip whmcs_v771_full.zip

将安装文件移动到 Web 服务器的根目录

mv whmcs/* /var/www/html

创建新的 WHMCS 配置文件

cd /var/www/html
mv configuration.php.new configuration.php

更改 Web 服务器根目录的所有权

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

步骤 3:为 WHMCS 部署 HTTPS

HTTPS协议在我们的服务器和客户端之间提供安全的加密连接。我们将从 Let's Encrypt 证书颁发机构安装一个 SSL 证书。我们将使用一个名为 certbot 的程序来自动化颁发 SSL 证书的过程

添加 certbot PPA

apt-add-repository ppa:certbot/certbot

更新程序包

apt update

安装适用于 Apache Web 服务器的 certbot

apt install python-certbot-apache -y

颁发SSL证书

certbot --apache -d portal.your-primary-domaindomain.tld

输入您的电子邮件,然后输入 A 同意条款和条件。

颁发证书后,certbot 将显示两个选项。选择 Redirect all requests to secure HTTPS access (重定向所有请求以保护 HTTPS 访问)

6

选择上述选项后,HTTPS 将成功部署。

Let's Encrypt CA 提供的证书有效期仅为 90 天。

因此,您必须每 3 个月登录一次服务器并输入以下命令来续订证书

certbot renew

第 4 步:安装 WHMCS

到目前为止,我们已经完成了安装 WHMCS 的所有必要步骤。现在是时候开始安装过程了

从网络浏览器转到 https://portal.your-rimarydomain.tld/install/install.php

阅读条款和条件后,单击“同意

7

WHMCS将检查所有基本要求。如果满足要求,则可以继续安装。否则,WHMCS 会让您知道缺少的要求

单击“开始安装”

8

您将被要求输入您的许可证密钥和数据库详细信息。您可以从WHMCS仪表板获取许可证密钥。有关数据库详细信息,请输入您的 RDS 实例详细信息。输入详细信息后,单击“继续”

9

安装几乎完成。我们只需要添加一个 cronjob 并删除安装文件夹

登录ECS实例并执行以下命令

crontab -e

添加以下行

*/5 * * * * /usr/bin/php -q /var/www/html/crons/cron.php

删除安装目录

rm -rf /var/www/html/install

转到 https://portal.your-primary-domain.tld/admin 登录 WHMCS

第 5 步:安装 WordPress

通过SSH登录Ubuntu 18.04操作系统的ECS实例

ssh -i path-to-public-key.pem root@ecs-instance-ip

安装 EasyEngine

wget -qO ee rt.cx/ee4 && bash ee

安装完成后,你将获得类似于下图的安装摘要

10

让我们部署我们的 WordPress 网站

ee site create YOUR-PRIMARY-DOMAIN.TLD \
--cache \
--type=wp \
--admin-user=YOUR-WORDPRESS-USERNAME \
--admin-pass=YOUR-WORDPRESS_PASSWORD \
--admin-email=YOUR WORDPRESS EMAIL \
--dbname=YOUR DB NAME \
--dbuser=YOUR DB USERNAME \
--dbhost=YOUR RDS INSTANCE HOSTNAME \
--ssl=le

部署站点后,你将获得类似于下图的已部署网站的摘要

11

现在转到 https://your-primary-domain.tld/wp-admin

第 6 步:安装 WHM

通过SSH方式登录CentOS 7操作系统的弹性云服务器

ssh -i path-to-public-key.pem root@ecs-instance-ip

更新系统

yum update

设置完全限定的 Damion 名称 (FQDN)

echo "server.your-primary-domain.tld" > /etc/hostname
hostname -F /etc/hostname

禁用防火墙

iptables.save > ~/firewall.rules
systemctl stop firewalld.service
systemctl disable firewalld.service

禁用网络管理器

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

下载并安装 WHM

cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest

安装最多需要 45 分钟才能完成。安装结束后,使用以下命令获取 WHM 登录 URL。

Whmlogin

12

转到显示的登录 URL 并完成安装

第 6 步:集成 WordPress 和 WHMCS

登录WordPress

转到插件>>添加新的插件

13

搜索 WHMCS Bridge

找到后单击立即安装

14

单击“激活”按钮以激活插件

转到 WHMCS Bridge >>设置

输入您的 WHMCS URL

15

单击“检查我的安装

如果集成成功,将显示一条成功消息,如下所示

16

就是这样!

第 7 步:集成 WHM 和 WHMCS

登录WHMCS

转到“设置”>>产品/服务>>服务器

单击“添加新服务器

17

输入服务器名称、IP 地址、网络主机名等

然后,登录 WHM

转到开发>>管理 API 令牌

单击 Generate Token

18

检查以下权限并单击保存

19

复制生成的 API 令牌

20

返回 WHMCS。填写以下详细信息

  • 服务器类型:CPanel
  • 用户名:root
  • 密码:您的WHM密码
  • API 令牌:粘贴从 WHM 复制的令牌

单击保存更改

现在我们已经成功地集成了WHMCS和WHM

第 8 步:将 PayPal 与 WHMCS 集成

我们将使用 PayPal 接收客户的付款。

转到 PayPal.Com 并注册企业帐户。如果您已经拥有PayPal个人帐户,则可以选择将其升级到企业帐户,如下所示

创建企业帐户后,转到网站上>>工具>>企业设置>>付款设置

单击“通过 PayPal 处理所有付款(包括信用卡和借记卡)”下的“继续”按钮

21

单击“获取您的 API 凭据

22

选择“请求 API 签名”,然后单击“同意并提交”

23

复制 API 用户名、API 密码、API 签名

登录WHMCS

转到 Payment Gateways >> PayPal Express Checkout >>付款>>付款设置

粘贴复制的 API 用户名、API 密码和 API 签名。

然后单击“保存更改”

24

我们现在已经成功地将PayPal与WHMCS集成在一起!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/230234.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS应用程序框架——UIAbility实操

UIAbility概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。 每一个UIAbility实例,都对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility&…

12.Mysql 多表数据横向合并和纵向合并

Mysql 函数参考和扩展&#xff1a;Mysql 常用函数和基础查询、 Mysql 官网 Mysql 语法执行顺序如下&#xff0c;一定要清楚&#xff01;&#xff01;&#xff01;运算符相关&#xff0c;可前往 Mysql 基础语法和执行顺序扩展。 (8) select (9) distinct (11)<columns_name…

poe与chatgpt那个功能更强大

在当前的人工智能领域&#xff0c;Poe Al Chat以其卓越的聊天能力和实用的功能&#xff0c;受到了大家的广泛关注和喜爱。本文好为您个绍Poe Al Chat的功能&#xff0c;以及我们国内用户如何进行充值订阅。Poe Al Chat是一个基于OpenAl的GPT模型开发的人工智能聊天工具。它能够…

有限空间作业中毒窒息事故频发,汉威科技创新方案护航

工贸企业有限空间是我国重大事故多发频发的重点领域之一&#xff0c;安全问题形势严峻。 有限空间是指封闭或者部分封闭、未被设计为固定工作场所&#xff0c;人员可以进入&#xff0c;通风不良&#xff0c;易造成有毒有害物质、易燃易爆气体积聚或者氧含量不足的空间&#xf…

IBM Qiskit量子机器学习速成(四)

量子核机器学习 一般步骤 量子核机器学习的一般步骤如下 定义量子核 我们使用FidelityQuantumKernel类创建量子核&#xff0c;该类需要传入两个参数&#xff1a;特征映射和忠诚度(fidelity)。如果我们不传入忠诚度&#xff0c;该类会自动创建一个忠诚度。 注意各个类所属的…

硕士毕业论文格式修改要点_word

目录 0、最开始要做的事情1、更改样式&#xff08;先善器&#xff09;2、多级标题&#xff08;解决自动更新问题必要的基础设置&#xff09;2、插入图片&#xff08;1&#xff09;设置一个图片样式——“无间隔”&#xff08;2&#xff09;插入题注&#xff08;3&#xff09;修…

上网监控软件——安全与隐私的平衡

网络已经成为人们生活和工作中不可或缺的一部分。然而&#xff0c;随着网络使用的普及&#xff0c;网络安全问题也日益突出。上网监控软件作为网络安全领域的一个重要组成部分&#xff0c;在保护企业和家庭网络安全方面发挥着重要作用。 本文将探讨上网监控软件的背景、功能、优…

泽攸科技桌面型扫描电子显微镜(SEM)技术解析

台式扫描电子显微镜是一种利用电子束扫描样品表面并检测样品反射或发射的电子信号&#xff0c;从而获得样品表面形貌、结构和成分信息的仪器。它的工作原理是由电子枪发出的电子束经过栅极静电聚焦后成为直径50微米的点光源&#xff0c;然后在加速电压作用下&#xff0c;经两三…

普源示波器旋钮数值乱跳, 不更换编码器修复的办法

1: 换电容的办法 直接三个引脚(A/C/B)&#xff0c;A和B&#xff0c;B和C之间并联103电容(10nf),0805封装的焊上正好 2:换编码器 换EC12编码器,柄长15mm,金属柄D口 红框大钮用这个 绿框小钮用这个

案例062:基于微信小程序的健身房私教预约系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

ModuleNotFoundError: No module named ‘dlib‘

解决&#xff1a;ModuleNotFoundError: No module named ‘dlib’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named dlib背景报错问题报错翻译报错位置代码报错原因解决方法方法一&#xff0c;直接安装方法二&#xff0c;手动下载安装方法三&#xff0c;编译安…

二叉树的层序遍历[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你二叉树的根节点root&#xff0c;返回其节点值的 层序遍历 。&#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],…

如何进行更好的面试回复之缓存函数在项目中的性能优化?

缓存函数是一种提高函数性能的技术&#xff0c;在函数被调用时&#xff0c;会将计算结果缓存起来&#xff0c;以便在后续的调用中直接返回缓存的结果&#xff0c;从而减少了重复计算的时间。 缓存函数的实现通常包括两个步骤&#xff1a; 判断缓存是否存在&#xff1a;在函数被…

华为数通---配置Smart Link主备备份示例

定义 Smart Link&#xff0c;又叫做备份链路。一个Smart Link由两个接口组成&#xff0c;其中一个接口作为另一个的备份。Smart Link常用于双上行组网&#xff0c;提供可靠高效的备份和快速的切换机制。 目的 下游设备连接到上游设备&#xff0c;当使用单上行方式时&…

【已解决】SpringBoot Maven 打包失败:class lombok.javac.apt.LombokProcessor 错误

文章目录 出错原因解决办法总结 最新项目部署的时候&#xff0c;出现了一个maven打包失败的问题&#xff0c;主要是lombok这个组件出的问题&#xff0c;具体的错误信息如下&#xff1a; 我的lombok版本如下&#xff1a; <dependency><groupId>org.projectlombok&l…

如何将Word中的表格图片转换为可编辑格式?

我们都知道&#xff0c;Word中的表格是一个非常有用的工具&#xff0c;可以让我们在文档中轻松添加和编辑各种数据。但有时候我们可能会遇到一个问题&#xff1a;当表格作为图片插入时&#xff0c;我们就不能直接编辑它了。这可怎么办呢&#xff1f; 别担心&#xff0c;我们有…

[架构之路-259]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 面向服务的架构SOA与微服务架构(以服务为最小的构建单位)

目录 前言&#xff1a; 二、软件架构层面的复用 三、什么是面向服务的架构SOA 3.1 什么是面向服务的架构 3.2 面向服务架构的案例 3.3 云服务&#xff1a;everything is service一切皆服务 四、什么是微服务架构 4.1 什么是微服务架构 4.2 微服务架构的案例 五、企业…

听GPT 讲Rust源代码--src/tools(9)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/apply_demorgan.rs 在Rust源代码中&#xff0c;apply_demorgan.rs文件位于rust-analyzer工具的ide-assists库中&#xff0c;其作用是实现一个辅助函数&#xff0c;用于在代码中应用De Morgan定律的变换。 …

Navicat 技术指引 | 适用于 GaussDB 分布式的用户/权限功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…

nodejs+vue+微信小程序+python+PHP的黄山旅游景点购票系统设计与实现-计算机毕业设计推荐

本文首先对该系统进行了详细地描述&#xff0c;然后对该系统进行了详细的描述。管理人员增加了系统首页、个人中心、用户管理、景点分类管理、景点简介管理、旅游路线管理、文章分类管理、公告文章管理、系统管理理等功能。黄山旅游景点购票系统是根据当前的现实需要&#xff0…