CentOS 7にGitLab Community Edition(CE)11.xをインストールする方法

GitHubがMicrosoftに買収されて以来、かなりの数の開発者が独自のコードリポジトリをgithub.comから代替の自己ホスト型ソリューションに移行することを計画しています。GitLab Community Edition(CE)が最も一般的な選択肢です。洗練された柔軟なソリューションとして、GitLab CEはさまざまな方法で展開できますが、ここでは公式に推奨されている方法であるOmnibusパッケージのインストールのみを取り上げます。

前提条件

  • 4GB以上のメモリを備えた新しいVultr CentOS 7サーバーインスタンス。最大100人のユーザーにサービスを提供するには、8GB以上をお勧めします。そのIPv4アドレスがであるとし203.0.113.1ます。
  • sudoのユーザー
  • gitlab.example.com上記のインスタンスを指すドメイン。

注: 独自のサーバーインスタンスにデプロイする場合は、すべての例の値を実際の値に置き換えてください。

ステップ1:GitLab CEをホストするための基本的なタスクを実行する

SSHターミナルを起動し、sudoユーザーとしてCentOS 7サーバーインスタンスにログインします。

スワップパーティションを追加し、swappiness設定を微調整します

4GBのメモリを搭載したマシンにGitLab CE 11.xをデプロイする場合、スムーズな実行のために4GBのスワップパーティションをセットアップする必要があります。

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

注: 別のサーバーサイズを使用している場合、スワップパーティションのサイズは異なる場合があります。

システムパフォーマンスの目的で、カーネルのswappiness設定を次のような低い値に構成することをお勧めします10

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

catコマンドの出力はになります10

マシンのホスト名と完全修飾ドメイン名(FQDN)を設定する

次のコマンドを使用して、マシンのホスト名gitlab、およびFQDN を設定しますgitlab.example.com

sudo hostnamectl set-hostname gitlab
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF

結果を確認できます。

hostname
hostname -f

ファイアウォールルールを変更する

インバウンドHTTPおよびHTTPSトラフィックを許可します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

EPEL YUMリポジトリをインストールしてからシステムを更新する

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

システムが稼働中になったら、同じsudoユーザーとして再度ログインして次に進みます。

ステップ2:必要な依存関係をインストールする

GitLab CEをインストールする前に、必要な依存関係をインストールする必要があります。

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

また、Postfixを使用して通知メッセージを送信する場合は、Postfixをインストールしてファイアウォールルールを次のように変更する必要があります。

sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

Postfixをインストール/etc/postfix/main.cfしたら、実際のサーバー設定に従ってメインの設定ファイルを編集してPostfixを設定する必要があります。

注: 上記の手順に加えて、SMTPポート25でのVultrのデフォルトのブロックをキャンセルするには、サポートチケットを送信する必要があります。

または、別のメッセージングソリューションを使用する場合は、GitLab CEのインストール後にPostfixのインストールをスキップして、外部SMTPサーバーを使用することを選択します。

ステップ3:GitLab RPMリポジトリをセットアップしてからGitLab CEをインストールする

システムにGitLab CE RPMリポジトリをセットアップします。

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

次に、GitLab CE 11.xをインストールします。

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

インストールには時間がかかる場合があります。

最後に、お気に入りのWebブラウザでをポイントしhttp://gitlab.example.com、インストールを完了するように求められたら、新しいパスワードを送信します。

今後、以下の認証情報を使用して管理者としてログインします。

  • ユーザー名: root
  • パスワード: <your-new-password>

ステップ4:Let's Encrypt SSL証明書を統合してHTTPSアクセスを有効にする

これで、サーバーインスタンスにGitLab CE 11.xが正常にインストールされ、ユーザーは既にHTTPプロトコルを使用してサイトにアクセスできます。セキュリティ上の理由から、Let's Encrypt SSL証明書を統合してGitLabサーバーへのHTTPSアクセスを有効にすることをお勧めします。

viエディターを使用してGitLab CE構成ファイルを開きます。

sudo vi /etc/gitlab/gitlab.rb

次の2行を見つけます。

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

それらを適宜交換してください:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

保存して終了:

:wq!

次のコマンドを実行して、更新された設定を使用してGitLab CEを再構成します。

sudo gitlab-ctl reconfigure

再構成にはしばらく時間がかかります。

再構成が完了すると、すべてのユーザーはGitLabサイトにアクセスするときにHTTPSプロトコルを使用する必要があります。

注: HTTPからHTTPSに切り替えた後、レガシーCookieによりGitLab 422エラーが発生する場合があります。Cookieをクリアすると、この問題が修正されます。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。