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は動的に生成されたコンポーネントをドラッグアンドドロップする要件を実装します

推薦する

CentOS 8にJenkinsをインストールする方法

CentOS 8 に Jenkins をインストールするには、root アカウントまたは sudo ...

MySQLの読み書き分離により挿入後にデータが選択されなくなる問題を解決

MySQLは独立した書き込み分離を設定します。コードに次のものを書くと問題が発生する可能性があります...

MySQL で戻り値ありと戻り値なしのストアド プロシージャを書く 2 つの方法

プロセス1: 戻り値あり: proc_addNum が存在する場合はプロシージャを削除します。 プロ...

MySQL 5.7.16 無料インストール版のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.16のインストールと設定方法を記録します。具体的な内容は以下のとおり...

webpack-dev-server のコア概念とケースの詳細な説明

webpack-dev-server コアコンセプトWebpack の ContentBase と ...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

MySQL 同期遅延が発生したときに Seconds_Behind_Master が 0 のままになる理由

目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...

ウェブページサイズに関する調査

<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...

ElementUI の this.$notify.close() 呼び出しが機能しない問題の解決方法

目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...

MySQL における大規模オブジェクトのマルチバージョン同時実行制御の詳細な説明

MySQL 8.0: InnoDB のラージ オブジェクトに対する MVCCこの記事では、MySQL...

CSS3はウェブサイトの製品表示効果図を実現します

この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...

データ構造 - ツリー (III): 多方向検索ツリー B ツリー、B+ ツリー

多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...

Nginx リバース プロキシから go-fastdfs へのケースの説明

背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...