Инструкции необходимо обновить. Вот что работает у меня по состоянию на ноябрь 2020 года. Обратите внимание, что действительно лучше запускать этот импорт через screen, так как импорт может занять несколько часов, а использование nohup, скорее всего, не поможет, поскольку скрипт импорта постоянно обновляет количество импортированных элементов каждого типа, и файл stdout, вероятно, будет очень большим.
Установка базы данных для переноса данных vBulletin
Загрузка последних пакетов
Обратите внимание: MySQL больше недоступен, если репозиторий Oracle MySQL явно не добавлен в список репозиториев. MySQL заменён на MariaDB.
root@uat-app:~# apt-get update
root@uat-app:~# apt-get install libmariadb-dev
root@uat-app:~# apt-get install default-mysql-server
Запуск базы данных
root@uat-app:~# service mysql status
[info] MariaDB остановлен..
root@uat-app:~#
root@uat-app:~# service mysql start
[ ok ] Запуск сервера базы данных MariaDB: mysqld.
root@uat-app:~# service mysql status
[info] /usr/bin/mysqladmin Версия 9.1, Дистрибутив 10.3.25-MariaDB, для debian-linux-gnu на x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab и другие.
Версия сервера 10.3.25-MariaDB-0+deb10u1
Версия протокола 10
Подключение: локально через UNIX-сокет
UNIX-сокет /var/run/mysqld/mysqld.sock
Время работы: 4 сек
Потоки: 7 Запросов: 461 Медленных запросов: 0 Открыто соединений: 177 Сброс таблиц: 1 Открыто таблиц: 31 Среднее кол-во запросов в секунду: 115.250.
Установка Gem-ов для подключения к базе данных
Ниже показано, что последняя версия bundle не принимает некоторые флаги из оригинальных инструкций, и необходимо отключить режим deployment.
root@uat-app:~# echo "gem 'mysql2', require: false" >> /var/www/discourse/Gemfile
root@uat-app:~# echo "gem 'php_serialize', require: false" >> /var/www/discourse/Gemfile
root@uat-app:~# cd /var/www/discourse
root@uat-app:/var/www/discourse# su discourse -c 'bundle install --no-deployment --without test --without development --path vendor/bundle'
[DEPRECATED] Флаг `--path` устарел, так как он полагается на сохранение между вызовами bundler, чего bundler больше не будет делать в будущих версиях. Вместо этого используйте `bundle config set path 'vendor/bundle'` и прекратите использовать этот флаг.
[DEPRECATED] Флаг `--without` устарел, так как он полагается на сохранение между вызовами bundler, чего bundler больше не будет делать в будущих версиях. Вместо этого используйте `bundle config set without 'development'` и прекратите использовать этот флаг.
Вы пытаетесь установить в режиме развёртывания после изменения
вашего Gemfile. Запустите `bundle install` в другом месте и добавьте
обновлённый Gemfile.lock в систему контроля версий.
Если это машина разработки, отмените заморозку /var/www/discourse/Gemfile, выполнив `bundle config unset deployment`.
Зависимости в вашем gemfile изменились
Вы добавили в Gemfile:
* mysql2
* php_serialize
Обновление конфигурации и повторный запуск установки
Проверка через CLI
Проверка конфигурации подтвердила, что установлен режим deployment.
root@uat-app:/var/www/discourse# bundle config list
Настройки перечислены в порядке приоритета. Используется верхнее значение.
deployment
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): true
jobs
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): 4
retry
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): 3
path
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): "vendor/bundle"
without
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): [:development, :test]
Проверка путём просмотра файла конфигурации
Ниже показана та же проверка путём просмотра файла конфигурации.
root@uat-app:/var/www/discourse# cat /var/www/discourse/.bundle/config
---
BUNDLE_DEPLOYMENT: "true"
BUNDLE_JOBS: "4"
BUNDLE_RETRY: "3"
BUNDLE_PATH: "vendor/bundle"
BUNDLE_WITHOUT: "development:test"
Обновление конфигурации
root@uat-app:/var/www/discourse# bundle config set path 'vendor/bundle'
Ваше приложение установило path в "vendor/bundle". Это переопределит глобальное значение, которое вы в настоящее время устанавливаете.
root@uat-app:/var/www/discourse# bundle config set without 'development:test'
Ваше приложение установило without в "development:test". Это переопределит глобальное значение, которое вы в настоящее время устанавливаете.
root@uat-app:/var/www/discourse# bundle config unset deployment
Повторная проверка конфигурации
root@uat-app:/var/www/discourse# bundle config list
Настройки перечислены в порядке приоритета. Используется верхнее значение.
path
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): "vendor/bundle"
Установлено для текущего пользователя (/root/.bundle/config): "vendor/bundle"
without
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): [:development, :test]
Установлено для текущего пользователя (/root/.bundle/config): [:development, :test]
jobs
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): 4
retry
Установлено для вашего локального приложения (/var/www/discourse/.bundle/config): 3
Попытка повторной установки
Повторно запустите установку для Gem-ов и выйдите из контейнера.
root@uat-app:/var/www/discourse# su discourse -c 'bundle install'
...........
Установка завершена! 125 зависимостей Gemfile, 163 gem-а теперь установлены.
Gem-ы в группах development и test не были установлены.
Установленные gem-ы размещены в `./vendor/bundle`
root@uat-app:/var/www/discourse# exit
Создание каталога для данных vBulletin
Создание каталога
[root@uat standalone]# pwd
/var/discourse/shared/standalone
[root@uat standalone]# mkdir vbulletin
Копирование базы данных vBulletin
[root@uat standalone]# scp <пользователь_входа>@<IP_сервера_vbulletin>:/home/backup/vbulletin/vbulletin-2020-11-14-03:30:01.sql.bz2 ./vbulletin/.
Распаковка базы данных vBulletin
[root@uat containers]# docker exec -it app bash
root@uat-app:/# cd /shared/vbulletin
root@uat-app:/shared/vbulletin# bunzip2 vbulletin-2020-11-14-03\:30\:01.sql.bz2
Настройка источника данных
Создание базы данных vb4
root@uat-app:/shared/vbulletin# mysql -uroot -p -e 'CREATE DATABASE vb4'
Введите пароль:
Импорт vBulletin в MariaDB
root@uat-app:/shared/vbulletin# mysql -uroot -p vb4 < vbulletin-2020-11-14-03\:30\:01.sql
Введите пароль:
Распаковка архивов профилей
[root@uat vbulletin]# tar xvfz signaturepics.tar.gz
[root@uat vbulletin]# tar xvfz customavatars.tar.gz
[root@uat vbulletin]# tar xvfz customprofilepics.tar.gz
Обновление корневого пароля базы данных
root@uat-app:/var/www/discourse# mysql -uroot -p
Введите пароль:
Добро пожаловать в монитор MariaDB. Команды заканчиваются ; или \g.
Ваш идентификатор подключения MariaDB: 77
Версия сервера: 10.3.25-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab и другие.
Введите 'help;' или '\h' для справки. Введите '\c' для очистки текущего ввода.
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
Запрос OK, 0 строк затронуто (0.001 сек)
MariaDB [(none)]> quit
Пока
Импорт в Discourse
Установка параметров подключения к источнику данных
[root@uat vbulletin]# export DB_NAME="vb4"
[root@uat vbulletin]# export DB_USER="root"
[root@uat vbulletin]# export DB_PW="1234"
[root@uat vbulletin]# export TABLE_PREFIX="vbulletin"
[root@uat vbulletin]# export ATTACHMENT_DIR='/shared/vbulletin'
[root@uat vbulletin]# export TIMEZONE="America/Vancouver"
[root@uat vbulletin]# cd /var/www/discourse
root@uat-app:/var/www/discourse# su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
root:1234@localhost хочет vb4
Загрузка существующих групп...
Загрузка существующих пользователей...
Загрузка существующих категорий...
Загрузка существующих постов...
Загрузка существующих тем...
Импорт групп...
15 / 15 (100.0%) [3272 элементов/мин] n]
Импорт пользователей
117 / 11033 ( 1.1%) [145 элементов/мин] in]