CentOS7はGitlabをインストールします

はじめに:Ali [クラウドサーバー](https://cloud.tencent.com/product/cvm?from=10680)に独自のgitサーバーをインストールすると、お金を持っている人はcoding.netを使用できます。

基本システムと依存関係をインストールします##

Gitlabが依存するツールをインストールします###

yum -y update
yum -y groupinstall 'Development Tools'
yum -y install 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 git redis ruby sudo wget crontabs logwatch logrotate perl-Time-HiRes

[Redis](https://cloud.tencent.com/product/crs?from=10680)をインストールします###

[http://www.redis.io/download](http://www.redis.io/download)にアクセスして、** Redis **ソースコードをダウンロードしてください。

wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
make

コンパイルプロセス中にエラーが発生した場合は、次のコマンドを実行できます。

sudo make test

インストール:####

sudo make install
sudo ./utils/install_server.sh

構成####

/ etc / init.d / redisを作成し、起動スクリプトとして次のコードを使用します。

次のコンテンツを追加します。

###########################
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/etc/redis/6379.conf"case"$1"in
 start)if[-f $PIDFILE ]
  then
    echo "$PIDFILE exists, process is already running or crashed"else
    echo "Starting Redis server..."
    $EXEC $CONF
  fi
  if["$?"="0"]
  then
    echo "Redis is running..."
  fi
        ;;
 stop)if[!-f $PIDFILE ]
  then
    echo "$PIDFILE does not exist, process is not running"else
    PID=$(cat $PIDFILE)
    echo "Stopping ..."
    $REDIS_CLI -p $REDISPORT SHUTDOWN
    while[-x ${PIDFILE}]do
     echo "Waiting for Redis to shutdown ..."
     sleep 1
    done
    echo "Redis stopped"
  fi
        ;;
 restart|force-reload)
  ${0} stop
  ${0} start
        ;;*)
 echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}">&2
  exit 1
esac
##############################

保存後、実行権限を追加します。

sudo chmod +x /etc/init.d/redis

redisがシステムで開始できることを確認してください。

vi /etc/rc.d/rc.local

ファイルの最後に次の行を追加します。

service redis start

次に、上記と同じコマンドを使用して redisサービスを開始します。

service redis start

メールサーバーをインストールする###

yum -y install postfix

Git ###をインストールします

まず、システム内の古いバージョンの gitを削除します。

yum -y remove git
yum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel

公式ウェブサイトからソースコードをダウンロードします。

curl --progress https://www.kernel.org/pub/software/scm/git/git-2.4.0.tar.gz | tar xz
cd git-2.4.0/./configure
make
make prefix=/usr/local install

次に、次のコマンドを使用して、インストールが有効かどうかを確認します。

which git

ルビーをインストールする##

ルビーのバージョンが「2.0」よりも低い場合は、「ルビー」を再インストールする必要があります。

cd ~
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz | tar xz
cd ruby-2.2.2./configure --disable-install-rdoc
make
make prefix=/usr/local install

システムユーザーをGitlabに追加します##

adduser --system --shell /bin/bash --comment 'GitLab'--create-home --home-dir /home/git/ git

/ usr / local / binをgitユーザーの$ PATHに含めるには、1つの方法はスーパーユーザーファイルを編集することです。管理者として実行:

visudo

次に検索:

Defaults    secure_path =/sbin:/bin:/usr/sbin:/usr/bin

次のように変更します。

Defaults    secure_path =/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

データベースをインストールします##

MySQLはCentOS7ソースに含まれなくなり、代わりにMariaDBを使用します。最初に MariaDBの既存のパッケージを検索します。

rpm -qa | grep mariadb

次に、すべてを削除します。

rpm -e --nodeps mariadb-*

次に、 / etc / yum.repos.d / MariaDB.repoを作成します。

vi /etc/yum.repos.d/MariaDB.repo

以下をファイルに追加します。

# MariaDB 10.0 CentOS repository list - created 2015-05-0419:16 UTC
# http://mariadb.org/mariadb/repositories/[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

次に、次のコマンドを実行して MariaDB10.0をインストールします。

sudo yum install MariaDB-server MariaDB-client

次に、MariaDBサービスを開始します。

service mysql start

次に、 mysql_secure_installationを実行します。

mysql_secure_installation

MariaDBにログインし、対応するデータベースユーザーとデータベースを作成します。

mysql -uroot -p
CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';
SET storage_engine=INNODB;
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'git'@'localhost';
\ q

