今日は、GitLabのインストール手順が分からない方に向けて、VirtualBoxの仮想環境上に構築したUbuntuに「GitLabをインストールする手順」を解説していきますね。
そもそもGitLabが何?という方は、こちらの記事をどうぞ↓
(GitLabのプロダクト紹介など、GitLabについての簡単な解説をしています)

導入環境は状況によって様々だと思いますが、大体おなじようなエラーでハマることもあるので、自分がGitLabのインストール時にハマったポイントなども織り交ぜつつ、インストール手順をお伝えしますね!
また、インストール要件/ハードウェア要件についても、公式サイトが推奨する内容をご紹介します。
なお、記事の執筆にあたっては、以下の書籍を参考にさせていただきました。
インストールの準備
インストール手順をみていく前に、まずはGitLabの公式が推奨するハードウェア要件やサポートしているOSなどについて確認しておきます。
GitLabの公式ドキュメントでは、Omnibusパッケージからのインストールが推奨されています。OmnibusパッケージでGitLabをインストールすることで、専用の管理コマンドなどが利用でき、GitLabのオペレーションを簡易に実施することが可能となります。
OSのサポート要件
GitLabがサポートしているOSは、64bit版の以下のLinuxディストリビューションに限定されています。(2019/03/13時点)
- Ubuntu
- Debian
- CentOS
- openSUSE
- Red Hat Enterprise Linux (please use the CentOS packages and instructions)
- Scientific Linux (please use the CentOS packages and instructions)
- Oracle Linux (please use the CentOS packages and instructions)
上記のOS以外ではOmnibusパッケージが用意されていないため、ソースコードからのインストールになってしまいます。
ハードウェア要件
GitLabを稼働する上で注意するハードウェアリソースは、
- CPU
- メモリ
- ストレージ
の3つになります。
GitLabを利用するには、最低2Core以上のCPUを用意しましょう。
1Coreでは、GitLabの操作処理とSidekiqなどのバックエンド処理が同じCore上で処理されてしまうため、動作が重くなります。(書籍情報)
また、安定稼働を目指すなら、4GB以上のRAM、2GB以上のSwap領域を確保すると良いみたいですね。
ここらへんのハードウェア要件を満たしていないと、仮に初期動作がうまくできたとしても、稼働するインスタンスのメモリが枯渇してしまい、Internal Server Error(500)が表示されてしまいます。
導入した後にそんな状況になってしまうと大変ですので、インストール前から気をつけておきましょう!
ミドルウェア要件
OmnibusパッケージでGitLabを導入すれば、ミドルウェア要件がすでに満たされた状態でインストール可能です。
GitLabは以下の5つの主要ミドルウェアによって構成されますので、概要だけでも理解しておくと良いかと思います。
参考にどうぞ。
GitLabのWebインターフェイス。「GitLab-Workhorse」や、「GitLab Pages」にProxyPass設定でリクエスト別にルーティングを行っている。
□参考サイト:nginx – Wikipedia
Ruby on Rails で作成されたアプリケーションを動かすためのアプリケーションサーバーで、GitLabでは主要アプリケーションの「GitLab-Rails」が稼働している。
□参考サイト:UnicornとNginxの概要と違い
データベースにはPostgreSQLが利用されていて、アクセスユーザーの権限や、Issues、Merge Requestsで利用する永続的なデータ情報などが保管される。
□参考サイト:PostgreSQL – Wikipedia
Sidekiqとは,複数のタスクをスレッド形式で同時に実行できるRailsの非同期処理ライブラリのこと。GitLabではメール処理などの重たいバッチ処理に利用されている。
□参考サイト:Sidekiq について基本と1年半運用してのあれこれ
「VirtualBox」のインストール手順
まずは、下記のダウンロードサイトからVirtualBoxをダウンロードします。
Windows環境の場合は「Windows hosts」を選択肢、Macの場合は「OS X hosts」を選択します。ここは、ご利用の環境に合わせたものを選択頂ければOKです。
公式サイト:Download VirtualBox

実際の開発現場などでは、Windowsマシンしか使えないことも多々あります。
VirtualBoxだと、そのような状況でもLinuxを仮想環境に構築できるので嬉しいですね。
インストール手順については、ネット上に情報が溢れているので検索して頂ければと。
■エンジニアの入り口
【初心者でもわかる】VirtualBoxインストール方法を詳しく!
この記事ではCentOSのインストールまで解説されていますが、とりあえずVirtualBoxの初期設定まで出来ればOKです。
「Ubuntu Server 18.04 LTS」のインストール手順
UbuntuServerを下記の公式サイトからダウンロードしていきます。
LTS版と通常版とありますが、特別な理由がない限りは、サポート期間の長いLTS版を選択しましょう。
公式サイト:Download Ubuntu Server

