我可以在新安装的 Linux 上复制 Apache 服务器设置吗?

我可以在新安装的 Linux 上复制 Apache 服务器设置吗?

我的计算机上设置了一个 Apache 2 服务器,用于本地测试。需要明确的是,不是在互联网上托管网站。它仅用于本地调试和设计。

我之前使用的是 Ubuntu Linux,但现在我有一台使用 Linux Mint 的新计算机。我想做的是获取旧 Ubuntu 机器上的所有 Apache 站点和设置,并将它们复制到新的 Linux Mint 机器上。

我只知道如何手动执行此操作,一次一个站点,从头开始。为目录中的每个站点创建一个文件sites-available并使用 激活它们a2ensite。然后对任何配置文件进行编辑,例如在我的php.ini文件中添加一些行以启用 Xdebug,并希望我没有错过任何内容。

我确信我这样做的效率很低,而且很容易出现人为错误。

是否无法以某种方式复制 Ubuntu 计算机上的整个 Apache 2 设置和站点,并将它们一次性放到我的 Linux Mint 计算机上?或者至少,至少需要少于重新创建每个站点并从头开始设置的步骤?

请注意,我更像是一名设计师而不是管理员,因此请假设我对 Linux 命令和服务器设置的了解很少。

答案1

您的服务器设置,就像任何系统范围的程序设置一样,可以在 下找到/etc。确切的位置取决于分布,但/etc/apache/etc/apache2是不错的选择。 Ubuntu 和 Mint 都使用/etc/apache2.

如果您安装了相同的插件并且 Apache 的版本相差不太远,则只需将整个/etc/apache2目录复制到新计算机即可。当然,您还需要复制文档根目录。

如果您正在运行某些 Web 应用程序,则还需要迁移它们。这可能会或可能不会像复制某些文件那么简单,这在很大程度上取决于应用程序。特别是,如果涉及数据库,则需要安装相同的数据库软件(通常是 MySQL),在旧计算机上转储数据库,然后在新计算机上恢复转储。

答案2

是否无法以某种方式复制 Ubuntu 计算机上的整个 Apache 2 设置和站点,并将它们一次性放到我的 Linux Mint 计算机上?

假设它们不是截然不同的 Apache 版本,是的。发行版预配置 apache 时有细微差别(例如,Web 根位置),但如果您复制配置并将所有内容放在同一个位置,则只需批量进行即可。与覆盖配置一样,不要以同样的方式进行编辑。请注意,apache 的conf 文件的位置被编译到apache 二进制文件中,并且可能因发行版而异。然而,conf 文件中的内容是可移植的,因此您应该能够用自己的文件替换这些文件。除了conf文件的位置之外,apache的行为是由conf文件中的内容决定的,所以如果你确实替换了它/它们,那么,例如,Web根目录将由你的“新”配置决定。正如您所了解的,这里的另一个细节是 中的内容/etc/hosts

Apache 有时使用具有自己配置的半独立部分(例如 php)。如果您知道自己正在使用类似的东西,则必须做一些功课才能了解详细信息。

这就引出了一个问题如何保持服务器备份;如果你连贯地做到这一点,那么这只是一个问题将备份部署到另一台机器上(即,好像它已经完全被破坏了)。我所说的“服务器备份”并不是指整个文件系统或 apache 二进制文件,它已经被有效备份,因为它是一个发行版包。我的意思是 Web 根目录中的所有内容(例如,/var/www服务器使用的所有数据文件、脚本等)以及配置,可能位于/etc;中的某个位置。如前所述,这个位置是可变的,但会编译到 apache 中,这意味着如果您想部署在不同的发行版上,您可能必须将 conf 文件放在不同的位置。

如何确切地你这样做取决于你的服务器的性质。如果您正在服务的各种事物本身就是独立的项目,那么这些项目应该独立备份;这应该包括一些关于如何部署它们以及它们需要什么的文档,如果合适的话可能还包括 apache 配置的片段。这意味着该项目可以轻松安装到任何 apache 中。如果服务器专用于一件事,您只需备份整个 Web 根目录即可。在前一种情况(各种独立项目)中,使用某种形式VCS很好(这些是学习使用的好东西;我个人的偏好是,git但还有很多其他的),在后者(一个巨石网络根)中类似rsync- 但这些只是建议。关键是你应该有一个你熟悉的工具来完成这样的事情(有选择地备份文件系统中的目录子树)。小型安装最简单的方法可能就是tar(或 zip)。

如果您使用 apache 的后端数据库,您也希望按照同样的方式备份数据和配置,但是如果数据库由独立备份的各种不同项目使用,则应该备份它们的数据和他们一起。

所以,如果你维护备份在这种情况下,“复制你的 apache”所需要做的就是安装 apache,然后部署备份——你解压、rsync、git 克隆等等,各个部分,将配置复制到正确的位置,然后就可以了。

然后您可能会遇到缺少软件的问题——发行版可能以不同的方式捆绑 apache 模块,您需要 sql 等——但这非常简单。

相关内容