Edition)は、主にGitリポジトリをホストするために使用されるオープンソースアプリケーションであり、問​​題追跡などの開発関連機能が追加されています。GitLabプロジェクトでは、簡単なインストールメカニズムを使用して、ハードウェア上にGitLabインスタンスをセットアップするのが比較的簡単です。デフォルトでは、GitLabは暗号化されていないプレーンなHTTP経由でページを提供します。SSLを介してページを提供し、送信中のデータを暗号化するように構成する必要があります。ログイン資格情報を傍受できる誰かがプロジェクトのコードベースを変更する可能性があるため、これはGitLabにとって非常に重要です。Encryptプロジェクトを使用すると、任意のWebサイトまたはWebアプリケーションの信頼できるSSL証明書を簡単に取得できます。Encryptは、証明書を要求しているドメインを所有していることを証明できる場合、すべての最新のWebブラウザーで信頼されている認証局によって署名された証明書を提供します。Encryptから取得した信頼できるSSL証明書を使用する方法を示します。これにより、ユーザーへのすべての発信通信が保護され、パスワード、コード、およびその他の通信が外部の第三者による読み取りや改ざんから保護されます。16.04サーバーにGitLabインスタンスをインストールする必要があります。GitLabをUbuntuにインストールして構成する方法16.04これをセットアップするためのガイド。Encryptから証明書を取得するには、完全修飾ドメイン名(FQDN)でサーバーを構成する必要があります。Namecheap、GoDaddyなど)。Aレコード*を作成してください。Encryptが証明書を発行するドメインを所有していることを検証する方法のために必要です。+`の証明書を取得する場合、検証プロセスが機能するためには、そのドメインがサーバーに解決される必要があります。このガイドを正常に完了するには、サーバーを指す有効なDNSレコードを持つ実際のドメインが必要です。EncryptクライアントであるCertbotをダウンロードしてインストールする必要があります。Certbotの開発者は、最新バージョンのソフトウェアを使用して独自のUbuntuソフトウェアリポジトリを維持しています。Certbotは非常に活発に開発されているため、このリポジトリを使用してUbuntuが提供するよりも新しいCertbotをインストールする価値があります。リポジトリを追加します。ENTER`を押す必要があります。その後、パッケージリストを更新して、新しいリポジトリのパッケージ情報を取得します。apt-get`でCertbotをインストールします。Encryptが証明書を発行する前に必要なドメイン所有権検証テストに正常に応答できるようにサーバーを準備できます。Encrypt認証局からSSL証明書を受け取るには、証明書が提供されるドメインを所有していることを証明する必要があります。ドメインの所有権を証明する方法は複数あり、それぞれがサーバーへのルートまたは管理者アクセスを必要とします。Webサーバーが含まれています。これにより、インストールはかなり自己完結型になりますが、Webサーバー自体を変更しようとすると、複雑さが増します。現在、組み込みのNginxはGitLab自体の提供に利用されているため、最適なドメイン検証方法はWebルート方法です。Certbotは既存のWebサーバーを使用して、ポート80でサーバーから既知のファイルを提供します。これにより、認証局は、証明書を要求している人がWebサーバーの管理制御権を持っていることを証明し、サーバーとドメインの所有権を効果的に証明します。GitLabのWebルートドメイン検証をセットアップするための最初のステップは、ダミーのドキュメントルートを作成することです。/var/www/letsencryptこれは通常のNginx操作では使用されませんが、Certbotではドメイン検証に使用されます。次に、このディレクトリを使用するためにGitLabのNginx設定を調整する必要があります。次のように入力して、メインのGitLab構成ファイルを開きます。/etc/gitlab/gitlab.rb内部では、GitLabのNginx構成ファイルにカスタムディレクティブを挿入する行を追加する必要があります。*セクションまでスクロールするのがおそらく最善ですが、行はどこにでも配置できます。次の行に貼り付けます。`ディレクトリ内にファイルを配置し、認証局が検証できるようにします。+`のリクエストを処理するようにNginxに指示します。終了したら、ファイルを保存して閉じます。次に、アプリケーションを再構成して、GitLabのNginx構成に変更を適用します。reconfigureこれで、ドメインを正常に検証するようにサーバーを設定する必要があります。Certbotで証明書をリクエストするGitLabのNginxインスタンスに必要なロケーションブロックが構成されたので、Certbotを使用してドメイン名を検証し、証明書を要求できます。certonly`サブコマンドを使用します。3つのオプションを指定します。-dメールアドレスを入力するように求められます。有効な電子メールアドレスを含めることが重要です。これは、証明書の有効期限やその他の重要な情報に関する電子メールを確実に受信する唯一の方法です。Encryptの利用規約に同意するよう求められます。Encryptはドメインの所有権を正しく検証できた場合、ドメインの証明書を発行する必要があります。次のような出力が表示されます。+`ディレクトリを見ると、作成されたすべての証明書とキーを見つけることができます。+`ファイルへのフルパスを知るだけで済みます。SSLを使用するようにGitLabを構成できます。GitLab構成を編集するGitLab構成ファイルを再度開くことから始めます。+`を指している可能性があります。*セクションに戻ります。次の行のコメントを解除して変更するか、単に追加します。リダイレクト行は、HTTPポート80への要求をHTTPSポート443に自動的にリダイレクトするようにNginxに指示します。+`ファイルのフルパスを指している必要があります。.完了したら、ファイルを保存して閉じます。ファイアウォールを通過するHTTPSトラフィックを許可する次に、GitLabのNginx設定をリロードする前に、サーバーのファイアウォールを通過するHTTPSトラフィックが許可されていることを確認してください。次のように入力して、この目的でポート443を開くことができます。(v6)次のように入力して、ポート443が開いていることを確認します。(v6)ご覧のとおり、ポート443が公開されています。SSLを有効にするためにGitLabを再構成する次に、GitLabを再構成して、変更を実装します。Encrypt証明書を使用してGitLabインスタンスにHTTPS経由でアクセスできるようになります。GitLabサーバーのドメイン名にアクセスして、これをテストできます。HTTPをHTTPSにリダイレクトするため、これはプロトコルを明示的に指定しなくても機能するはずです。http://ブラウザは、HTTPSを使用するように自動的にリダイレクトします。サイトがアドレスバーに保護されていることを示す何らかの表示が表示されます。SSL証明書で保護されるようになりました。Encryptの証明書は90日間のみ有効です。これは、ユーザーが証明書の更新プロセスを自動化することを奨励するためです。renew」を実行することでこれを処理します。+`に置かれたスクリプトによって提供されます。このタスクは1日に2回実行され、有効期限の30日以内に証明書を更新します。+`でドライランを実行できます。--dry-runエラーが表示されなければ、設定は完了です。必要に応じて、Certbotは証明書を更新し、Nginxをリロードして変更を反映します。Encryptは指定したメールにメッセージを送信し、証明書の有効期限が近づいていることを警告します。SSL証明書によって保護されるはずです。Webサーバーのセットアップよりも少し複雑ですが、GitLabは構成ファイル内のロケーションブロックをカスタマイズする機能を公開しているため、簡単に回避できます。GitLabインスタンスは安全になったので、プロジェクトの管理、コードリポジトリのホスト、継続的インテグレーションの構成に安全に使用できます。GitLabを使用してリポジトリへの各コミットを自動的にテストする方法については、https://www.digitalocean.com/community/tutorials/how-to-set-up-continuous-integration-pipelines-with-gitlab-の記事をご覧ください。CIによる継続的統合パイプラインのセットアップ]。