exceedone / exment

Exment is open source software for managing information assets on the Web. / Exmentは、情報資産をWeb上で管理するための、オープンソースソフトウェアです。
https://exment.net/docs/#
GNU General Public License v3.0
267 stars 67 forks source link

バックアップファイルのzipをインポートするリストア操作を行うと、ログアウト後インストール初期画面になる #690

Closed tmmuras closed 4 years ago

tmmuras commented 4 years ago

Describe the bug / バグの説明 A clear and concise description of what the bug is. / バグの内容のかんたんな説明を記載してください。 ver3.2.4から作成したバックアップファイルのzipをダウンロード後、新しく構築したver3.3.1のExment(別サーバ) にてリストアメニューから取り込みを行うと、リストア成功のメッセージは出るが、 強制ログアウト後にインストール画面に遷移する。 その後php artisan exment:updateコマンドは実行して 再度ログインフォームのURLを叩くが、インストール画面にリダイレクトされてしまい、DBを削除して再構築するしかなくなる。

To Reproduce / 再現手順 Please describe the reproduction procedure in as much detail as possible. / 再現手順を、可能な限り詳細に記載してください。 上記オペレーション参照 ver違いの場合でなくても発生する。※ver3.2.4にて、同じサーバでバックアップファイルをリストアしても同様の現象発生

Version / 発生バージョン Please describe version. / ご利用のバージョンを記載してください。 ver3.3.1 (バックアップ元のverは3.2.4)

Error log / エラーログ If possible, paste error log. Log's path is "storage/logs/laravel.log". / 可能であれば、ログを貼り付けてください。ログのパスは"storage/logs/laravel.log"です。 laravel.log

Screenshots / スクリーンショット If possible, paste the screenshot. / 可能であれば、スクリーンショットを貼り付けてください。 image

Additional context / その他 Add any other context about the problem here. / その他に記載すべき内容がありましたら、ご記載ください。

hirossyi73 commented 4 years ago

こちら、すべての環境で発生する訳ではなく、特別な環境で発生する可能性があります。 もし発生した方がいらっしゃいましたら、なにか環境情報(移行前・移行後のOS・PHPバージョン・Mysqlバージョン)をいただけると幸いです。 再現手順までいただけると非常に助かります。

kohki-shikata commented 4 years ago

Same hereです。

Exment v3.6.4 AWS Lightsail CentOS7 Docker 1.13.1 Docker-compose 1.21.0 PHP7.2.33 MySQL 5.7.31(移行前と移行後の環境は同じ)

必要があれば、docker-compose.ymlも貼りますがいかがでしょうか。

サーバーのスナップショットをとっているので最悪復活は可能ですが、インフラの再設定が必要なので、できればアプリケーション側でリストアを成功させたいです。

tmmurasさんと手順は同じですが、念の為記述しておきます。

  1. S3に保存されていたバックアップデータzipをダウンロード
  2. Exmentをdocker-composeで立ち上げ、初期設定を済ませる
  3. Exment管理画面からリストアボタンを押す。
  4. トーストが現れ、ログイン画面へのリダイレクトがされる旨表示される
  5. リダイレクトされた後の画面はインストール画面。
  6. インストール手順を進めても、DBが既に存在するため完了できない
  7. PHPMyAdminでExmentのテーブルを全削除すると再インストールできる

これの繰り返しです。

何かわかりますでしょうか?

hirossyi73 commented 4 years ago

ありがとうございます。 一度、いただいた再現手順で、こちらの環境で再現するかどうかを確認します。 再現した場合、諸々の検証をさせていただきます。

hirossyi73 commented 4 years ago

@kohki-shikata すみませんdocker-compose.ymlもお願いします。

kohki-shikata commented 4 years ago

@hirossyi73 こちらになります。 https://github.com/kohki-shikata/docker-exment-template-verification

hirossyi73 commented 4 years ago

@kohki-shikata 調査していた所、Dockerのパッケージに、以下の内容が必要でした。 ・php\php.ini safe_mode=Off

・php\Dockerfile (最後に「default-mysql-client」追加) RUN apt-get update && apt-get install -y \ git vim unzip libxml2-dev libpng-dev default-mysql-client \

上記の内容の追加をお願いします。

(エンジン側でも、バックアップ・リストア実施前に、コマンド実施のバリデーションを追加するようにします)

hirossyi73 commented 4 years ago

https://exment.net/docs/#/ja/troubleshooting?id=%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%83%BB%E3%83%AA%E3%82%B9%E3%83%88%E3%82%A2%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B

マニュアルに、対処法を追記しました。

kohki-shikata commented 4 years ago

@hirossyi73 ご対応ありがとうございました。 ちょっと環境再現に時間がかかるので、確認できましたら、またここでご連絡します。

kohki-shikata commented 4 years ago

あと、補足なんですが、インストール時にライブラリ関係を一括してチェックするのが良いかもですね。 私が以前注力していたOSSのCMS、concrete5はそのようにしていました。 ご参考になれば…

hirossyi73 commented 4 years ago

おお、ありがとうございます。確かに、そのような確認ができると、非常に良いですね。 できないものがあると、リンク付きで導入方法へのページへ遷移する・・・ということも、考えてみます。

hirossyi73 commented 4 years ago

一度、こちらはクローズとさせてください。