2.1.0を使っていましたが、久しぶりに最新版にしようとしたらいつの間にか5.1.0まで進んでいました。HTTP(S)によるアクセスにも標準で対応しているので、これだけでSSHおよびHTTP(S)が使えるようになっているみたいです。公式サイトのインストールドキュメントによると、過去とは手順も全く違うようだったので、まっさらな状態からインストールしてみたので記録しておきます。2.1.0と比べるとgitoliteのインストールが不要になったり、Apacheと使う場合にpassengerを使わずにリバースプロキシを使うようになったなどの変更が見受けられました。手順はだいぶスッキリしましたが、相変わらず敷居は高いと思います。Linuxによるサーバ管理の基礎知識ぐらいは必要かもしれません。大まかな流れは以下のようになります。Manager)環境を用いて構築します。2.1との共存も可能です。前提条件の準備ビルドに必要なライブラリなどをインストールします。ほとんどはaptでインストール可能ですが、redis-serverおよびgitは別途インストールが必要です。aptによる必要なプログラムのインストール自動解決されるためインストールする順番は特にありませんが、これらをすべてインストールします。postgresql-devellibicu-develはRubyモジュールのcharlock_holmesのインストールに必要です。RedisおよびGitのインストールセッション管理などに使用されるRedisサーバはVineの標準リポジトリに収録されていないので手動でインストールします。https://〜で通信できなかったので、1.8のほうが良さそうです)。以下のページからダウンロードしてインストールします。redis-2.4.6-1vl6.x86_64.rpmPythonの別名シンボリックリンクをはる/usr/bin/pythonに対してpython2という名前のシンボリックリンクを作成します。python2GitLabのインストール実行ユーザーの作成GitLabを実行するユーザーgitを作成します。ホームディレクトリは/home/gitにします。公式ドキュメントではnologin設定で作るように書いてありますが、初期設定を行いやすくするためログイン可能とします。"git@localhost"user.nameとuser.emailを設定しておかないとGitLabでの動作の時にエラーが発生します。以降、インストールはユーザーgitで行います。1.9.2以降が必要なので、異なるバージョンのRubyを使用するためのRVM環境を構築します。この環境で使用することでRubyのモジュール等をシステムにインストールすることなく、ホームディレクトリだけで完結させることができます。この作業はユーザーgitで行います。cURLでファイルを取得する際に証明書のエラーが出るので、insecureを.curlrcに書き込んでから作業を行います。作業が終わったらinsecureを解除してください。1.9のインストールはビルドが行われるため10分ほど時間がかかります。ShellはGitLab用のSSHアクセスおよびリポジトリ管理用プログラムだそうです。config.yml設定ファイルconfig.ymlをエディタで開いてgitlab_urlの値を修正します。適切なURLにします修正後インストールします。./bin/installこの時、リポジトリ用の/home/git/repositoriesディレクトリが作成されます。データベースの作成GitLabで使用するデータベースを作成します。ここではPostgreSQLを使いましたが、MySQLも使えます(公式ドキュメント参照)。\qここの$passwordは使用するパスワードを指定してください。GitLab設定の際に必要になるので忘れないようにしてください。以下のコマンドで開けるかどうかを確認してください。抜けるときは\qです。gitlabhq_productionGitLabのインストールGitLabを取得し、必要な手順を行います。これもすべてユーザーgitで行います。mysqlconfig/puma.rbの修正Apacheで使うために、pumaのバインド先をlocalhostのTCPポートにします。コメントアウトconfig/database.ymlの修正ユーザー名とパスワードを適切に指定します。GitLabのセットアップと初期化スクリプトGitLabのデータベースの初期化この段階でRedisを起動します。初期化スクリプトでのsudoおよびSSHでのpushに対応するために.bashrcにRVMの設定を書き込みます。インストール時に自動でPATHの設定は追加されますがsource設定が書き込まれないので末尾に追加します。初期化スクリプトをインストールします。この作業はrootで行います。/etc/init.d/gitlabchkconfigで登録できるように/etc/init.d/gitlabの内容を修正します。追加chkconfigに登録します。gitlabApacheの設定Apacheの詳細な設定については述べません。最低限の設定は以下になります。Onこのように設定すればhttp://gitlab.example.co.jp/という感じでGitLabにアクセスできるはずです。HTTPSを使う場合は、VirtualHostの中に以下の行を追加します。"https"このパラメータがないとページ遷移の際にHTTPに飛ばされてしまうことがあります。必要に応じて設定します。これで(たぶん)使えるはずです!問題はRVM周りで起こりやすいので、エラーが発生した場合はRVMの内容を調べてみてください。トラブルシューティングとりあえず気づいたことをメモしておきます。SSHでpushできない問題SSH経由でpushするときに以下のエラーが出ました。exists.原因これはRubyのバージョンが1.9.2以上になっていないことが原因で、RVMを使って構築した時に起こるようです。私の環境では標準のRuby(aptでインストールされるRuby)は1.8のためエラーが出るようです。標準のRubyをインストールしていない場合はうまくいくため、パスの順序を変えれば解決できるようです。解法ユーザーgitの設定のように修正します。別の方法としてPATHの設定を以下のようにしても解決しました。標準パスよりも$HOME/.rvm/binを先にする状況に合わせて対応してください。ファイル内容が表示されない問題ファイル内容を表示させた時何も表示されない。production.logを見ると以下のメッセージが出力されている。`_app_views_blob_show_js_haml__1016274567_81034620'原因コードのシンタックスハイライトをPythonで処理しているようで、そのため/usr/bin/python2が存在しないとレンダリングされないようです。書式が判断のポイントかも。HTMLなどの場合もあるようです。解法/usr/bin/pythonに/usr/bin/python2という名前でリンクを張ります。コメントなどありましたらどうぞ。