在 2 个位置之间复制 mediawiki

duplicate mediawiki between 2 locations

我已经在 Ubuntu Mate 上设置了私人 wiki (1.35.1) 运行ning,它是 VMWare Workstation 16 上的访客 OS。我想 运行 这个 wiki 在 2 个独立的位置(A 和 B)(没有 VPN 连接)。我将是唯一访问的用户,因为它是我的私人维基。

我已经在位置 A 进行了 wiki 设置和 运行 设置,只需将访客存档并在位置 B 将其作为相同的副本显示出来。

问题:我在地点 A 度过一天后(在那里编辑我的 wiki),我可以简单地复制整个 /var/www/html/Mediawiki 文件夹和整个 /var/lib/mysql 文件夹 (MariaDB) 到拇指驱动器并转储到位置 B?

目的是让这些 wiki 相同 - 由我 (sneakernet) 使用拇指驱动器同步。

UPDATE - 目前运行良好。以下是我的做法。

  1. 停止 mysql 服务器 - sudo service mysql stop
  2. 复制(使用 rsync)所有新的或更改的文件从 /var/lib/mysql/ 到我的外部共享: sudo rsync -cavurt --delete --info=del,name,stats2 "/var/lib/mysql/" "/home/rp/shares/VM_share_ubuntu/wiki_sql_files"
  3. 将所有新的或更改的文件从 /var/www/html/mediawiki-1.35.1 复制到我的外部共享: sudo rsync -cavurt --delete --info=del,name,stats2 "/var/www/html/mediawiki-1.35.1/" "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files"
  4. 启动 mysql 服务器 - sudo service mysql start

现在,将new/changed个文件复制到第二台机器:

  1. 停止 mysql 服务器 - sudo service mysql stop
  2. 复制(使用 rsync)所有新的或更改的 mysql 文件: sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_sql_files/" "/var/lib/mysql"
  3. 复制所有新的或更改的 mediawiki 文件: sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files/" "/var/www/html/mediawiki-1.35.1"
  4. 启动 mysql 服务器 - sudo service mysql start

在那些 rsync 命令中,请注意 source 文件夹的末尾需要是 /,而 target 文件夹是没有结尾 /this thread.

中解释了其重要性

更新 2: 如果您在一台机器上修改 /etc/php/7.4/apache2/php.ini 文件,您需要确保在另一台机器上进行相同的更新。例如如果您 change the file upload size 从默认 2M 或一些其他影响 php.ini 的更改。

只要您动态设置 $wgServer,这通常会起作用。使用绝对 URLs 并从缓存加载的页面会 link 到错误的 URL,但这种情况应该很少见 - 几乎所有内容都使用相对 URLs.