Les instructions doivent être mises à jour. Voici ce qui fonctionne pour moi à partir de novembre 2020. Notez qu’il est en effet préférable d’exécuter cette importation via screen, car l’importation peut prendre plusieurs heures, et l’utilisation de nohup risque de ne pas être utile car le script d’importation mettra constamment à jour le nombre d’éléments importés, ce qui risque de rendre le fichier stdout très volumineux.
Installer la base de données pour héberger les données vBulletin
Télécharger les derniers paquets
Notez que MySQL n’est plus disponible sauf si le dépôt Oracle MySQL est explicitement ajouté à la liste des dépôts. MariaDB a remplacé MySQL.
root@uat-app:~# apt-get update
root@uat-app:~# apt-get install libmariadb-dev
root@uat-app:~# apt-get install default-mysql-server
Démarrer la base de données
root@uat-app:~# service mysql status
[info] MariaDB est arrêté..
root@uat-app:~#
root@uat-app:~# service mysql start
[ ok ] Démarrage du serveur de base de données MariaDB : mysqld.
root@uat-app:~# service mysql status
[info] /usr/bin/mysqladmin Ver 9.1 Distrib 10.3.25-MariaDB, pour debian-linux-gnu sur x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.
Version du serveur 10.3.25-MariaDB-0+deb10u1
Version du protocole 10
Connexion via socket UNIX sur localhost
Socket UNIX /var/run/mysqld/mysqld.sock
Temps de fonctionnement : 4 sec
Threads : 7 Questions : 461 Requêtes lentes : 0 Ouvertures : 177 Rafraîchissements de tables : 1 Tables ouvertes : 31 Requêtes par seconde en moyenne : 115.250.
Installer les Gems pour la connectivité de la base de données
Ce qui suit montre que le dernier « bundle » n’apprécie pas certains des drapeaux dans les instructions originales et qu’il est nécessaire de désactiver le mode « 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] Le drapeau `--path` est déprécié car il dépend d'être mémorisé lors des invocations de bundler, ce que bundler ne fera plus dans les versions futures. Veuillez utiliser à la place `bundle config set path 'vendor/bundle'` et arrêter d'utiliser ce drapeau.
[DEPRECATED] Le drapeau `--without` est déprécié car il dépend d'être mémorisé lors des invocations de bundler, ce que bundler ne fera plus dans les versions futures. Veuillez utiliser à la place `bundle config set without 'development'` et arrêter d'utiliser ce drapeau.
Vous essayez d'installer en mode déploiement après avoir modifié
votre Gemfile. Exécutez `bundle install` ailleurs et ajoutez le
Gemfile.lock mis à jour au contrôle de version.
Si c'est une machine de développement, supprimez le gel du fichier /var/www/discourse/Gemfile en exécutant `bundle config unset deployment`.
Les dépendances dans votre gemfile ont changé
Vous avez ajouté au Gemfile :
* mysql2
* php_serialize
Mettre à jour la configuration et relancer l’installation
Vérifier via l’interface CLI
La vérification de la configuration a confirmé qu’elle est définie en mode « deployment ».
root@uat-app:/var/www/discourse# bundle config list
Les paramètres sont listés par ordre de priorité. La valeur supérieure sera utilisée.
deployment
Défini pour votre application locale (/var/www/discourse/.bundle/config) : true
jobs
Défini pour votre application locale (/var/www/discourse/.bundle/config) : 4
retry
Défini pour votre application locale (/var/www/discourse/.bundle/config) : 3
path
Défini pour votre application locale (/var/www/discourse/.bundle/config) : "vendor/bundle"
without
Défini pour votre application locale (/var/www/discourse/.bundle/config) : [:development, :test]
Vérifier en inspectant le fichier de configuration
Ce qui suit effectue la même vérification en inspectant le fichier de configuration.
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"
Mettre à jour la configuration
root@uat-app:/var/www/discourse# bundle config set path 'vendor/bundle'
Votre application a défini le chemin vers "vendor/bundle". Cela remplacera la valeur globale que vous définissez actuellement.
root@uat-app:/var/www/discourse# bundle config set without 'development:test'
Votre application a défini sans "development:test". Cela remplacera la valeur globale que vous définissez actuellement.
root@uat-app:/var/www/discourse# bundle config unset deployment
Valider à nouveau la configuration
root@uat-app:/var/www/discourse# bundle config list
Les paramètres sont listés par ordre de priorité. La valeur supérieure sera utilisée.
path
Défini pour votre application locale (/var/www/discourse/.bundle/config) : "vendor/bundle"
Défini pour l'utilisateur actuel (/root/.bundle/config) : "vendor/bundle"
without
Défini pour votre application locale (/var/www/discourse/.bundle/config) : [:development, :test]
Défini pour l'utilisateur actuel (/root/.bundle/config) : [:development, :test]
jobs
Défini pour votre application locale (/var/www/discourse/.bundle/config) : 4
retry
Défini pour votre application locale (/var/www/discourse/.bundle/config) : 3
Tenter à nouveau l’installation
Exécutez à nouveau l’installation pour les Gems et quittez le conteneur.
root@uat-app:/var/www/discourse# su discourse -c 'bundle install'
...........
Bundle terminé ! 125 dépendances Gemfile, 163 gems maintenant installées.
Les gems dans les groupes development et test n'ont pas été installées.
Les gems regroupées sont installées dans `./vendor/bundle`
root@uat-app:/var/www/discourse# exit
Créer un répertoire pour les données vBulletin
Créer le répertoire
[root@uat standalone]# pwd
/var/discourse/shared/standalone
[root@uat standalone]# mkdir vbulletin
Copier la base de données vBulletin
[root@uat standalone]# scp <login user>@<vbulletin server IP>:/home/backup/vbulletin/vbulletin-2020-11-14-03:30:01.sql.bz2 ./vbulletin/.
Décompresser la base de données 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
Configurer la source de données
Créer la base de données vb4
root@uat-app:/shared/vbulletin# mysql -uroot -p -e 'CREATE DATABASE vb4'
Entrez le mot de passe :
Importer vBulletin dans MariaDB
root@uat-app:/shared/vbulletin# mysql -uroot -p vb4 < vbulletin-2020-11-14-03\:30\:01.sql
Entrez le mot de passe :
Décompresser les archives de profil
[root@uat vbulletin]# tar xvfz signaturepics.tar.gz
[root@uat vbulletin]# tar xvfz customavatars.tar.gz
[root@uat vbulletin]# tar xvfz customprofilepics.tar.gz
Mettre à jour le mot de passe racine de la base de données
root@uat-app:/var/www/discourse# mysql -uroot -p
Entrez le mot de passe :
Bienvenue sur le moniteur MariaDB. Les commandes se terminent par ; ou \g.
Votre ID de connexion MariaDB est 77
Version du serveur : 10.3.25-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.
Tapez 'help;' ou '\h' pour l'aide. Tapez '\c' pour effacer la déclaration d'entrée actuelle.
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
Requête OK, 0 lignes affectées (0.001 sec)
MariaDB [(none)]> quit
Bye
Importer dans Discourse
Définir les détails de connexion de la source de données
[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 souhaite vb4
Chargement des groupes existants...
Chargement des utilisateurs existants...
Chargement des catégories existantes...
Chargement des messages existants...
Chargement des sujets existants...
importation des groupes...
15 / 15 (100.0%) [3272 éléments/min] n]
importation des utilisateurs
117 / 11033 ( 1.1%) [145 éléments/min] in]