*

CentOS7にGitLab 9をインストールして日本語化

公開日: : 最終更新日:2017/04/17 投稿者:raru Git, サーバ, バージョン管理

最近CentOS7にGitLabを入れて、日本語化してみました。
最近9が出たようで、あまり参考になるサイトもなく、詰まるポイントもあったため手順を記録します。

結論としては、ポイントは以下の3つでした。
・npm install
・bundle exec rake assets:precompile RAILS_ENV=production
・bundle exec rake webpack:compile RAILS_ENV=production

また今回インストールしたのはGitLab9.0.5になります。

GitLab9のインストール

基本的に公式サイトの手順に従うだけで完了します。

// これによりruby, postgres, nginx全てまとめてインストール、セットアップされる。
# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
# yum install gitlab-ce

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.

...
インストール:
  gitlab-ce.x86_64 0:9.0.5-ce.0.el7

完了しました!

これだけでいいの?  と思いますが、これだけでOKです。
ソースから入れたり、既存のnginxを利用したいなどあると思いますがその場合にはインストール後の設定で対応可能なようです。

GitLab初期設定

私もまだ構築中なので、設定そのものは参考程度に留めていただいた方が良いと思います。

// 手探りで初期設定。mail, https設定など不足。unicorn, redisは正直不明。デフォルトを利用するようにだけしてみたつもり
# cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.org
# vi /etc/gitlab/gitlab.rb
# diff /etc/gitlab/gitlab.rb.org /etc/gitlab/gitlab.rb
13c13
< external_url 'http://hogehoge'
---
> external_url 'http://hogehoge.com'
40a41
> gitlab_rails['time_zone'] = 'Asia/Tokyo'
518c519
< # unicorn['worker_timeout'] = 60
---
> unicorn['worker_timeout'] = 60
521c522
< # unicorn['worker_processes'] = 2
---
> unicorn['worker_processes'] = 2
524,529c525,530
< # unicorn['listen'] = '127.0.0.1'
< # unicorn['port'] = 8080
< # unicorn['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'
< # unicorn['pidfile'] = '/opt/gitlab/var/unicorn/unicorn.pid'
< # unicorn['tcp_nopush'] = true
< # unicorn['backlog_socket'] = 1024
---
> unicorn['listen'] = '127.0.0.1'
> unicorn['port'] = 8080
> unicorn['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'
> unicorn['pidfile'] = '/opt/gitlab/var/unicorn/unicorn.pid'
> unicorn['tcp_nopush'] = true
> unicorn['backlog_socket'] = 1024
578,581c579,582
< # postgresql['enable'] = true
< # postgresql['listen_address'] = nil
< # postgresql['port'] = 5432
< # postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
---
> postgresql['enable'] = true
> postgresql['listen_address'] = nil
> postgresql['port'] = 5432
> postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
655,656c656,657
< # redis['enable'] = true
< # redis['username'] = "gitlab-redis"
---
> redis['enable'] = true
> redis['username'] = "gitlab-redis"
660,661c661,662
< # redis['uid'] = nil
< # redis['gid'] = nil
---
> redis['uid'] = nil
> redis['gid'] = nil
722c723
< # nginx['enable'] = true
---
> nginx['enable'] = true
752c753
< # nginx['listen_addresses'] = ['*', '[::]']
---
> nginx['listen_addresses'] = ['*', '[::]']


// 設定を有効化
# gitlab-ctl reconfigure

// 状態の確認
# gitlab-ctl status
run: gitaly: (pid 12284) 26s; run: log: (pid 11807) 65s
run: gitlab-monitor: (pid 12336) 24s; run: log: (pid 12238) 38s
run: gitlab-workhorse: (pid 12296) 25s; run: log: (pid 11858) 63s
run: logrotate: (pid 12000) 55s; run: log: (pid 11999) 55s
run: nginx: (pid 11958) 57s; run: log: (pid 11957) 57s
run: node-exporter: (pid 12113) 47s; run: log: (pid 12112) 47s
run: postgres-exporter: (pid 12324) 24s; run: log: (pid 12195) 40s
run: postgresql: (pid 11522) 110s; run: log: (pid 11521) 110s
run: prometheus: (pid 12308) 25s; run: log: (pid 12070) 49s
run: redis: (pid 11410) 121s; run: log: (pid 11409) 121s
run: redis-exporter: (pid 12155) 41s; run: log: (pid 12154) 41s
run: sidekiq: (pid 11760) 71s; run: log: (pid 11759) 71s
run: unicorn: (pid 11705) 73s; run: log: (pid 11704) 73s

// ポートの開放。私はhomeで接続元許可とかしてるのでhomeに追加。
// 公開サーバであればzoneはpublicか未指定で。
# firewall-cmd --add-service=http --zone=home --permanent
success

GitLab日本語化

続いてGitLabの日本語化を行なっていきます。
ここからが問題になる場所で、日本語化途中にある assets:precompile が上手くいかないのです。
GitLab9自体が出たばかりで日本での報告はまだあまり見ませんが、海外ではいろいろとお話がされていました。

また日本語化パッチはまだ9.0.4までしか出ていないため、一部不具合が出るかもしれませんが現状特に問題なく日本語化できているっぽくもあります。

パッチの適用

まずはパッチの適用を行なっていきます。
nodeを7.7.4でインストールしているのは、海外のフォーラムで「私は7.7.4で動いたわ」っていうコメントを見かけたからになります。
おそらく最新で問題ないです。

// パッケージ準備
# yum remove nodejs
# yum install gcc-c++ git
# cd /usr/local/src/
# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
# source ~/.bashrc
# nvm install v7.7.4

// パッチファイルを取得
# wget https://raw.githubusercontent.com/ksoichiro/gitlab-i18n-patch/master/patches/v9.0.4/app_ja.patch

// patchコマンドをインストール
# yum install patch

// 日本語パッチの適用
# cd /opt/gitlab/embedded/service/gitlab-rails/
# patch -p1 < /usr/local/src/app_ja.patch

assets:precompile

問題のassetsのprecompileです。
どうやら最新のgitlabだとprecompile前に「/opt/gitlab/embedded/service/gitlab-rails/」のフォルダでnpm installしないといけないみたいです。
これを行わないとモジュールが不足しているためコンパイルできないという旨のエラーにハマります。

またさらに、ここで正常にコンパイルが成功してもGitLabは500エラーになっていました。
ログを見るとwebpackがどうこう言っていたので、そちらもコンパイルしてあげると、ちゃんと日本語化されて起動できます。

// 再コンパイルのために必要なnode_modulesを取得
// 一部エラーが出るが無視
# npm install

// 起動済みのため再コンパイル
# rm -rf public/assets
# export PATH=/opt/gitlab/embedded/bin:$PATH
# bundle exec rake assets:precompile RAILS_ENV=production

// precompileのみだと起動後にwebpackが云々でエラーになるのでこちらのコンパイルも行う
# bundle exec rake webpack:compile RAILS_ENV=production
# gitlab-ctl reconfigure
# gitlab-ctl restart

感想

今回は無駄に時間がかかってしまったことと、npm install時のリポジトリがないよ的なエラーは未解決です。
そちらもちょっと試してたのですが、サクッと解決できなかったため一旦置いています。実は問題ないんじゃないの、って思ってますがどうなんでしょうか。

自分が何か入れようとして最新を取得すると、だいたいつい最近メジャーバージョン上がったんだよねってなってて参考サイトがないこととが多々あります。
間が悪いですね。

関連記事

no image

RaspbianにZabbixをインストール

今回はRaspbianにZabbixをインストールしてみたいと思います。 前回のPidoraでは「

記事を読む

no image

Raspbianをwheezyからjessieにアップグレード

2015/04頃にdebianのバージョン8 jessieがリリースされたようです。 それに伴い、

記事を読む

no image

ZabbixからsSMTPを利用してエラー通知メール送信

今回はsSMTPを利用してRaspbian上のZabbix Serverからアラートメールの送信を行

記事を読む

no image

CentOS7 初期設定

しばらく振りになりますが、ひっそりとWordpressの移設を行っていました。 お仕事が多忙を極め

記事を読む

no image

DDNS(No-IP)をcronで更新

DDNSを利用してzabbix agentを導入できないかと思い、ひとまずDDNSの設定を行いました

記事を読む

no image

Raspberry Pi2/ラズベリーパイ2にFedoraをインストール

Raspberry pi2にFedoraがインストールできるという情報を入手したので2台目を購入して

記事を読む

no image

rsyncでsshの鍵を指定してデータ転送

今回は旧サーバから新サーバへいろいろ移設するために便利なrsyncの設定です。 設定というほどのも

記事を読む

no image

Raspbianでメール送信 ssmtp編

Raspbianで監視などをおこなっているとメールが送信したくなります。 とりあえず何かと管理用に

記事を読む

no image

RaspberryPI3にCentOS7をインストール (mac利用)

いつの間にやらRaspberryPI 3が発売し、さらにはCentOSまでもがraspberry p

記事を読む

no image

CentOS7にwordpressを移行

前の記事で初期設定を行ったサーバにwordpressを移設します。 wordpressの移設は案外

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