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

推薦する

MySQL における制限関数と合計関数の混在使用の問題の詳細な説明

序文今日、注文データを同期した後、同僚は、合計注文金額とデータソースの合計金額に差があったため、LI...

Windows での MySQL スケジュールバックアップ スクリプトの実装

Windows サーバーでデータベース データを定期的にバックアップする場合は、Windows タス...

CSS background-blend-modeの仕組みを深く理解する

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

Linux スクリプトの基礎を詳しく紹介

目次1. スクリプトvim環境2. シェルスクリプトで環境を定義する方法3. シェルスクリプト内の翻...

メモリ構成が過剰でMySQLが起動できない問題の解決方法

問題の説明MySQL の起動時にエラーが報告されます。エラー ログを確認してください。 [エラー] ...

エラー mysql テーブル 'performance_schema...解決方法

テスト環境は、JDBCドライバを使用してMariaDB 5.7でセットアップされています。 <...

IDEA を使用して Web プロジェクトを作成し、Tomcat に公開する方法

目次ウェブ開発1. Web開発の概要Tomcatのインストールと設定Tomcatをインストールする2...

MySQLとOracleの違いを簡単に説明してください

1. Oracle は大規模データベースですが、MySQL は小規模から中規模のデータベースです。O...

Centos8 の Django プロジェクトに nginx+uwsgi をデプロイするチュートリアル

1. 仮想環境virtualenvのインストール1. virtualenvをインストールするpip3...

CSSアニメーションがJSによってブロックされるかどうかについての簡単な議論

CSS のアニメーション部分は JS によってブロックされますが、transform のアニメーショ...

XHTML 入門チュートリアル: フォーム タグ

<br />フォームはユーザーが情報を送信するための重要なチャネルです。このセクションで...

HTML チュートリアル: 定義リスト

<br />原文: http://andymao.com/andy/post/104.h...

興味深いカウントダウン効果を実現するjs

js興味深いカウントダウンケース、参考までに、具体的な内容は次のとおりですコード: <!DO...

jsは古典的なマインスイーパゲームを実装します

この記事の例では、古典的なマインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有し...

MySQLはデータテーブル内の既存のテーブルを分割します

目次操作方法操作プロセス既存のテーブルにパーティション テーブルを作成し、データを新しいテーブルに移...