新しいユーザーでデータベースに接続してみてください。

sudo -u git -H mysql -u git -p -D gitlabhq_production
\ q

Gitlabをインストールします##

ソースのクローン###

sudo -u -git cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-10-stable gitlab

構成###

cd /home/git/gitlab

# Copy the example GitLab config
# GitLabサンプル構成ファイルをコピーします
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

# Make sure to change "localhost" to the fully-qualified domain name of your host serving GitLab where necessary
# 「localhost」をGitLabホストのFQDNに変更してください
#
# If you want to use https make sure that you set`https` to `true`. See #using-https for all necessary details.
# httpsを使用する場合は、必ず設定してください`https`にとって`true`。具体的かつ必要な詳細については、を参照してください。#using-https
#
# If you installed Git from source, change the git bin_path to /usr/local/bin/git
# ソースコードからGitをインストールした場合は、gitbinを変更します_パスは/usr/local/bin/git
sudo -u git -H editor config/gitlab.yml

# Make sure GitLab can write to the log/ and tmp/ directories
# GitLabがログを書き込めることを確認してください/そして臨時雇用者/目次
chown -R git {log,tmp}
chmod -R u+rwX  {log,tmp}

# Create directory for satellites
# 衛星用(?)ディレクトリを作成する
sudo -u git -H mkdir /home/git/gitlab-satellites
chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites

# Make sure GitLab can write to the tmp/pids/ and tmp/sockets/ directories
# GitLabがtmpに書き込めることを確認します/pids/そして臨時雇用者/sockets/目次
chmod -R u+rwX  tmp/{pids,sockets}

# Make sure GitLab can write to the public/uploads/ directory
# GitLabが公開に書き込むことができることを確認してください/uploads/目次
chmod -R u+rwX  public/uploads

# Copy the example Unicorn config
# Unicornのサンプル構成ファイルをコピーします
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb

# Enable cluster mode if you expect to have a high load instance
# Ex. change amount of workers to 3for 2GB RAM server
# 高負荷のインスタンスが予想される場合は、クラスターモードを有効にします
# 添付ファイル:2GBのメモリを搭載したサーバーのワーカー数を3に変更します
sudo -u git -H editor config/unicorn.rb

# Copy the example Rack attack config
# ラック攻撃のサンプル構成ファイルをコピーします
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb

# Configure Git global settings for git user, useful when editing via web
# Edit user.email according to what is setin config/gitlab.yml
# gitユーザーのGitグローバル設定を構成します。Web経由で変更する場合に便利です
# ユーザーを変更する.設定に従ったメール/gitlab.ymlの設定
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "gitlab@localhost"
sudo -u git -H git config --global core.autocrlf input

データベース構成##

# MySQL only:
# MySQLのみ:
sudo -u git cp config/database.yml.mysql config/database.yml

# MySQL and remote PostgreSQL only:
# Update username/password in config/database.yml.
# You only need to adapt the production settings(first part).
# If you followed the database guide then please doas follows:
# Change 'secure password'with the value you have given to $password
# You can keep the double quotes around the password
# MySQLとリモートPostgreSQLのみ:
# 構成内/database.ymlのユーザー名を更新します/パスワード;
# プロダクション設定を調整するだけで済みます(パート1)。
# データベースウィザードに従う場合は、次の手順を実行してください。
# 変更する'secure password'設定したものを使用してください$password;
# パスワードを二重引用符で囲むことができます。
sudo -u git -H editor config/database.yml

# PostgreSQL and MySQL:
# Make config/database.yml readable to git only
# PostgreSQLとMySQL:
# 設定を設定/database.ymlはgitでのみ読み取ることができます。
sudo -u git -H chmod o-rwx config/database.yml

Gems ###をインストールします

cd /home/git/gitlab

# For users from China mainland only
# 中国本土のユーザーのみ
nano /home/git/gitlab/Gemfile
source "http://ruby.taobao.org"//元のソース"https://rubygems.org/"

# For MySQL(note, the option says "without ... postgres")
sudo -u git -H bundle install --deployment --without development test postgres aws

Install GitLab shell

GitLab Shell ###をインストールします

GitLab Shellは、GitLab用に特別に開発されたSSHアクセスおよびソース管理ソフトウェアです。

# Go to the Gitlab installation folder:
# GitLabインストールディレクトリに移動します。
cd /home/git/gitlab

