CentOS 8にGitLab CEをインストールして構成する方法

GitLabは、GitLab Incによって開発されたRailsをベースにしたオープンソースのリポジトリマネージャーです。これは、チームがアプリケーションのコーディング、テスト、デプロイを共同で行えるようにするWebベースのgitリポジトリマネージャーです。 GitLabは、Wiki、問題追跡、コードレビュー、アクティビティフィードなどのいくつかの機能を提供します。

GitLab Incは4つの製品を提供しています。

  • Gitlab CE(コミュニティ版)-セルフホスト型で無料。コミュニティフォーラムからのサポート。
  • Gitlab EE(Enterprise Edition)-セルフホストおよび有料。追加機能が付属しています。
  • GitLab.com-SaaSと無料。
  • GitLab.io-GitLab Inc.が管理するプライベートGitLabインスタンス

このチュートリアルでは、CentOS 8サーバーにGitLab CEをインストールする方法を示します。 GitLabが提供する「omnibus」パッケージを使用してGitLab CEをインストールし、GitLabの基本的な構成をいくつか行い、テストして新しいGitLabプロジェクトを作成します。

前提条件

このガイドでは、4GBのRAM、30GBの空きディスク容量、2つのCPUを備えた最新バージョンのCentOS 8サーバーにGitLab CEをインストールします。

何する?

  • パッケージ依存関係のインストール
  • リポジトリーの追加とGitLab CE(コミュニティー版)のインストール
  • SSL LetsencryptおよびDHPARAM証明書を生成する
  • GitLabでNginx HTTPSを有効にする
  • Firewalldを構成する
  • GitLabのインストール後
  • テスト中

ステップ1-パッケージの依存関係をインストールする

まず、OpenSSHパッケージやPostfixなど、GitLabに必要ないくつかのパッケージの依存関係をインストールします。

以下のdnfコマンドを使用して、GitLab CEのパッケージ依存関係をインストールします。

sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix

すべてのインストールが完了したら、SSHおよびPostfixサービスを開始します。

systemctl start sshd 
 systemctl start postfix

次に、両方のサービスをシステムブートに追加します。

systemctl enable sshd 
 systemctl enable postfix

その結果、パッケージ依存関係のインストールが完了しました。

ステップ2-リポジトリを追加してGitLabをインストールする

このステップでは、公式のGitLabリポジトリをCentOS 8システムに追加し、GitLab CEパッケージをインストールします。

以下のインストーラスクリプトを使用して、GitLabリポジトリを追加します。

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

すべてが完了すると、以下の結果が得られます。

Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <[email protected]>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <[email protected]>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.

GitLabリポジトリを確認するには、以下のdnfコマンドを実行します。

sudo dnf repolist

そして、リストにGitLabリポジトリーが表示されます。

次に、コマンドを使用してGitLab CEパッケージをインストールします

sudo dnf install gitlab-ce -y

すべてのインストールが完了すると、次のような結果が得られます。

その結果、GitLab CE Community EditionがCentOS 8システムにインストールされました。

ステップ3-SSL LetsencryptおよびDHPARAMを生成する

このチュートリアルでは、安全なHTTPS接続でGitLabを実行し、opensslコマンドを使用して生成できるLetsencryptおよびDHAPRAMからのSSL Letsencryptを使用します。

この手順では、EPELリポジトリからインストールできるcertbotコマンドラインツールを使用してSSL Letsencryptを生成し、opensslを使用してDHPARAM証明書を生成します。

以下のコマンドを使用して、EPELリポジトリをCentOS 8システムに追加します。 広告

sudo dnf install epel-release

次に、以下のdnfコマンドを使用してcertbotパッケージをインストールします。

sudo dnf install certbot

すべてのインストールが完了したら、以下のcertbotコマンドを使用してGitLab用のSSL Letsencrypを生成します。

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io

これで、SSL証明書が ‘/etc/letsencrypt/live/gitlab.hakase-labs.io’ディレクトリで利用できるようになります。次のコマンドを使用して確認します。

ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/

「fullchain.pem」および「privkey.pem」証明書を取得します。

次に、以下のopensslコマンドを使用して、DHPARAM証明書を「/ etc / gitlab」ディレクトリに生成します。

sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048

すべて完了したら、「dhparam.pem」証明書の許可を「0600」に変更します。

sudo chmod 600 /etc/gitlab/dhparams.pem

その結果、GitLabのSSL LetsencryptおよびDHPARAM証明書が生成されました。

ステップ4-ドメイン名を設定してGitLabのNginx HTTPSを有効にする

このステップでは、ドメイン名を設定し、GitLabのNginx HTTPSセキュア接続を有効にします。

‘/etc/gitlab’ディレクトリに移動し、構成「gitlab.rb」を編集します。

cd /etc/gitlab/
vim gitlab.rb

‘external_url’行で、デフォルトのドメイン名を自分のドメイン名に変更し、httpを以下のようにhttpsプロトコルに変更します。 広告

external_url 'https://gitlab.hakase-labs.io'

次に、 ‘external_url’行の後に次の構成を追加し、SSLおよびDHPARAM証明書を独自のものに変更します。

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"

保存して閉じます。

次に、次のコマンドを実行してGitLabを再構成し、新しい構成を適用します。

sudo gitlab-ctl reconfigure

このコマンドは、Omnibus GitLabを強化するChefスクリプトを呼び出して、GitLabインストールを再構成します。

