小さなパーソナルサーバーにGitLabをインストールし、PleskWebAdminサブドメインで動作するように構成しようとしました。私は通常、Omnibusパッケージを介してGitLabをインストールしました。 gitlab.rbファイルで次の設定を変更しました。
nginx['enable'] = false
web_server['external_users'] = ['www-data', 'PLESK_USER']
web_server['group'] = 'psacln'
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8181"
ここで、PLESK_USERは、そのpleskサブドメインにリンクされているユーザーです。
サブドメインでHTTPをHTTPSにリダイレクトしました。これは機能し、SSL証明書も機能します。
Pleskの「HTTPSの追加ディレクティブ」の下で、このページのテキストを<VirtualHost *:443>
タグに貼り付けました。 https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/Apache/gitlab-omnibus-ssl-Apache24.conf
そして、YOUR_SERVER_FQDNと3つのSSLCertificateFile行(/var/www/vhosts/system/fqdn/conf/last_nginx.confの下にあるものに置き換えました)
ドメインにアクセスすると、すぐに500エラーが発生します。これは、rootユーザーを作成する前です。メッセージはGitLab固有であり、GitLabロゴと対応するテキストが含まれているため、GitLab自体へのルーティングは機能しているようです。
プロダクションログでは、サイトにアクセスするたびに次の出力しか得られません。
Started GET "/-/metrics" for 127.0.0.1 at 2019-05-27 11:59:44 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms | Elasticsearch: 0.0ms)
gitlab-ctltailを使用します
==> /var/log/gitlab/gitlab-Rails/production.log <==
Started GET "/-/metrics" for 127.0.0.1 at 2019-05-27 12:01:29 +0000
Processing by MetricsController#index as HTML
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms | Elasticsearch: 0.0ms)
==> /var/log/gitlab/gitlab-Rails/production_json.log <==
{"method":"GET","path":"/-/metrics","format":"html","controller":"MetricsController","action":"index","status":200,"duration":2.64,"view":0.41,"db":0.0,"time":"2019-05-27T12:01:29.670Z","params":[],"remote_ip":null,"user_id":null,"username":null,"ua":null,"queue_duration":null,"correlation_id":"98970bd1-9618-41ea-85a2-5f59b26fd16b"}
これらのメッセージは、ブラウザのリクエストごとに1回だけ表示されます。
Sudo gitlab-rake gitlab:check --trace
は、不足している情報をさらに明らかにしません。具体的なエラーメッセージがないため、GitLabのインストール自体ではなく、PleskとGitLabの間のリンクに問題があると思いますが、この具体的な問題は他のどこにも見つからず、私は本当にアイデアがありません。何をチェックするか。
助けてくれてありがとう。
編集:/ var/log/gitlab/gitlab-workhorse/currentのログを確認し、アプリケーションの起動時(各再起動後)に次のエラーメッセージが表示されます
2019-05-27_13:11:49.39615 time="2019-05-27T13:11:49Z" level=error msg="unknown error" error="keywatcher: pubsub receive: EOF"
2019-05-27_13:11:49.39617 time="2019-05-27T13:11:49Z" level=info msg="redis: dialing" address=/var/opt/gitlab/redis/redis.socket network=unix
2019-05-27_13:11:49.39617 time="2019-05-27T13:11:49Z" level=error msg="unknown error" error="keywatcher: dial unix /var/opt/gitlab/redis/redis.socket: connect: no such file or directory"
ただし、最初に述べた設定を超えて設定を変更していないため、特定の構成への接続を実際に見つけることができません。
私は今この問題を解決しました。
「ツールと設定」-「ApacheWebサーバー」の下のPleskインターフェースで、モジュール「proxy_http」が有効になっていませんでした。モジュールを有効にすると、上記の構成で問題が完全に解決されます。うまくいけば、これは同じ問題で将来誰かを助けることができます。