Le istruzioni devono essere aggiornate. Ecco cosa funziona per me a partire da novembre 2020. Si noti che è effettivamente meglio eseguire questa importazione utilizzando screen, poiché l’importazione richiederà ore, e l’uso di nohup probabilmente non sarà utile poiché lo script di importazione aggiornerà costantemente il numero di ogni elemento importato, rendendo il file stdout probabilmente molto grande.
Installare il Database per i Dati vBulletin
Scaricare gli Ultimi Pacchetti
Si noti che MySQL non è più disponibile a meno che il repository Oracle MySQL non venga aggiunto esplicitamente all’elenco dei repository. MariaDB ha sostituito MySQL.
root@uat-app:~# apt-get update
root@uat-app:~# apt-get install libmariadb-dev
root@uat-app:~# apt-get install default-mysql-server
Avviare il Database
root@uat-app:~# service mysql status
[info] MariaDB è arrestata..
root@uat-app:~#
root@uat-app:~# service mysql start
[ ok ] Avvio del server database MariaDB: mysqld.
root@uat-app:~# service mysql status
[info] /usr/bin/mysqladmin Ver 9.1 Distrib 10.3.25-MariaDB, per debian-linux-gnu su x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab e altri.
Versione del server 10.3.25-MariaDB-0+deb10u1
Versione del protocollo 10
Connessione Localhost tramite socket UNIX
Socket UNIX /var/run/mysqld/mysqld.sock
Tempo di attività: 4 secondi
Thread: 7 Domande: 461 Query lente: 0 Aperture: 177 Pulizia tabelle: 1 Tabelle aperte: 31 Query al secondo in media: 115.250.
Installare i Gem per la Connettività al Database
Di seguito si mostra che l’ultimo ‘bundle’ non accetta alcune delle flag nelle istruzioni originali e c’è la necessità di disattivare la modalità ‘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] La flag `--path` è deprecata perché si basa sul fatto che venga ricordata tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Si prega invece di utilizzare `bundle config set path 'vendor/bundle'` e di smettere di usare questa flag
[DEPRECATED] La flag `--without` è deprecata perché si basa sul fatto che venga ricordata tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Si prega invece di utilizzare `bundle config set without 'development'` e di smettere di usare questa flag
Stai cercando di installare in modalità deployment dopo aver modificato
il tuo Gemfile. Esegui `bundle install` altrove e aggiungi il
Gemfile.lock aggiornato al controllo versione.
Se questa è una macchina di sviluppo, rimuovi il blocco del file /var/www/discourse/Gemfile eseguendo `bundle config unset deployment`.
Le dipendenze nel tuo gemfile sono cambiate
Hai aggiunto al Gemfile:
* mysql2
* php_serialize
Aggiornare la Configurazione ed Esegui di Nuovo l’Installazione
Verifica tramite CLI
La verifica della configurazione ha confermato che è impostata in modalità ‘deployment’.
root@uat-app:/var/www/discourse# bundle config list
Le impostazioni sono elencate in ordine di priorità. Il valore superiore verrà utilizzato.
deployment
Impostato per la tua app locale (/var/www/discourse/.bundle/config): true
jobs
Impostato per la tua app locale (/var/www/discourse/.bundle/config): 4
retry
Impostato per la tua app locale (/var/www/discourse/.bundle/config): 3
path
Impostato per la tua app locale (/var/www/discourse/.bundle/config): "vendor/bundle"
without
Impostato per la tua app locale (/var/www/discourse/.bundle/config): [:development, :test]
Verifica Ispezionando il File di Configurazione
Di seguito si esegue la stessa verifica ispezionando il file di configurazione.
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"
Aggiornare la Configurazione
root@uat-app:/var/www/discourse# bundle config set path 'vendor/bundle'
La tua applicazione ha impostato path su "vendor/bundle". Questo sovrascriverà il valore globale che stai attualmente impostando
root@uat-app:/var/www/discourse# bundle config set without 'development:test'
La tua applicazione ha impostato without su "development:test". Questo sovrascriverà il valore globale che stai attualmente impostando
root@uat-app:/var/www/discourse# bundle config unset deployment
Validare di Nuovo la Configurazione
root@uat-app:/var/www/discourse# bundle config list
Le impostazioni sono elencate in ordine di priorità. Il valore superiore verrà utilizzato.
path
Impostato per la tua app locale (/var/www/discourse/.bundle/config): "vendor/bundle"
Impostato per l'utente corrente (/root/.bundle/config): "vendor/bundle"
without
Impostato per la tua app locale (/var/www/discourse/.bundle/config): [:development, :test]
Impostato per l'utente corrente (/root/.bundle/config): [:development, :test]
jobs
Impostato per la tua app locale (/var/www/discourse/.bundle/config): 4
retry
Impostato per la tua app locale (/var/www/discourse/.bundle/config): 3
Tentare di Eseguire di Nuovo l’Installazione
Esegui di nuovo l’installazione per i Gem ed esci dal contenitore.
root@uat-app:/var/www/discourse# su discourse -c 'bundle install'
...........
Bundle completo! 125 dipendenze Gemfile, 163 gem ora installate.
Le gem nei gruppi development e test non sono state installate.
Le gem bundler sono installate in `./vendor/bundle`
root@uat-app:/var/www/discourse# exit
Creare la Cartella per i Dati vBulletin
Creare la Cartella
[root@uat standalone]# pwd
/var/discourse/shared/standalone
[root@uat standalone]# mkdir vbulletin
Copiare il Database vBulletin
[root@uat standalone]# scp <login user>@<vbulletin server IP>:/home/backup/vbulletin/vbulletin-2020-11-14-03:30:01.sql.bz2 ./vbulletin/.
Decomprimere il Database 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
Configurare la Fonte dei Dati
Creare il Database vb4
root@uat-app:/shared/vbulletin# mysql -uroot -p -e 'CREATE DATABASE vb4'
Inserisci password:
Importare vBulletin in MariaDB
root@uat-app:/shared/vbulletin# mysql -uroot -p vb4 < vbulletin-2020-11-14-03\:30\:01.sql
Inserisci password:
Decomprimere gli Archivi dei Profili
[root@uat vbulletin]# tar xvfz signaturepics.tar.gz
[root@uat vbulletin]# tar xvfz customavatars.tar.gz
[root@uat vbulletin]# tar xvfz customprofilepics.tar.gz
Aggiornare la Password Root del Database
root@uat-app:/var/www/discourse# mysql -uroot -p
Inserisci password:
Benvenuto nel monitor MariaDB. I comandi terminano con ; o \g.
Il tuo ID connessione MariaDB è 77
Versione del server: 10.3.25-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab e altri.
Digita 'help;' o '\h' per l'aiuto. Digita '\c' per cancellare l'istruzione di input corrente.
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
Query OK, 0 righe interessate (0.001 sec)
MariaDB [(none)]> quit
Bye
Importare in Discourse
Impostare i Dettagli di Connessione alla Fonte dei Dati
[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 vuole vb4
Caricamento gruppi esistenti...
Caricamento utenti esistenti...
Caricamento categorie esistenti...
Caricamento post esistenti...
Caricamento topic esistenti...
importazione gruppi...
15 / 15 (100.0%) [3272 elementi/min] n]
importazione utenti
117 / 11033 ( 1.1%) [145 elementi/min] in]