すべてが完了したら、次のステップに進みます。

ステップ5-Firewalldを構成する

GitLabでHTTPSを有効にした後、HTTPおよびHTTPSサービスをファイアウォールに追加します。

以下のfirewall-cmdコマンドを実行します。

firewall-cmd --add-service=ssh --permanent 
 firewall-cmd --add-service=http --permanent 
 firewall-cmd --add-service=https --permanent

その後、firewalldサービスをリロードして新しい設定を適用します。

firewall-cmd --reload

次のコマンドを使用して、firewalldのすべてのサービスを確認します。

firewall-cmd --list-services

これで、SSH、HTTP、およびHTTPSサービスがリストに表示されます。

その結果、HTTPおよびHTTPSサービスがfirewalldに追加され、GitLabの準備が整い、アクセスできるようになりました。

ステップ6-GitLabのインストール後

Webブラウザーを開き、アドレスバーにGitLabドメイン名のインストールを入力します。鉱山は:https://gitlab.hakase-labs.io/、あなたのアドレスを使用します。

そして、あなたはパスワードのリセットページにリダイレクトされます。

GitLabのデフォルトパスワードのリセット

デフォルトのGitLabユーザー「 root 」の新しいパスワードを入力します。

次に、「 パスワード変更 」ボタンをクリックすると、GitLabログインページにリダイレクトされます。

デフォルトのユーザー「 root 」とパスワードを入力し、「 Sign in 」ボタンをクリックすると、以下のようなGitLabダッシュボードが表示されます。

プロファイルとユーザー名を変更する

GitLabダッシュボードにログインした後、デフォルトの「 root 」ユーザーを自分のユーザーに変更します。

プロファイル設定を変更するには、アイコンプロファイルの右上をクリックし、 [設定]アイコンをクリックしてプロファイルを設定します。

新しいユーザー名と電子メールアドレスを入力し、下部のページまでスクロールして、[ プロファイル設定更新 ]ボタンをクリックします。

次に、「 アカウント 」タブをクリックし、デフォルトのユーザー名「 root 」を自分の名前に変更してから、「 ユーザー名を更新 」ボタンをクリックします。

その結果、rootユーザーのデフォルトのユーザー名とメールアドレスが変更されました。

SSHキーを追加

次に、SSHキーをGitLabに追加します。 SSHキーを取得していることを確認します。取得していない場合は、次のコマンドを使用してSSHキーを生成できます。

ssh-keygen

これで、ユーザーのホームディレクトリ内の「 〜/ .ssh 」ディレクトリに生成されたSSHキーを取得します。

次に、GitLabダッシュボードに戻り、[SSHキー]タブメニューをクリックします。

SSH公開鍵のコンテンツ「 〜/ .ssh / id_rsa.pub 」をコピーしてGitLabページに貼り付け、「 追加 」ボタンをクリックします。

その結果、SSHキーがGitLabに追加されました。

アカウントごとのプロジェクト制限の設定

上部中央のメニューで、[ 設定]ボタンをクリックします。

さて、「アカウントと制限」セクションで、「 展開 」をクリックし「 設定」>「一般クリックしてください。

必要に応じて「 デフォルトのプロジェクト制限 」を変更し、「 保存 」ボタンをクリックします。

その結果、すべてのアカウントのデフォルトのプロジェクト制限が変更されました。

ステップ7-新しいプロジェクトを作成してコミットする

このステップでは、新しいGitLabプロジェクトを作成して、GitLabインストールをテストします。

新しいGitLabプロジェクトを作成する

GitLabで新しいプロジェクトを作成するには、右上のメニューの[ + ]プラグボタンをクリックします。

次に、プロジェクト名、プロジェクトスラッグ、説明の詳細を入力し、[ プロジェクト作成 ]ボタンをクリックします。

そして、新しいGitLabプロジェクトが作成されました。

ノートパソコンでGitLabをセットアップする

GitLabで新しいプロジェクトを作成したら、ローカルコンピューターにGitLabアカウントをセットアップします。

端末を開き、次のgitコマンドを実行して、gitのデフォルトのユーザーとメールアドレスを設定します。

git config --global user.name "hakase"
git config --global user.email "[email protected]"

次に、GitLabプロジェクトをローカルコンピューターのディレクトリに複製して、そこに移動します。

git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/

その結果、Gitのデフォルトのユーザーとメールが構成され、GitLabプロジェクトがローカルコンピューターに複製されました。

変更を加えてコミットする

これで、ローカルコンピューターにGitLabプロジェクトが作成されました。「README.md」ファイルを変更して、GitLabプロジェクトへの最初のコミットをテストします。

エディターを使用して「README.md」ファイルを編集します。

vim README.md

ファイルに変更を加えて、保存して閉じます。

その後、以下のコマンドを使用して、「README.md」ファイルの新しいバージョンを追加してコミットします。

git add .
git commit -m "Change README.md"

次のgit pushコマンドを使用して、GitLabリポジトリに新しい変更をプッシュします。

git push origin master

「README.md」ファイルの新しい変更がGitLabリポジトリにプッシュされました。

次に、WebブラウザーでGitLabリポジトリに戻ると、新しいバージョンの「README.md」ファイルが取得され、コミットコメントが上に表示されます。

その結果、新しいGitLabプロジェクトが正常に作成され、変更が加えられました。

最後に、CentOS 8サーバーへのGitLabのインストールと構成が正常に完了しました。

Source