ここも、詳細な解説は省きますが、下記サイトの手順を参考にすれば問題なくインストールできるかと思います。
■侍エンジニア塾ブログ(Samurai Blog) – プログラミング入門者向けサイト
UbuntuServerにプロキシ設定を行う
上記の手順でインストールまでできたら、プロキシ設定をしていきましょう。
GitLabはチーム開発で使用するものなので、企業内のプロキシ環境下で構築する場合がほとんどだと思います。以下のコマンドを参考に、Ubuntuの環境設定ファイルにプロキシ設定を追加しておきましょう。
$ sudo nano /etc/environment http_proxy="http://proxy-server:port/" https_proxy="http://proxy-server:port/"
で、ここらへんの設定をしていないと、以下の記事で紹介されているようなエラーでハマります。ぼくもハマりました。
この辺りはよくハマるポイントでもあるので、気をつけてください。
プロキシ環境下でUbuntuをインストールした場合は、プロキシ設定を必ず実施する。
Ubuntuのソフトウェア更新(apt update/upgrade)
プロキシ設定ができたら、以下のコマンドでシステムをアップデートします。
$ sudo apt update $ sudo apt upgrade
ここまでできたら、Ubuntu Serverのインストールは完了です!
おつかれさまでした!
それでは最後に、GitLabのインストール手順をみていきますね。
GitLabのインストール手順
基本的には公式サイトで紹介されている手順を参考にすればOKです!
公式サイト:Omnibus package installation (recommended)
Omnibusパッケージによるインストールでは、以下の3Stepで設定を行います。
- 必要パッケージのインストールと設定
- OSパッケージマネージャによるGitLabのインストール
- GitLabの再構成
3Stepでインストール作業が完了したら、GitLabの管理画面へログイン可能となり、GitLabが利用できる状態となっていきます。
必要パッケージのインストールと設定
GitLabでは、送信専用のSMTPサーバーを利用して、アカウント登録時のメール認証やイベント通知を行います。そのため、事前の準備段階でSMTPサーバーから必要なドメインに対してメールを送信できるように設定を行う必要があります。
ということで、自社ですでに運用しているSMTPサーバーなどを使用するか、外部SMTPサーバーとして、GmailのSMTPサーバーを指定する方法のどちらかを選択しましょう。
1. 依存パッケージのインストールと設定
sudo apt install curl openssh-server ca-certificates postfix
2. GitLabパッケージのリポジトリへの追加とインストール
GitLabパッケージをリポジトリに追加します。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
プロキシ環境下で実行する際には、以下の方法で実行してください。
プロキシ環境下でインストールコマンドを実行する際には、プロキシ設定を行った上で、sudoで実行したいコマンドの直前に「-E」オプションをつけることにより、実行ユーザーの環境変数を引き継ぐことができます。
# httpプロキシ export http_proxy=http://proxy.example.com:8080 # httpsプロキシ export https_proxy=http://proxy.example.com:8080 # 「-E」オプションで実行 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
次に、「apt」コマンドからGitLabをインストールしていきます。
$ sudo apt install gitlab-ce
10分〜15分ほどでインストールが完了します。
3. GitLabの再構成後にブラウザでログイン
インストール作業だけでは、GitLabは動作しないので注意が必要です。
インストール後にはGitLabの構成ファイル [/etc/gitlab/gitlab.rb] を設定して再構成(reconfigure)を実行する必要があります。
再構成によって、GitLabの各コンポーネントが動的に設定され、サービスが起動します。
基本的に、構成ファイルに最低限設定が必要なのは、GitLabをインストールしたサーバーにIPアドレス指定でアクセスできるようにすることです。
ポート番号は各環境ごとに適当に書き換えてください。後々、サーバー側でポート開放の設定をするので、他のアプリケーションとポート番号が被っていなければOKです!
# ファイルを開く $ sudo nano /etc/gitlab/gitlab.rb # もともとの設定↓ external_url 'http://gitlab.example.com' # これに書き換える↓ external_url 'http://localhost'
変更後は、GitLabの再構成を実行して設定を更新します。
$ sudo gitlab-ctl reconfigure
GitLabのポート番号をデフォルトの80ポートで設定した場合は、Ubuntu Server側でもポート開放設定が必要になります。
# ポート「80」を開放 $ sudo ufw allow 80
ここまですれば、大抵の環境ではGitLabへアクセスできる状態かと思います。
もしうまくいかない場合は、以下のサイトなども参考にされてみてください。
■URL変更に関する記事
ここまでできたら、GitLabをインストールしたサーバーのIPにアクセスします。
ブラウザーで http://192.168.xxx.xxx
にアクセスします。
これでアクセスして、うまくGitLabの画面が表示されたらインストール完了です!

初期設定などは、下記のサイトを参考にどうぞ。
この記事の内容は以上です!
GitLabのインストールで悩んでいる方の参考になれば幸いです。
Ubuntuのファイアウォール設定に関する記事なども書いてみたので、こちらも参考にどうぞ。
