この記事の内容
今回は、会社でGitLabをインストールしたいけど、こわいのでまずは自分のさくらVPSにインストールしてみました。
その際行った以下の手順を説明します。
- さくらVPSのCentOS 7にGitLabをインストール
- 502エラーが発生したときの対処法
1ですが、GitLab推奨のOmnibusパッケージをインストールします。
Omnibusパッケージとは、GitLabを動かすためのDBとかWebサーバとかがすべて入った全部入りということです。
今後のバージョンアップとかを考えても周辺アプリも一緒に入れてあったほうが面倒なことに巻き込まれずに済むので基本はこちらを選択します。
2については、インストール直後とページ遷移時、2回出ました。
(どちらもちがう原因)
環境
環境は以下のとおりです。
・さくらVPSのCentOS 7(立ち上げて間もない)
#手順
さくらVPS設定
パケットフィルタ設定
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の設定ファイルから、タイムアウト設定を変更しました。
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を変更する際に役に立ちそう