GiLlabに 502 Whoops と怒られる

事象

gitlabをインストールして、起動させようとすると以下のURLの様なエラー画面が表示される。
エラーメッセージには、「502 - Whoops, GitLab is taking too much time to respond」としか書いておらず、何が原因か分からない。
gitlab.com

結論

原因

pumaのポート番号が、同じサーバーに立ててあるRedmineUnicornと被ってたため

対応方法

gitlab.rbのpuma['port']のコメントアウトされている箇所を外し、別のポート番号に修正した

#puma['port'] = 8080
puma['port'] = 8079 

調査過程

サーバー/ミドルウェア構成

AWS EC2 CentOS7
・GitLab 13.0.6(cat version-manifest.txt)
Apache HTTP Server 2.4.43(nginxは既にApacheが鎮座してたので使わず)
Redmine with Unicorn 3.3.4 stable

調べた事

上記画面の内容では全く分からないので、ログ置き場(デフォルト /var/log/gitlab)に移動した。
ls -ltrコマンド打ったら、いろいろログが書かれていた。そこで、PUMA(GitlabのAPサーバー)のディレクトリに移動した。
ディレクトリの中にあるcurrentというファイルに直近のログが書かれるみたいなので、ログを眺めていると、"addres already in use"とよく見かける文言を発見した。
調べたところ、同じ筐体で稼働させているRedmineUnicornが8080を使っており、GitLabのPUMAのデフォルトも8080なので被ったようである。(※1)
なかなか分からなかったのは、redmin.rbのファイル内にpuma['port']やpuma['enable'] がコメントアウトされているので、デフォルト値が採用されているというのが気付くのが遅れてしまった。

※1
なお、GitLabは以前はUnicornで稼働していたが、現在のバージョンではPUMAがデフォルトのようである。

最終的に修正した箇所

(gitlab.rb)

external_url 'https://www.yoneyore.jp/gitlab' #httpsにする、gitlabのホームURLを指定

gitlab_rails['time_zone'] = 'Asia/Tokyo' #必要に応じて設定

gitlab_workhorse['listen_network'] = "tcp" #Apacheを経由する場合必要
gitlab_workhorse['listen_umask'] = 000
gitlab_workhorse['listen_addr'] = "127.0.0.1:8081" #フロント(gitlab_workhorse)側のポート番号

nginx['enable'] = false # Apache使う場合は変更必要

puma['enable'] = true #コメントアウトしててもデフォルト起動するが、それでは分かりにくいので宣言しておく
puma['port'] = 8079 #ここが今回の修正の肝

(conf.d/gitlab.conf)

 <Location /gitlab>
    Require all granted

    ProxyPassReverse http://127.0.0.1:8081
    ProxyPassReverse http://www.yoneyore.jp/gitlab

    RequestHeader set X-Forwarded-Proto 'https'
    RequestHeader set X-Forwarded-Ssl 'on'

#正直、以下の定義が必要なのかどうかよく理解できていない。。。
    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_URI} ^/uploads/.*
    RewriteRule .* http://127.0.0.1:8081%{REQUEST_URI} [P,QSA,NE]
</Location>