数ヶ月前に標準インストールを使用しました。nginx リバースプロキシを使用していますが、8 月から問題なく動作しています。
discourse-setup は実行しませんでした(まあ、5 秒ほど実行してセットアップスクリプトを実行し始めましたが、それをキルしてスナップショットから復元しました。./launcher rebuild app は実行しました)。
はい:「ログイン時に即座に自動的に実行されますか?」ログインして root に sudo su すると、自動的に実行されます。
Digital Ocean は使用していません。
root の .bashrc ファイルを確認したところ、最後の行は次のようになっています。
/opt/hostinger/scripts/discourse_conf.sh
それが何をするか見てみましょう。もしそれがずっとそこにあったわけではないなら、私がそれを追加したわけではないことに注意してください。
#!/bin/bash
clear
cd /var/discourse
if ./discourse-setup; then
clear
echo "Discourse is now installed. Log into your admin account in a browser to continue"
echo "configuring Discourse."
cp -f /etc/skel/.bashrc /root/.bashrc
else
echo ""
echo "-----------------------------------------------------------------------------"
echo "The setup script failed with the provided Discourse details."
echo "It will rerun. Please address the above issues."
echo "-----------------------------------------------------------------------------"
echo "When you are ready, press Enter"
echo "To cancel setup, press Ctrl+C and this script will be rerun on your next login"
read wait
fi
Hostinger が VM をホストしています。その行を削除して、ログインして su を再度試してみます。それが .bashrc ファイルにどのように入ったのか分かりませんが、確かに手動で追加したわけではありません。
はい、これで問題が解決しました。rc ファイルがそのように変更されるとは思いもよらなかったので、確認することもありませんでした。皆さん、助けてくれてありがとう、とても感謝しています!
bashrc のその行をコメントアウトした後:
cd /var/discourse
if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi
は次のように返します: not found
私にとっては、それが一度でも見つかったこと自体が奇妙です。
しかし、今(約 15 分後) ls -al ./discourse-setup を実行すると、次のように返されます: -rwxr-xr-x 1 root root 28715 Dec 23 23:24 ./discourse-setup
今 if ./discourse-setup; then echo 'found it'; else echo 'not found'; fi を実行すると、私が抱えていた問題が実行されます:「…Stopping existing container in 5 seconds or Control-C to cancel」
コメントを削除して再度ログインし、sudo su を実行すると、インストールの開始を求められましたが、discourse-setup スクリプトは作成されませんでした。では、discourse-setup はどのように作成されるのでしょうか?
discourse-setup スクリプトはどのように作成され、手動で削除できますか? 名前を変更しても、ログイン時に再作成されることはありません。/opt/hostinger/scripts/discourse_conf.sh の行が root の .bashrc にあってもなくても同様です。
次のようなメッセージは表示されませんでした。
echo "The setup script failed with the provided Discourse details."
echo "It will rerun. Please address the above issues."
画面がクリアされ、表示されたコメントは次のとおりでした。
The configuration file containers/app.yml already exists!
Saving old file as app.yml.2024-12-25-193919.bak
Stopping existing container in 5 seconds or Control-C to cancel.
diff ./.bashrc /etc/skel/.bashrc
118d117
< # /opt/hostinger/scripts/discourse_conf.sh
なぜその行が .bashrc ファイルに入ったのか全く分かりませんし、問題の際に表示されたテキストは /opt/hostinger/scripts/discourse_conf.sh ファイルに記載されているものとは異なりますが、問題は解消されたようです。
また、現在 ./launcher rebuild app を実行するか、VM を再起動すると、ウェブサイトにすぐにアクセスしようとすると 502 エラーが発生し、ウェブサイトが利用可能になるまで約 1 分かかります。過去にはこのようなことはなかったと思いますが、すぐにウェブサイトにアクセスしようとしたことがなかったのかもしれません。それについて何か考えはありますか?