Centos7にGitLabサーバーをインストールして展開する方法

Centos7にGitLabサーバーをインストールして展開する方法

私はここでCentOS 7 64ビットシステムを使用しています。CentOS 64ビットシステムを試してみましたが、うまくいきました。

1. 依存ソフトウェアをインストールする

yum -y インストール policycoreutils openssh-server openssh-clients postfix

2. 起動時に自動的に起動するようにpostfixを設定し、起動します。Postfixはgitlab送信機能をサポートしています

systemctl postfix を有効にする && systemctl postfix を開始する

3. GitLabインストールパッケージをダウンロードしてインストールします

CentOS 6 システムのダウンロード アドレス: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
CentOS 7 システムのダウンロード アドレス: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

私は Centos7 を使用しているため、https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 で gitlab8.0.0 バージョンを見つけました。新しいバージョンをダウンロードすることをお勧めします。ここでは実験記録用に古いバージョンを選択しました。

rpm パッケージをダウンロードしてインストールします。

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm を実行します。
rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm

4. GitLab設定ファイルを変更して、サーバーのIPとカスタムポートを指定します。

gitlab.rb を vim で開く

終了して保存

ps: ここで設定したポートは占有できないことに注意してください。デフォルトのポートは 8080 です。8080 がすでに使用されている場合は、他のポートをカスタマイズし、ファイアウォール設定で対応するポートを開いてください。

5. GitLabをリセットして起動する

次のコマンドを実行します

gitlab-ctl の再構成

gitlab-ctl を再起動する

OK: 実行: gitlab-git-http-server: (pid 3922) 1s
ok: 実行: logrotate: (pid 3929) 0s
OK: 実行: nginx: (pid 3936) 1s
ok: 実行: postgresql: (pid 3941) 0s
ok: 実行: redis: (pid 3950) 0s
ok: 実行: sidekiq: (pid 3955) 0s
ok: 実行: ユニコーン: (pid 3961) 1s

「ok: run:」というプロンプトは起動が成功したことを示します。

6. GitLabページにアクセスする

ドメイン名がない場合は、サーバーのIPと指定されたポートを直接入力してアクセスします。初期アカウント:root、パスワード:5iveL!fe

初回ログイン時にパスワードを変更する

7. GitLabのメール機能を設定するときは、1つ注意する必要があります

メール送信システムによって使用されるデフォルトの postfix である smtp はデフォルトで有効になっています。両方が有効になっている場合は、どちらも機能しません。
SMTPをオフにして、Postfixをオンに設定しました

SMTP メソッドをオフにする: vim /etc/gitlab/gitlab.rb

#gitlab_rails['smtp_enable'] = true を見つけて、gitlab_rails['smtp_enable'] = false に変更します。

変更後、 gitlab-ctl reconfigure実行します。

もう 1 つは、postfix をオフにして、smtp を有効にすることです。関連するチュートリアルについては、公式 Web サイト https://doc.gitlab.cc/omnibus/settings/smtp.html を参照してください。
電子メール通知が可能かどうかをテストします。

ログインしてユーザーを追加します。ユーザーの追加には QQ メールボックスを使用します。

QQ メールボックスにログインすると、メール通知が届きます (メールが届かない場合は、スパム メールボックスを確認するか、メールがブロックされて削除されていないか確認してください。ブロックされている場合は、ユーザーをホワイトリストに追加してユーザーを削除し、再度ユーザーを追加して通知を受け取ってください。それ以外の場合は、メール ログを確認し、関連する設定を行ってください)

障害処理記録

(1)ログイン502エラー

これは通常、権限の問題です。解決策: chmod -R 755 /var/log/gitlab

それでも動作しない場合は、メモリを確認してください。GitLab をインストールして使用するには、少なくとも 4GB の使用可能なメモリ (RAM + スワップ) が必要です。オペレーティングシステムやその他の実行中のアプリケーションもメモリを使用するため、GitLab をインストールする前に、現在のサーバーに少なくとも 4GB の使用可能なメモリがあることを確認する必要があります。メモリが 4GB 未満の場合、さまざまな奇妙な問題が発生し、使用中に 500 エラーが頻繁に発生します。

(2)gitlab-ctl reconfigureコマンド実行時にアカウント権限エラーが発生する

n itdb: 現在のユーザーに関する情報を取得できませんでした: 権限が拒否されました

リソース 'execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8]' でアクション `run` を実行中にエラーが発生しました

エラー メッセージによると、ユーザーの権限の問題がロックされている可能性があります。gitlab-ce をインストールすると、次の 4 人のユーザーが自動的に追加されます。

gitlab-www:x:497:498::/var/opt/gitlab/nginx:/bin/false

git:x:496:497::/var/opt/gitlab:/bin/sh

gitlab-redis:x:495:496::/var/opt/gitlab/redis:/bin/nologin

gitlab-psql:x:494:495::/var/opt/gitlab/postgresql:/bin/sh

Google や Baidu で解決策を見つけることができませんでした。エラー メッセージは権限の問題を示していたため、アカウントの権限を確認すれば問題はありませんでした。その後、/etc/passwd ファイルの権限が 600 であることがわかりました。644 の権限を付与した後、エラーは正常に解決されました。

Centos7 に GitLab サーバーをインストールしてデプロイする方法についての記事はこれで終わりです。 Centos7 に GitLab サーバーをインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Vueのイベント処理とイベント修飾子の詳細な説明

>>:  ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

推薦する

jsネイティブカルーセルプラグインの制作

この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

MySQLのバックアップとリカバリの詳細な説明

序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...

Docker ベースの ELK を素早く構築する方法

[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...

検索エンジンのウェブサイトの入り口の無料コレクション

1: Baiduウェブサイトログイン入口ウェブサイト: http://www.baidu.com/s...

VMware 仮想化 KVM のインストールと展開のチュートリアルの概要

仮想化1. 環境セントオス7.3 selinuxとファイアウォールを無効にする2. 仮想化環境の構成...

Django 2.2 を MySQL データベースに接続する方法

1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...

JavaScript における clientWidth、offsetWidth、scrollWidth の違い

1. コンセプトこれらはすべて Element の属性であり、要素の幅を示します。 Element....

HTML Selectは、デフォルトの選択を設定するためにselected属性を使用します。

オプションに属性 selected = "selected" を追加すると、それ...

HTML doctype の役割の紹介

ドキュメント モードには次の 2 つの機能があります。 1. HTML文書を解析するためにどのHTM...

あまり一般的ではないが便利な CSS 属性操作の完全ガイド

1. カスタムテキスト選択 ::選択{ 背景: 赤; 色: 黒; } 2. ビデオコントロールからダ...

Taobao の商品画像切り替え効果を実現する JavaScript

JavaScriptの服装アルバム切り替え効果(Taobao商品画像切り替えに似ています)、参考ま...

初心者がHTMLタグを学ぶ(1)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

Firefox または IE でスパン幅が決定されない場合の解決策

コードをコピーコードは次のとおりです。 <html xmlns="http://ww...