GitLab は、 Wiki と問題追跡を備えた無料のオープンソース フロントエンド Git リポジトリです。独自のサーバーで Git リポジトリをホストし、DevOps プラットフォームをセットアップできます。
このガイドでは、GitLab CE (Community Edition) を Debian 10 (Buster) システムにインストールします。
前提条件
- SSH アクセスが可能な Debian 10 サーバーのインスタンス。
- 8 GB 以上の RAM
- 20GB のハードディスク容量
- サーバーの IP アドレスを指す有効なドメイン名。
- sudo 権限を持つユーザー
(1) システムの更新
SSH を使用して Debian サーバーにアクセスし、システムのパッケージ リストを更新します。
$ sudo apt update
(2) GitLab の依存関係をインストールする
更新が完了したら、以下に示すように必要な依存関係をインストールします
$ sudo apt install ca-certificates curl openssh-server postfix
Postfix メール サーバーの場合、メール構成オプションが Internet Site であることを確認します。
次に、図のようにシステム メール名を入力し、ENTER を押します。
その後、システムはすべてのパッケージとその依存関係のインストールを自動的に完了します
(3) Gitlab CE をインストールする
最初に、示されているように、GitLab から /tmp ディレクトリにリポジトリ スクリプトをダウンロードします。
$ cd /tmp
$ wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
ダウンロードが完了したら、次のようにスクリプトを実行する必要があります
$ sudo bash script.deb.sh
これにより、GitLab リポジトリがセットアップされ、GitLab をインストールする準備が整います
リポジトリのセットアップが完了したら、次のコマンドを実行して GitLab CE をインストールします。
$ sudo apt install gitlab-ce
プロンプトが表示されたら、Y を押してから ENTER を押してインストールを続行します。
インストール中に、GitLab が構成されておらず、有効なホスト名が構成されていないことが通知されます。
さらに進んで、必要な構成を行います
(4) Gitlab の設定
GitLab のインストールを調整するには、github.rb ファイルを編集する必要があります。ここでは、vim エディターを使用してファイルを開きます。
GitLab のインストールを最適化するには、github.rb ファイルを編集する必要があります。vim エディターを使用してファイルを開きます。
$ sudo vim /etc/gitlab/gitlab.rb
external_url パラメータを検索して見つけます。次のように、ドメインに対応するようにフィールドを更新します。
以下に示すように、external_url パラメーターを検索して見つけ、ドメイン名に対応するようにフィールドを更新します。
external_url 'http://domain.com'
この例では、次のようにテスト ドメイン名を使用します。
external_url 'http://crazytechgeek.info'
次に、letsencrypt['contact_emails'] パラメータを見つけて、自分の電子メール アドレスを入力します。これは、Let s Encrypt SSL 証明書の有効期限切れリマインダーを受信するために使用されます。
letsencrypt['contact_emails'] = ['[email protected]']
最後に、ファイルを保存し、次のように GitLab インストールを再構成します。
$ sudo gitlab-ctl reconfigure
再構成には約 5 分かかります。構成が完了すると、GitLab Reconfigured! の出力が表示されます。
(5) Gitlabにアクセス
次のように Web ブラウザーからドメイン名にアクセスします。
http://domain.com
初めてアクセスすると、以下のログインページが表示されます。root ユーザー資格情報でログインします。
パスワードの変更を求められます
完了したら、[パスワードの変更] オプションをクリックして、ENTER キーを押します。次に示すように、GitLab ダッシュボードに移動します。
(6) Let's Encrypt SSLセキュリティ証明書を利用する
Let's Encrypt は、Web サイトを保護できるLets Encrypt 機関による無料のセキュリティ証明書です。GitLab 構成は
Let's Encrypt をサポートしています。このステップでは、安全な接続のために Let's Encrypt SSL を使用するように Gitlab
インスタンスを構成します。
Let's Encrypt は、Web サイトを暗号化するために Let's Encrypt によってライセンスされた無料のセキュリティ証明書です。GitLab は Let s Encrypt をサポートするように構成されています。このステップでは、安全な接続のために Let s Encrypt SSL を使用するように GitLab インスタンスを構成します。
gitlab.rb ファイルを編集する
$ sudo vim /etc/gitlab/gitlab.rb
次のパラメータを編集します。
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
1行目でLets Encryptの設定、2行目で証明書の自動更新を設定
それとは別に、毎月の自動更新の日時を次のように定義することもできます
letsencrypt['auto_renew_hour'] = 5
letsencrypt['auto_renew_day_of_month'] = "*/6"
URL を HTTP プロトコルではなく HTTPS プロトコルに設定する
external_url 'https://crazytechgeek.info'
変更を保存して構成ファイルを終了し、次のコマンドを再度実行します。
$ sudo gitlab-ctl reconfigure
すべてが計画どおりに進んでいることを確認するには、コマンドを呼び出します
$ sudo gitlab-rake gitlab:check
ブラウザをリロードすると、Let's Encrypt の SSL 証明書が有効になっていることがわかります。