首页 > 解决方案 > 多站点服务器配置中的 Apache 控制

问题描述

我有一个运行灯堆栈的 ubunto vm,现在,一个域名重定向到 vm 的 IP 地址。概念明智的主要原则是我希望用户注册一个帐户并获得一个在我自己域的子域上运行的“网站”。使用 apache vhosts 等中的通配符子域和 certbot 我设法自动使所有子域受 ssl 保护,这部分很容易。

现在,如果客户想购买他/她自己的域名,我或其他注册商需要将 A 记录指向我的 IP 地址,并将 CNAME 从 www 指向域名。最后,我需要在站点可用文件夹下添加一个 vhost 文件,为该新域名配置虚拟主机文件并“优雅地”重新启动 apache。

问题就在这里。如何操作 apache vhosts 文件等,以便在我的主网站上按一下按钮即可完成此操作?我在后端使用 PHP 并在 php(shell exec 等)中执行它似乎存在安全风险..

我在 GCP 上运行,因此 GCP 的任何服务都可用。

提前致谢。

标签: phpapachegoogle-cloud-platformvirtual-machinevirtualhost

解决方案


如果您担心服务器中的 shell 脚本,您可以在另一台机器上使用 SSH 运行应用程序;它可以是一个小实例,应用程序可以是仅在 Windows 上可用的腻子之类的东西。你应该找到一些与 Linux 相关的东西,因为有很多替代品可用。使用 SSH 客户端应用程序和 Python 语言来自动化它。

由于手动过程涉及多次运行相同的命令,您可以创建虚拟主机文件并查看文件是否在站点可用目录等中创建。

新用户注册您的服务后,您需要创建虚拟主机文件并运行 chown 命令并查看文件是否在目录中的站点中创建并重新启动您的 apache。您可以参考在您的服务器上自动设置虚拟主机中的步骤。


推荐阅读