Centos6でgitlabを構築する方法

Centos6でgitlabを構築する方法

序文

元のプロジェクトは、パブリックネットワークgitlabに配置されていました。セキュリティ上の理由から、グラフィカルインターフェイスを備えたセットがイントラネット上に構築されました。外部ネットワークgitから直接インポートできます。使用すると非常に便利であることがわかりました。インストールプロセスを記録しました。公式Webサイトを参照してください:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos直接そこに移動して見ることができます

基本環境のインストール (git\redis\ruby\mysql...)

yum -y groupinstall '開発ツール'
yum -y インストール readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git cmake libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs

yum -y python-docutils をインストールします
yum -y postfixをインストール
git --version #2.7.4 以降の git バージョンをインストールします yum -y remove git
yum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
mkdir /tmp/git && cd /tmp/git
curl --progress https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz | tar xz
git-2.9.0をインストールします
./configure
作る
プレフィックスを/usr/localにしてインストールする

yum remove ruby​​ ​​#2.1以上のRubyバージョンをインストールし、古いものを削除します mkdir /tmp/ruby && cd /tmp/ruby
curl --progress https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz | tar xz
ruby-2.1.9をインストールします
./configure --disable-install-rdoc
作る
プレフィックスを/usr/localにしてインストールする
gem をインストールします。bundler --no-doc
yum で Redis MySQL をインストール
/データ/アプリ/mysql/bin/mysqld_safe &
/データ/アプリ/mysql/bin/mysql -uroot
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> gitlabhq_production.* のすべての権限を、'git' で識別される 'git'@'localhost' に付与します。

Redisの設定

vim /etc/redis.conf

unixsocket /var/run/redis/redis.sock
unixsocketperm 0770
mkdir -p /var/run/redis
chown redis:redis /var/run/redis
chmod 755 /var/run/redis
/etc/init.d/redis を起動します
ユーザーmod -aG redis git

GitLab関連の設定

# 国内のソースを使用して、git をダウンロードします。外国は遅すぎる cd /home/git
sudo -u git -H git clone http://git.oschina.net/qiai365/gitlab-ce gitlab
cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -H エディタconfig/gitlab.yml
# 自分のホストに変更します host: iaasgit1.prod.bj1
sudo -u git -H cp config/secrets.yml.example config/secrets.yml
sudo -u git -H chmod 0600 config/secrets.yml
sudo chown -R git ログ/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w ログ/
sudo chmod -R u+rwX tmp/
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads/
sudo chmod 0700 パブリック/アップロード
sudo chmod ug+rwX,o-rwx /home/git/repositories/
sudo chmod -R u+rwX ビルド/
sudo chmod -R u+rwX 共有/アーティファクト/
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
nproc
sudo -u git -H エディタ config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git -H git config --global core.autocrlf 入力
sudo -u git -H git config --global gc.auto 0
sudo -u git -H cp config/resque.yml.example config/resque.yml
sudo -u git -H エディタ config/resque.yml

db部分をmysqlのみに設定する

sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H editor config/database.yml #本番部分のパスワードを設定します: "password"
sudo -u git -H chmod o-rwx config/database.yml

GitLab関連をインストールして起動

# gemをインストールする
cd /home/git/gitlab
sudo -u git -H バンドルインストール --deployment --without 開発テスト postgres aws kerberos

# GitLabシェルをインストールする
sudo -u git -H bundle exec rake gitlab:shell:install[v3.3.3] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
sudo -u git -H エディター /home/git/gitlab-shell/config.yml

# gitlab-workhorse をインストール
cd /home/git
sudo -u git -H gitクローン https://gitlab.com/gitlab-org/gitlab-workhorse.git
cd gitlab-workhorse
sudo -u git -H git チェックアウト v0.7.5
sudo -u git -H メイク

# データベースを初期化し、高度な機能を有効にする
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=パスワード GITLAB_ROOT_EMAIL=メールアドレス
cp lib/support/init.d/gitlab /etc/init.d/gitlab
cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
chkconfig gitlab オン
cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
sudo -u git -H bundle exec rake asset:precompile RAILS_ENV=production を実行します。
GitLabサービス開始

nginxの設定

yum で nginx をインストール
cp lib/support/nginx/gitlab /Data/apps/nginx/conf/include/gitlab.conf
ユーザーmod -a -G git nginx
chmod g+rx /home/git/
/Data/apps/nginx/conf/include/gitlab.conf #この設定でserver_nameを設定します

最後にチェック

cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
# GitLabを起動する
/etc/init.d/gitlab を再起動

# server_name に対応する URL を直接開き、スタイルが消えていることを確認します。 sudo -u git -H bundle exec rake asset:clean asset:precompile REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production を実行します。

最後に説明させてください

これは日々の操作の記録にすぎません。権限などの問題が関係している可能性があります。nginx\git が相互に権限を持っていることを確認してください。また、チェック スクリプトを使用して確認してください。プロンプトは非常にわかりやすく、通常は修正できます。成功をお祈りします。

途中で使用したyumは書き換えたパッケージのrpmを使用しているため、パスがデフォルトと異なります。デフォルトを使用する場合は、自分の状況に応じて変更するか、公式サイトを直接参照してください。これは、自分の環境に基づいて公式サイトを去勢したバージョンです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル
  • Dockerを使用してgitlabコミュニティの中国語版を構築する詳細なプロセスを教えます
  • Dockerを使用してプライベートGitLabを構築する2つの方法
  • Docker ベースの GitLab 環境をデプロイする方法と手順
  • CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル
  • Centos7はdockerを使ってgitlabサーバーを構築する
  • Docker の例を使用して GitLab を構築する方法
  • GitLab で独自のプライベート GitHub リポジトリを構築する手順
  • Dockerを使用してgitlabを構築する詳細な説明
  • CentOS7 でローカル GitLab サーバーを構築する

<<:  CentOS 7.0 (mysql-5.7.21) で複数の MySQL インスタンスを起動する方法

>>:  Vueは動的に生成されたコンポーネントをドラッグアンドドロップする要件を実装します

推薦する

ボタンの 4 つのクリック応答方法の概要

ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

mysql バックアップ戦略の実装 (フルバックアップ + 増分バックアップ)

目次設計シナリオ技術的なポイントサーバー情報準備フルバックアップスクリプト(Mysql-FullyB...

Docker が elasticsearch を起動するときのメモリ不足の問題と解決策

質問Docker が elasticsearch をインストールして起動するときにメモリが不足するシ...

すべてまたは逆の選択機能を実現するJavaScript

この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...

vmware workstation12 インストール CentOS プロンプト VMware Player と Device/Credential Guard に互換性がない、理由と解決策

最新バージョンの WIN10 では、Microsoft は仮想化コンテナに基づくセキュリティ メカニ...

MySQLはランダムに一定数のレコードを抽出します

以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

CocosCreatorでスワイプした位置にテクスチャを表示する方法

目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...

vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する

目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...

シェルスクリプトを使用して Docker サービスを一括で開始および停止する

目次Dockerを起動するDockerを停止するPython 呼び出しスクリプト最近、日々のテストで...

MySQLのトランザクション管理操作の詳細な説明

この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...

MySQL ロール関数の紹介

目次序文: 1. 役割の紹介2. 役割に関連する操作要約:序文:前回の記事では、MySQLの権限管理...

js Promise同時制御メソッド

目次質問背景アイデアと実装質問次のように、同時実行 Promise の数を制御するメソッドを記述する...

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...