Дублировать медиавики между двумя локациями

Я настроил частную вики (1.35.1), работающую на Ubuntu Mate, которая является гостевой ОС на VMWare Workstation 16. Я хочу запустить эту вики в двух изолированных местах (A и B) (без VPN-подключения). Я буду единственным пользователем, который будет иметь доступ, так как это моя личная вики.

У меня есть вики, настроенная и работающая в месте А, и я просто заархивирую гостя и открою его в местоположении Б как идентичную копию.

Вопрос: после того, как я проведу день в месте А (редактируя там свою вики), могу ли я просто скопировать всю папку /var/www/html/Mediawiki и всю папку /var/lib/mysql (MariaDB) на флэш-накопитель и сбросить в место Б?

Цель состоит в том, чтобы они были идентичными вики, синхронизированными мной (sneakernet) с флэш-накопителем.

ОБНОВЛЕНИЕ - пока все работает. Ниже показано, как я это делаю.

  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

Теперь скопируйте новые/измененные файлы на второй компьютер:

  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. Скопируйте все новые или измененные файлы медиавики с помощью: 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 обратите внимание, что конец исходной папки должен быть /, а целевая папка НЕ ​​имеет окончания /. Важность этого объясняется в этой теме.

ОБНОВЛЕНИЕ 2: если вы измените файл /etc/php/7.4/apache2/php.ini на одном компьютере, вам нужно будет сделать такое же обновление на другом компьютере. например Если вы измените размер загружаемого файла со значения по умолчанию 2M или какое-либо другое изменение, влияющее на php.ini.

Вы забываете базу данных.

Alexander Mashin 18.12.2020 19:48

@AlexanderMashin Я думал, что это в /mysql?

relayman357 18.12.2020 20:47

Да, и копирование каталога MediaWiki не скопирует базу данных.

Alexander Mashin 18.12.2020 20:53

Спасибо @AlexanderMashin, поэтому в моем посте показаны обе эти 2 папки. Мне просто было интересно, не пропустил ли я что-нибудь

relayman357 18.12.2020 22:29
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
4
87
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В основном это будет работать, если вы установите $wgServer динамически. Страницы, которые используют абсолютные URL-адреса и загружаются из кеша, будут ссылаться на неправильный URL-адрес, но это должно быть очень редко — почти везде используются относительные URL-адреса.

Спасибо @Tgr, так что, если вики, работающая на A, имеет базу http://192.168.2.5, я бы установил $wgServer = http://192.168.2.5 на эту машину? И сделать то же самое в месте B, если его база отличается от 192.168.2.5?

relayman357 19.12.2020 05:15

Это или что-то вроде $wgServer = WebRequest::detectServer();. Это имеет некоторые риски безопасности для общедоступной вики, но для частной все должно быть в порядке.

Tgr 19.12.2020 05:55

Другие вопросы по теме