debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する

debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する

debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する

debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する へのコメントはまだありません

CentOSにGitLabを導入するメモを書いたら妙にアクセス数が多かったので、debian系OSでGitLab6.6.5(バージョンはあまり気にしなくても、同じ手順でOKです。)を公開する方法を書いてみようと思います。CentOSの時はホストするWebサーバーをApacheとしましたが、今回はnginxのサブフォルダで公開する方法をお伝えします。

実際には debian wheezy 7.4でしか動作検証していません。Ubuntu、LMDEでも問題ないと思いますが、もし不都合等発見された場合は、コメント欄にコメントいただけると助かります。

前半は、GitLab自体がRuby On Railsのプロジェクトであるので、Railsの環境構築をすることになります。後半はGitlabのインストール、nginxとの連携となります。長いけど、頑張っていきましょう!

追記

Ubuntu 12.04.4 Serverでの検証終了。デフォルトで用意されているRubyのバージョンが1.8でしたので、問題ありです。PPAのリポジトリを追加し、Ruby2.1を導入することで、無事GitLab環境を構築できました。
(PPA追加のあたりも記載済みです。)

前提条件

Webサーバーにnginxを用います。

Railsとnginxの連携はpassengerで行います。

GitLabはnginxのサブフォルダで公開します。

公開ホスト名を www.myhost.jp とする。

GitLab公開URLを http://www.myhost.jp/gitlab とする。

git ユーザーの作成と sudo権限

これがベストな方法か、少々疑問ですが、作業はすべて新規に作成するgit ユーザーで行ってください。

gitユーザーのパスワードはお任せします。

gitユーザーをsudo可能なユーザーに加えます。

必要なパッケージ群インストール

あまり深く考えずに、以下のパッケージをドカーンとインストールしちゃってください。

gemrc作成

これはRubyのお作法みたいなものなので気にせずにこの通りやってみてください。

gem インストール時にドキュメントインストールなどを省略します。

Ruby/Rails インストール

Rubyのバージョン 1.9 以上が用意されているディストリビューションの場合。
(ここ最近のものであれば OKなはずです。)
Ubuntu12.04は Ruby1.8 なので、ここを飛ばして、次の項目に進んでppaからRuby2.1をインストールしましょう。

Ubuntu 12.04の場合

REDIS起動、起動設定

これで、前半終了です。次からGitLabのインストールに入ります!

Gitlab-shellのインストール

以下のURL指定の部分を調整(gitlabをホストするURLを記述)

インストール実行

gitlabインストール

githubからソースをクローンします。(ダウンロードかなり時間食います。合計70mbぐらい)

ホスト名設定(gitlabをホストするURLを記述)、相対ルートの設定

相対パスの設定

この最後の行を追加するのがわからずに数時間悩みました・・・・

Mysqlのユーザ名、パスワードを設定(Productionモード)

バンドルインストール(かなり長い時間を要します)

私の環境では一度目のbundle install で以下のようなエラーが出ましたが、コネクション リセット なので、再度同じコマンド(上のもの)を実行して無事終了しました。

不足フォルダ作成

データベース作成

英語で、前のデータが失われるよ。新規のデータをseedから作るけどいい?みたいなメッセージが出ますが、 yes と入力して続行してください。

最後に出力される、ログイン名とパスワードをメモっておきます。

login………admin@local.host
password……5iveL!fe

起動スクリプト作成、設定

GitLabのサイトには puma(Ruby製アプリケーションサーバー)と連携する起動スクリプトしかなかったので、それをベースにpassengerで連携して利用するための起動スクリプトを作成しました。以下の手順でダウンロードできます。

nginxインストール

passengerと連携してGitLabをnginx配下で運用するので、nginxをソースからコンパイルします。(あまり難しく考えずに、以下の通りやれば、うまく行きます)

passengerのgemインストール

passenger 連携のために、nginxコンパイル

コンパイル前にチェックが走り、curl-config が無いよ的なエラーが表示された場合は、

他のエラーの場合は、ご自身でお調べください。
エラーが消えるまで以下を繰り返してみる。

無事チェックを通過すれば、コンパイルするかと聞いてくるので、1を選んでコンパイルする
めでたくコンパイルが始まる。(そこそこ待ちます。)
インストールが完了するとnginxの設定ファイルに passengerの場所が書きこまれます。

/opt/nginx フォルダ権限調整

nginxの設定確認と、起動。

-t オプションで設定ファイルをチェックし、OKならば、一旦起動してみて、ブラウザーで http://localhost として、nginxのトップページが開ければOK。

として、nginx: master process となるプロセスIDを殺すと止めることができます。

nginx passenger連携設定

passengerの場所は、インストール時に自動的に組み込まれているので、その他の項目の調整。

http://www.myhost.jp/gitlab で公開する。

以下の部分を追記
注意点!!! pidの行は、pidと /opt/nginx/logs/nginx.pid の間はタブで区切ってください!
(後に設定する、起動スクリプトでこの部分の設定を読み込むため)

起動スクリプト作成

いちいち、/opt/nginx/sbin/nginx としたり、pidを探してKillするのは面倒なので、起動スクリプトを作成。この起動スクリプトは apt-get でインストールされたものを、調整したものです。

調整箇所は DEAMONのパスとnginx設定ファイルのパス。両方フルパスで指定しておきました。

ここからダウンロードできます。
nginx起動スクリプト

起動スクリプトコピー、サービス登録。

これで、

もしくは

など使えるようになります。

nginx(www-data)ユーザーをgitグループに加える

nginxが /home/git/repositories フォルダへアクセスする必要があるので権限を調整します。

アセットプリコンパイル

これはRailsアプリをproductionモードで公開するときのお作法なので、以下のコマンドを叩いてやってみてください。少々時間がかかります。
コンパイルが終わったら、nginxを再起動します。

動作確認

ブラウザーでGitlabのURLにアクセスしてみてください。少々待たされると思いますが、気長に待ちましょう。

http://www.myhost.jp/gitlab

Screenshot-GitLab - Chromium

データベース作成時にメモっておいたIDとパスワードでログインしてみる

login………admin@local.host
password……5iveL!fe

プロジェクト(リポジトリー)の作成

ここからはGUIなので、操作は簡単です。
新規プロジェクトを作成してみます。

Screenshot-Dashboard | GitLab - Chromium

Screenshot-New Project | GitLab - Chromium

実際にリポジトリーが作成されているか確認

もし正しく作成されていない場合は、何らかの不具合が考えられますので、Gitlabを再起動しましょう。(再起動後、再度ブラウザーからプロジェクト作成を行い、確認してみてください)

クライアントからファイルを追加しリポジトリーにPushしてみる

適当なフォルダを作成し、そこでGitリポジトリを作成。新規にREADMEというファイルを作成し、GitlabにPushしてみます。

ブラウザーでコミット内容確認

Screenshot-Commits at master - Administrator - abc | GitLab - Chromium

Screenshot-Administrator - abc | GitLab - Chromium

お疲れ様でした。
めでたしめでたし。。


About the author:

Related Posts

Leave a comment

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Back to Top