# For users from China mainland only
# 中国本土のユーザーのみ
nano /home/git/gitlab/Gemfile
source "http://ruby.taobao.org"//元のソース"https://rubygems.org/"

# Run the installation task for gitlab-shell(replace `REDIS_URL`if needed):
# gitlabを実行する-シェルのインストールタスク(交換`REDIS_URL`必要な場合):
sudo -u git -H bundle exec rake gitlab:shell:install[v1.9.6] REDIS_URL=redis://localhost:6379 RAILS_ENV=production

# By default, the gitlab-shell config is generated from your main gitlab config.
# デフォルトでは、gitlab-シェルの構成ファイルは、gitlabのメイン構成ファイルによって生成されます。
#
# Note: When using GitLab with HTTPS please change the following:
# - Provide paths to the certificates under `ca_file` and `ca_path options.
# - The `gitlab_url` option must point to the https endpoint of GitLab.
# - In case you are using self signed certificate set `self_signed_cert` to `true`.
# See #using-https for all necessary details.
# ヒント:HTTPS経由でGitLabを使用する場合は、次の変更を行ってください。
# - 証明書を提供するためのパスは`ca_file`と`ca_path`オプション
# - ` gitlab_url`オプションは、GitLabのhttpsエンドポイントを指している必要があります。
# - 自己署名証明書を使用する場合は、`self-signed_cert`にとって`true`。
# 必要なすべての具体的な詳細については、を参照してください。#using-https
#
# You can review(and modify) it as follows:
# 次の方法で確認(および変更)できます。
sudo -u git -H editor /home/git/gitlab-shell/config.yml

# Ensure the correct SELinux contexts are set
# Read http://wiki.centos.org/HowTos/Network/SecuringSSH
# 正しいSELinuxコンテキストが設定されていることを確認してください
# httpを読む://wiki.centos.org/HowTos/Network/SecuringSSH
restorecon -Rv /home/git/.ssh

データベースを初期化し、高度な機能をアクティブにします###

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
# Type 'yes' to create the database tables.
# When done you see 'Administrator account created:'

ヒント:管理者パスワードは、環境変数GITLAB_ROOT_PASSWORDで指定することにより、次のように設定できます。

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=newpassword

インストール初期化スクリプト###

初期化スクリプトをダウンロードします(/etc/init.d/gitlabに配置されます)。

sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
chmod +x /etc/init.d/gitlab
chkconfig --add gitlab

起動時に開始するようにGitLabを設定します。

chkconfig gitlab on

ログロールオーバーを設定する

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 assets:precompile RAILS_ENV=production

インスタンスを開始###

/etc/init.d/gitlab start

Recommended Posts

CentOS7はGitlabをインストールします
1.5Centos7をインストールする
Centos6はPython2.7.13をインストールします
CentOS7.2はMysql5.7.13をインストールします
CentOSはRedmineをインストールします
Centos7はPython3.6をインストールします。
CentOS7はDockerをインストールします
CentOS7はGlusterFSをインストールします
CentOS7.4はZabbix3.4をインストールします
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
Centos7はPython2.7をインストールします
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSインストールmysql
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
centOsはrabbitMQをインストールします
Centos7はNginxをインストールします
CentOS6.5はCDH5.13をインストールします
Centos7インストールdocker18
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp
CentOS8はMySQL8.0をインストールします
Centos6.3はKVMをインストールします
CentOSはPostgreSQL9.1をインストールします
CentOS7はJava1.8をインストールします
CentOS8はfastdfs6.06をインストールします
Centos7はPostgreSQLをインストールします
CentOS7はMySQL8をインストールします
CentOS7はJava1.8をインストールします
CentOS6はDockerをインストールします
centos6.5インストールzabbix4.4
Centos8はDockerをインストールします
CentOS6.8はpython2.7をインストールします
CentOSインストールnodejs8
CentOS6.5はGNS3をインストールします
centos7.5インストールmysql5.7.17
Centos7はMySQL8.0をインストールします-手動
CentOS7はKubernetes1.16.3をインストールします
VirtualBoxインストールcentos7
centos7インストールランプ
centos7をインストールして接続します
Centos7にDockerをインストールする
Centos7.4はLNMPをインストールします
Linux(centos7)ビルドgitlab
CentOS8インストールZABBIX4.4ガイド
Centos7にJavaをインストールする
CentOS6.5オフラインインストールMySQL5.6.26
Centos7にMySQL5.7をインストールします
セントスにphpをインストールする
CentosはMYSQL8.Xチュートリアルをインストールします