# Migrer un forum Phorum vers Discourse

**URL:** https://meta.discourse.org/t/migrate-a-phorum-forum-to-discourse/128814
**Category:** Sysadmins
**Tags:** how-to
**Created:** [Septembre 17, 2019, 6:21 UTC](https://meta.discourse.org/t/migrate-a-phorum-forum-to-discourse/128814 "2019-09-17T18:21:00Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![lega4](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lega4/32/430878_2.png) [@lega4](https://meta.discourse.org/u/lega4)
#### Post date: [Juillet 11, 2024, 12:34 UTC](https://meta.discourse.org/t/migrate-a-phorum-forum-to-discourse/128814/4 "2024-07-11T12:34:16Z")

</div>

Merci pour les scripts !

Cependant, j’ai l’impression que le manuel est assez brut et peu clair. J’ai dû me référer, par exemple, au [guide de migration Xenforo](https://meta.discourse.org/t/migrate-a-xenforo-forum-to-discourse/45232) pour bien comprendre ce que vous suggérez ici. Laissez-moi ajouter quelques étapes manquantes :

- Avoir Discourse opérationnel
- Créer un mysqldump du Phorum original - tout est clair, tout va bien.
- Copier le dump de la base de données dans le dossier Discourse ` docker cp/path/to/backup/phorum_db.sql.gz app:/shared/phorum_db.sql.gz` (en supposant `app` comme nom de conteneur standard)  
Et voici les parties manquantes :
- Accéder au conteneur Docker de Discourse et y installer MySQL :

> ```plaintext
> docker exec -it app bash
> apt-get update && apt-get upgrade
> 
> ```

> ```plaintext
> # pv juste pour afficher la progression, lsb-release est requis par quelque chose
> apt-get install -y lsb-release pv mariadb-server mariadb-client libmariadb-dev
> service mariadb start
> 
> ```

Notez que l’installation de MySQL est un peu plus compliquée, mais Mariadb devrait fonctionner aussi bien.

Ensuite, créez une base de données : `mysql` → `CREATE database phorum`.

Puis remplissez-la à partir de la sauvegarde : `pv phorum_db.sql.gz | gunzip | mysql phorum` (pas besoin de gunzip si votre dump est un sql brut)

Ajoutez le support MySql à Ruby :

```plaintext
cd /var/www/discourse/
echo "gem 'mysql2'" >>Gemfile
bundle config unset deployment
bundle install --no-deployment

```

Modifiez les données dans le script de migration (identifiants de base de données, préfixe, permaliens) :

> `nano /var/www/discourse/script/import_scripts/phorum.rb`

> Et ensuite, revenez au guide du post original, tout va bien là-bas :
> 
> Lancez l’importateur avec une instance Discourse propre :
> 
> ```plaintext
> git config --global --add safe.directory /var/www/discourse
> bundle exec ruby script/import_scripts/phorum.rb
> 
> ```

Si votre base de données Discourse n’est pas vraiment propre, il est préférable de la nettoyer avec `bundle exec rake db:drop db:create db:migrate` au préalable.

Si cela échoue avec “PG::ConnectionBad: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "discourse" (PG::ConnectionBad)” :

> 1. **Si vous obtenez l’erreur `'Peer authentication failed for user \"discourse\"'`** :
> 2. Modifiez le fichier `/etc/postgresql/13/main/pg_hba.conf`
> 3. changez tous les ‘peer’ en ‘trust’ et enregistrez le fichier
> 4. rechargez le serveur postgres : ` /etc/init.d/postgresql reload` (ou peut-être `psql -U postgres -c \"SELECT pg_reload_conf();\"`, mais cela échouait parfois pour moi)

D’abord, il exécute les migrations d’utilisateurs qui peuvent être relativement lentes (~1.2k utilisateurs/minute selon la sortie du script. J’avais 100k utilisateurs, donc…). Ensuite, il crée les catégories et commence à migrer les messages et les sujets (même vitesse, ~1.2k/minute), mais à ce stade, vous pouvez déjà accéder au site web et voir à quoi cela ressemble.

Cela semble beaucoup plus fluide que ce à quoi je m’attendrais pour un moteur aussi ancien que Phorum. Il semble qu’il n’y ait pas de migration des messages privés (PM), mais cela ne devrait pas être un obstacle pour moi au moins.

Merci encore pour le script et les efforts !

---

_[View the full topic](https://meta.discourse.org/t/migrate-a-phorum-forum-to-discourse/128814)._
