GitWebが日本語でエラー出すので、Ginatraをインストールしてみた

シェアする

  • このエントリーをはてなブックマークに追加

スポンサードリンク

GitWebで日本語のhistoryをクリックするとThis page contains the following errors

GitのサーバーとGitWebのサーバーを立てて、WEBブラウザを使って日本語も問題なく表示できていると思って安心していたところ

日本語ファイルの「history」をクリックしたり、日本語フォルダで「tree」を押したタイミングで下記のエラーが発生してしまいます。

image

This page contains the following errors:
error on line 12 at column 56: Unescaped '<' not allowed in attributes values
Below is a rendering of the page up to the first error.

日本語そのものは文字化けしたりはしません。

GitWebそのものはCGIスクリプトのようなのですが、この問題をデバッグするのは大変そうだし、GitWebそのものがそれほど使いやすいものではないようなので、この度、Ginatraをインストールしてみました。

スポンサードリンク

Ginatraとは

Sinatra(シナトラ)は、Rubyで作成されたオープンソースのWebアプリケーションフレームワークです。

Ginatra(ギナトラ)(http://narkoz.github.io/ginatra/)は、Sinatraをベースに作られたGitのWEBインターフェースです。

かなり大雑把な言い方をすれば、Ginatraを使うとGitHubみたいなUIをもつWEBサイトをオンプレミスのGitサーバーに立てることが可能です。

MITライセンスなので、社内のGitサーバー以外に外部に公開するリポジトリでも自由に使えると思います。

スポンサードリンク

Ginatraのインストール手順

Ginatraをインストールしてみます。
私の使っているサーバーは、CentOS 7です。
Ruby系のアプリはあまり使ったことがないのですが、前提として次のソフトをインストールする必要があります。

まず、ruby-develをインストールします。
# yum -y install ruby-devel

次に、bundlerをインストールします。
# gem install bundler

ここで初めて、Ginatraをインストールすることが出来ます。
# cd /root
# git clone git://github.com/NARKOZ/ginatra.git
# cd ginatra/
# git checkout v4.0.2
# bundle

/root/.ginatra/config.yml というファイルを作って以下の内容を記述します。

git_dirs: gitのリポジトリディレクトリです。
port: 待受けポートです。
host: ホスト名です。localhostで試したら、外部からうまく接続できなかったのですが、IPアドレスを入力すると接続できました。

この後、以下のコマンドでginatraを起動します。
# /root/ginatra/bin/ginatra run
checking for git... yes
Ginatra runs on 192.168.141.131:9797

軽量のWEBサーバーを梱包しているのでしょうか。ポート9797で待受けます。

以下のコマンドでginatraを終了します。
# /root/ginatra/bin/ginatra stop
Stopped Ginatra web server

Ginatraを使ってみた

WEBブラウザを開いて、http://192.168.141.131:9797 と入力してみました。

image
/var/lib/gitにおいてあるリポジトリを参照できています。

 

image
リポジトリを選択すると、デフォルトで「Commit」履歴を表示します。

 

image
次に、「Source」を押してみました。
フォルダ一覧が見えて、もちろん、日本語の階層のフォルダをクリックすると下の階層まで行くことが出来ます。

 

image
次に「Stats」を押してみました。
これはコミッターの統計情報でしょうか。

GitWebよりはよく出来ている。

と、ここでGinatraの致命的な問題に気づいた。

ファイル単位での履歴、historyを表示できないんです。

これ、使えねぇ。。。

まとめ

Ginatra自身は歴史もあるし、コミッターもたくさんいて、使っている人も沢山いるんでしょうか?

GitHubライクなUIがあって、軽量なWebサーバーを同梱していて、リポジトリを自動的に認識してくれるっていう点はとても評価できました。

ただ、ファイル単位で履歴を表示できないのは致命的かなと思いました。

少なくとも私はこれで使うことを断念しました。

残念。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

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