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 基本チュートリアル: DML ステートメントの詳細な説明

目次DMLステートメント1. レコードを挿入する2. 記録を更新する3. シンプルなクエリレコード4...

Element-UI の Select と Cascader にポップアップ下部アクション ボタンを追加する方法

下図のように、 selectポップアップレイヤーの下部に操作ボタンを配置するのが一般的な設計方法です...

Mysql systemctl start mysqld によって報告されるエラーの解決策

エラーメッセージ:制御プロセスがエラー コードで終了したため、mysqld.service のジョブ...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

gbk utf8 GBK と UTF-8 ウェブページエンコーディングを正しく理解して使用する方法

Web ページ エンコーディングは英語では web page encoding と翻訳され、Web ...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

VMware ESXi6.7 の簡単なセットアップ(画像とテキスト付き)

1. VMware vSphere の概要VMware vSphere は、業界をリードする最も信...

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...

nginx の default_server 定義とマッチングルールの詳細な説明

nginx の default_server ディレクティブは、server_name と一致しない...

実用的なクイックスタートReactルーティング開発

インストールインストールするには、次のコマンドを入力します。 // ネプ npm で react-r...

HTML のメタタグの簡単な比較

メタ タグは、ファイル情報を定義し、検索エンジンによる検索を容易にするために Web ページ ファイ...

HTML テーブル マークアップ チュートリアル (18): テーブル ヘッダー

<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...