5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitLabをCentOS 7にインストール~502エラーになった場合の対応方法

Last updated at Posted at 2020-04-26

この記事の内容

今回は、会社でGitLabをインストールしたいけど、こわいのでまずは自分のさくらVPSにインストールしてみました。
その際行った以下の手順を説明します。

  1. さくらVPSのCentOS 7にGitLabをインストール
  2. 502エラーが発生したときの対処法

1ですが、GitLab推奨のOmnibusパッケージをインストールします。
Omnibusパッケージとは、GitLabを動かすためのDBとかWebサーバとかがすべて入った全部入りということです。
今後のバージョンアップとかを考えても周辺アプリも一緒に入れてあったほうが面倒なことに巻き込まれずに済むので基本はこちらを選択します。

2については、インストール直後とページ遷移時、2回出ました。
(どちらもちがう原因)

環境

環境は以下のとおりです。
・さくらVPSのCentOS 7(立ち上げて間もない)

#手順

さくらVPS設定

パケットフィルタ設定

右下のパケットフィルタ設定を開きます。
image.png

以下にチェックを付けます。
・SSH
・Web
・メール
image.png

CentOS 7をインストール

ほぼ、GitLab公式ページのとおりです。
特徴としては、相対URLにしているところくらいです。(http://XXXXXXX/ではなくhttp://XXXXXXX/gitlabにしている)

SSH有効化

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

ファイヤーウォール設定

HTTP、HTTPSポートの通信を許可します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

※Firewalldが起動していないというエラーが発生した場合は次のコマンドを実行してFirewalldを起動します。

sudo systemctl start firewalld

メールサーバ設定

自分でSMTP立てる場合は不要ですが、今はなにもないので追加します。

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

GitLabパッケージをインストール

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
# "http://XXX.XXX.XXX.XXX/gitlab"の部分は変更する
# XXX.XXX.XXX.XXXはIPアドレス
sudo EXTERNAL_URL="http://XXX.XXX.XXX.XXX/gitlab" yum install -y gitlab-ce

GitLabサービス起動

sudo gitlab-ctl start

GitLab接続確認

「GitLabパッケージをインストール」でEXTERNAL_URLに指定したアドレスにアクセスします。
※私はここで502エラーが出ました。。詳細は次項をご覧ください。

アクセス後にrootユーザのパスワード変更画面が表示されたら、画面の指示に従い変更します。
それでは快適なGitLabライフを!!

502エラー(応答時間が長すぎます)となる場合の対処法

GitLab起動直後の502エラー

GitLab起動後にさっそくアクセスしてみると、502エラー(応答時間が長すぎます)になりました。

困っていろいろ調べていると・・・何もしていないのにアクセスできていました。
なんと、ただ立ち上げに時間がかかっていただけでした!

コマンドは完了していても、立ち上げに時間がかかるみたいなので、みなさんも焦らずお待ちを!

ページ遷移時の502エラー

せっかくアクセスできて、プロジェクト作って遊んでいると・・・
またもや502エラーに!

どうやら、重すぎてnginxがタイムアウトしていたみたいです。
(nginxはGitLab Omnibusパッケージに入っているWebサーバアプリです)

GitLabの設定ファイルから、タイムアウト設定を変更しました。

/etc/gitlab/gitlab.rb
unicorn['worker_timeout'] = 600

設定を変更したあとは、再構成します。

sudo gitlab-ctl reconfigure

参考ページ

以下ページには大変お世話になりました。ありがとうございました。

・GitLabのインストール(GitLab公式ドキュメント)
https://about.gitlab.com/install/#centos-7

・ネコでもわかる!さくらのVPS講座 ~第七回「ファイアウォール”firewalld”について理解しよう」
https://knowledge.sakura.ad.jp/10583/?_ga=2.73043537.372784200.1587799144-1051214763.1587799144

・GitLabのアンインストール
https://qiita.com/yubaxp/items/75a6b6836b9f647b36ae
※エラーになったのでインストールやり直してみたときに参考にしました

・GitLabの merge requestで502が出て対処した話
http://innobase.hatenablog.com/entry/2014/09/15/195703

・相対URLを指定する方法(GitLab公式ドキュメント)
https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
※相対URLを変更する際に役に立ちそう

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?