PHPBB3 のインポートが最初の段階で失敗

Discourse を新規にセットアップし、有効化しましたが、問題なく動作しています。変更は全く加えていません。PHPBB3 のインポートを実行しようとしたところ、SQL ダンプが呼び出される以前に非常に早期に失敗しています。ディレクトリの作成に問題があるようですが、その理由や修正方法がわかりません。

まず、以下のコマンドを実行します。

cd /var/discourse
cp containers/app.yml containers/import.yml
nano containers/import.yml

次に、import.yml を編集してテンプレート一覧にエントリを追加します。

その後、以下のコマンドを実行します。

/var/discourse/launcher stop app
/var/discourse/launcher rebuild import

しかし、ブートストラップに失敗し、failed に以下が表示されます。

FAILED

--------------------

Pups::ExecError: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y nano libmariadbclient-dev mariadb-server がエラーで終了しました。戻り値: #<Process::Status: pid 751 exit 100>

失敗場所: /pups/lib/pups/exec_command.rb:112:in `spawn'

exec が以下のパラメータで失敗しました: {"cmd"=>["mkdir -p /shared/import/mysql/data", "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8", "add-apt-repository 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu xenial main'", "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y nano libmariadbclient-dev mariadb-server", "sed -Ei 's/^log/#\&/' /etc/mysql/my.cnf"]}

35bdae869b75c936048af19f082aa5eded27d1ec77b9c53c48216d794775142d

** ブートストラップに失敗しました ** 上記にスクロールして、以前のエラーメッセージを確認してください。複数のエラーが含まれている可能性があります。

./discourse-doctor を実行すると問題の診断に役立つかもしれません。

この問題を修正しようと必死です。どこが間違っているか、どなたかご助言いただけますでしょうか?

これを少し深く掘り下げると、私が直面しているのと同じエラーが記載されているこの投稿に行き着きました。

修正方法は、リポジトリを最新の Ubuntu バージョンに更新することだったと気づきました。phpbb3.template.yml のこのセクションを変更しました。

cmd:
          - mkdir -p /shared/import/mysql/data
          - apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
          - add-apt-repository 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu xenial main'
          - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y nano libmariadbclient-dev mariadb-server
          - sed -Ei 's/^log/#&/' /etc/mysql/my.cnf

を以下に変更しました:

cmd:
          - mkdir -p /shared/import/mysql/data
          - apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
          - add-apt-repository 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu bionic main'
          - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y nano libmariadbclient-dev mariadb-server
          - sed -Ei 's/^log/#&/' /etc/mysql/my.cnf

しかし、使用されているキーが現在古くなっているため、まだ失敗しているようです。この仮説を検証するために、キーの更新についてお手伝いいただけませんか?

Ubuntu から Debian に切り替えたため、もう動作しなくなっています。
少し試してみたところ、以下の変更を適用すれば大体動作するようですが、どうやら MariaDB サーバーが自動的に起動しませんでした。時間ができたら確認します…

当面は、テンプレートに手動でこれらの変更を適用し、その後コンテナ内で service mysql stopservice mysql start を実行してサーバーを起動してみてください。これで動くはずです。

その修正はうまくいっているようです。インポートを続けて、進み具合を確認します。どうもありがとうございます。

import コンテナ内で import_phpbb3.sh を実行する際に問題が発生しています。以下のコマンドを使用して MySQL を再起動する必要がありました。

/etc/init.d/mysql stop

および

/etc/init.d/mysql start

その後、import コンテナに入ることができ、そこで import_phpbb3.sh を実行しましたが、失敗しました。

root@mydiscourse-import:/var/www/discourse# import_phpbb3.sh

The phpBB3 import is starting...

**Traceback** (most recent call last):

9: from script/import_scripts/phpbb3.rb:13:in `<main>'

8: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'

7: from script/import_scripts/phpbb3.rb:26:in `<module:PhpBB3>'

6: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `create'

5: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `new'

4: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:15:in `initialize'

3: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `create_database_client'

2: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `new'

1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'

/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect': **Access denied for user 'root'@'localhost' (** **Mysql2::Error** **)**

次にどのように進めるべきかご教示いただけますか?

もう一度お試しください。正常に動作するはずです。

cd /var/discourse
git pull
./launcher rebuild import

ありがとうございます。試してみましたが、残念ながらまだエラーが発生しています:

phpBB3 のインポートを開始しています...
**バックトレース**(最も最近のものから順):
9: from script/import_scripts/phpbb3.rb:13:in `<main>'
8: from script/import_scripts/phpbb3.rb:14:in `<module:ImportScripts>'
7: from script/import_scripts/phpbb3.rb:26:in `<module:PhpBB3>'
6: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `create'
5: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:9:in `new'
4: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:15:in `initialize'
3: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `create_database_client'
2: from /var/www/discourse/script/import_scripts/phpbb3/database/database.rb:39:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect': **データベース 'phpbb' が存在しません (** **Mysql2::Error** **)**

/var/discourse/shared/standalone/import/data/phpbb_mysql.sql が存在し、有効なデータベースダンプであることを確認してください。その後、/var/discourse/shared/standalone/import/mysql/imported を削除して、再度お試しください。

/var/discourse/shared/standalone/import/mysql/imported の削除が成功し、インポートが開始されました!インポート完了後に結果を報告します。

すべてうまくいったようです。現在、Sidekiq プロセスを実行しています。

gerhard さん、この件での尽力に心から感謝しています。私のストレスの多くが解消されました。本当にありがとうございます。