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