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 のツール

推薦する

MySQLの一般的なバックアップコマンドとシェルバックアップスクリプトの共有

複数のデータベースをバックアップするには、次のコマンドを使用できます。 mysqldump -uro...

Vue検証コードコンポーネントの使い方の詳しい説明

この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

Linux ネットワーク システムの紹介

目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Linux でファイルの権限 (所有権) を変更する

Linux と Unix はマルチユーザー オペレーティング システムであるため、ファイルの権限と所...

カルーセル効果を実現するための純粋なjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

ベースタグとは何ですか? また、それは何をするのですか?

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトの...

Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...

MySQL 5.1 のパスワードを変更し、MySQL データベースにリモートでログインする方法

mysql ユーザーを作成し、承認します。形式: 「ユーザー パスワード」で識別されるユーザー@ログ...

Docker ベースの Etcd 分散デプロイメントの方法と手順

1. 環境整備1.1 基本環境NTP設定: 省略 #時間の一貫性を確保するためにNTPサービスを設定...

jsは水平および垂直スライダーを実現します

最近、練習プロジェクトをしていたときにスライダーを使う必要があったので、調べてみました。まず、水平ス...

MySQL マスターとスレーブの不整合とその解決策の詳細な説明

1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...

MySQLデータ移行方法とツールの分析

この記事は主にMySQLデータ移行方法とツールの分析を紹介します。サンプルコードを通じて詳細に紹介さ...

vue3.0+echarts は 3 次元の縦棒グラフを実現します

序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...