CPanelとApacheを含むVMへのインストールが困難

皆さん、こんにちは!

これが私の最初の投稿です。

phpBBから来た新しいDiscourseユーザーです。
2週間前、Apacheはデフォルトでポート80と443を使用するため、Nginxを使用してDockerコンテナにDiscourseをインストールしました。インストールガイドとNginxマルチサイト構成のステップを注意深く実行しました。

1週間はフォーラムを実行して使用できましたが、プラットフォームに慣れるために時々ログインするだけでした。ユーザーの1人に登録してテストするように依頼したところ、翌日フォーラムがクラッシュしました。ブラウザに「このディスカッションフォーラムを支えるソフトウェアで予期しない問題が発生しました」というメッセージが表示されました。修正できなかったため、フォーラム全体を最初から再インストールし、最後に利用可能なバックアップからスレッドを復元しました。これは先週の木曜日でした。これらすべてを行った後、フォーラムは再び稼働しました。現在、Nginxの502 Bad Gatewayエラーで再び稼働しています。アプリの再構築に進みましたが、エラーで再びクラッシュしました。

Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 580 exit 1>.

これは先週何度も繰り返され、すべてを最初から再インストールすることになりました。まだ公開していないため、フォーラムは事実上非アクティブです。アクティビティなしでクラッシュし続けるとしたら、より多くのユーザーグループで何が起こるかと思うと恐ろしいです。これらのコマンドを実行してください:./launcher enter app

**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**

そして応答で、私の注意を引いたものが見えました:

connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: the database system is starting up

Postgresを手動で再起動し、再構築を再度実行しようとしましたが、このエラーメッセージでプロセスが再び中断されました。

**FAILED**
**--------------------**
**Pups::ExecError: if [ -f /root/install_postgres ]; then**
**/root/install_postgres && rm -f /root/install_postgres**
**elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then**
**socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1**
**fi**
** failed with return #<Process::Status: pid 18 exit 1>**
**Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'**
**exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container exit ; 1\nfi\n"}**
**bootstrap failed with exit code 1**

私はエラーを特定できるほど経験豊富なユーザーではありませんが、Postgresがいつか壊れるのではないかと疑っています。これが先週すべてを再起動してやり直すことにつながりましたが、これは誰にとっても一般的または健全な実践ではないと思います。

Discourseは、4コア、6GBのRAM、180GBのディスクスペースを持つサーバーで実行されています。現在、このDiscourseのインストールのみを実行しているため、私の理解では、ハードウェアによる制限はありません。

ようこそ、@Gustavo_Rip さん!お困りのこと、お察しいたします。

標準インストールを行いましたか?標準インストールでは、NginxもApacheも必要ありません(どちらもデフォルトでポート80と443を使用します)。どちらかがインストールされている場合は、開始前にアンインストールする必要があります。

マルチサイトは必要ですか?必要だとしても、まずは標準インストールを行い、その後このガイドに従うことをお勧めします:Setup Multisite Configuration with Let’s Encrypt and no Reverse Proxy。昨日、ある方を手伝ったのですが、正しいホスト名を使用し、Cloudflareをオレンジ色のクラウドで使用しなければ、問題なく動作するようです。

「いいね!」 2

pfaffmannさん、ありがとうございます!!

幸いなことに、私は簡単に諦めるような人間ではありませんが、これらの後続の問題は、特にこのプラットフォームに100%慣れていないため、心配です。

デフォルトでは、私のCloudServerにはApacheがインストールされており、それを削除するとCPanelやその他の機能に問題が発生します。最初のインストール中に試しましたが、nginxの方がはるかに優れていて高速だと読んだためですが、言及した問題が発生しました。そのため、サーバーのOSを再インストールし、この推奨事項に従って最初からやり直しました。

まだではありませんが、複数のサイトを持っているわけではありません。私のCloudServerは最大5つのアカウントを許可するためです。

標準のインストールについては、Docker、Discourse、Certbotをインストールし、Let’s Encrypt証明書をダウンロードするすべての手順に従いましたが、discourse-setupを実行したときに、上記のリンクに従って手動構成を実行し、app.ymlファイルを手動で構成して再構築を実行する必要がありました。

CPanelは全くお勧めしません。何も追加せず、Discourseのインストールをはるかに困難にします。また、CPanelがあると、Apacheがすでに邪魔をしているため、NGinxの手順に従うことができません。

ApacheとCPanelを削除できる場合は、そうしてください。できない場合は、別のホスティングサービスをお勧めします。

実際、お使いの環境では全く機能しない可能性があります。実行できますか?

docker run hello-world

「いいね!」 1

どのホスティングサービスをお勧めしますか?または、Discourseのインストールで最もよく使われているのはどれですか?

はい!このメッセージです:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

CPanelをインストールしないサービスなら何でも。推奨されているものについては、いくつかのトピックがあります。Digital Oceanは簡単です。

ああ。それなら、ApacheとCPanelを削除できれば、うまくいきます。これは、現在の状況から前進するための最も簡単な方法のようです。

もう一つの方法は、CPanelを維持し、既存のApacheをリバースプロキシとして機能させるように工夫することです。ただし、インストール固有の落とし穴が多すぎるため、人々がそれほど助けになれないため、自分でやる必要があります。

たくさんの提案があります:

pfaffman さん、お時間とご回答ありがとうございました!!

Apache と CPanel を削除することは、おそらくないと思います。クラウドサーバープロバイダーが、Discourse と同じポートを使用しないように Apache のポートを変更するか、Ferozo やその他のサービスのために CPanel を変更してくれるかもしれません。どうなるかわかりませんが、聞いてみます。

よろしくお願いいたします!

「いいね!」 1