Я настроил частную вики (1.35.1), работающую на Ubuntu Mate, которая является гостевой ОС на VMWare Workstation 16. Я хочу запустить эту вики в двух изолированных местах (A и B) (без VPN-подключения). Я буду единственным пользователем, который будет иметь доступ, так как это моя личная вики.
У меня есть вики, настроенная и работающая в месте А, и я просто заархивирую гостя и открою его в местоположении Б как идентичную копию.
Вопрос: после того, как я проведу день в месте А (редактируя там свою вики), могу ли я просто скопировать всю папку /var/www/html/Mediawiki
и всю папку /var/lib/mysql
(MariaDB) на флэш-накопитель и сбросить в место Б?
Цель состоит в том, чтобы они были идентичными вики, синхронизированными мной (sneakernet) с флэш-накопителем.
ОБНОВЛЕНИЕ - пока все работает. Ниже показано, как я это делаю.
sudo service mysql stop
/var/lib/mysql/
в мою внешнюю папку с помощью:
sudo rsync -cavurt --delete --info=del,name,stats2 "/var/lib/mysql/" "/home/rp/shares/VM_share_ubuntu/wiki_sql_files"
/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"
sudo service mysql start
Теперь скопируйте новые/измененные файлы на второй компьютер:
sudo service mysql stop
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_sql_files/" "/var/lib/mysql"
sudo rsync -cavurt --delete --info=del,name,stats2 "/home/rp/shares/VM_share_ubuntu/wiki_mediawiki_files/" "/var/www/html/mediawiki-1.35.1"
sudo service mysql start
В этих командах rsync обратите внимание, что конец исходной папки должен быть /
, а целевая папка НЕ имеет окончания /
. Важность этого объясняется в этой теме.
ОБНОВЛЕНИЕ 2: если вы измените файл /etc/php/7.4/apache2/php.ini
на одном компьютере, вам нужно будет сделать такое же обновление на другом компьютере. например Если вы измените размер загружаемого файла со значения по умолчанию 2M или какое-либо другое изменение, влияющее на php.ini
.
@AlexanderMashin Я думал, что это в /mysql?
Да, и копирование каталога MediaWiki
не скопирует базу данных.
Спасибо @AlexanderMashin, поэтому в моем посте показаны обе эти 2 папки. Мне просто было интересно, не пропустил ли я что-нибудь
В основном это будет работать, если вы установите $wgServer динамически. Страницы, которые используют абсолютные URL-адреса и загружаются из кеша, будут ссылаться на неправильный URL-адрес, но это должно быть очень редко — почти везде используются относительные URL-адреса.
Спасибо @Tgr, так что, если вики, работающая на A, имеет базу http://192.168.2.5
, я бы установил $wgServer = http://192.168.2.5
на эту машину? И сделать то же самое в месте B, если его база отличается от 192.168.2.5?
Это или что-то вроде $wgServer = WebRequest::detectServer();
. Это имеет некоторые риски безопасности для общедоступной вики, но для частной все должно быть в порядке.
Вы забываете базу данных.