GitWebが日本語でエラー出すので、Ginatraをインストールしてみました。
Ginatraのインストール手順をまとめました。
目次
GitWebで日本語のhistoryをクリックするとThis page contains the following errors
GitのサーバーとGitWebのサーバーを立てて、WEBブラウザを使って日本語も問題なく表示できていると思って安心していたところ
日本語ファイルの「history」をクリックしたり、日本語フォルダで「tree」を押したタイミングで下記のエラーが発生してしまいます。
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をインストールします。
1 |
# yum -y install ruby-devel |
次に、bundlerをインストールします。
1 |
# gem install bundler |
ここで初めて、Ginatraをインストールすることが出来ます。
1 2 3 4 5 |
# cd /root # git clone git://github.com/NARKOZ/ginatra.git # cd ginatra/ # git checkout v4.0.2 # bundle |
/root/.ginatra/config.yml というファイルを作って以下の内容を記述します。
1 2 3 4 5 6 7 8 9 10 |
# Default config file for Ginatra # Settings specified in '~/.ginatra/config.yml' will take precedence over these git_dirs: - /var/lib/git/* description: "This is a test repository" port: 9797 #host: localhost host: 192.168.141.131 prefix: "/" git_clone_enabled?: true |
git_dirs: gitのリポジトリディレクトリです。
port: 待受けポートです。
host: ホスト名です。
localhostで試したら、外部からうまく接続できなかったのですが、IPアドレスを入力すると接続できました。
この後、以下のコマンドでginatraを起動します。
1 2 3 |
# /root/ginatra/bin/ginatra run checking for git... yes Ginatra runs on 192.168.141.131:9797 |
軽量のWEBサーバーを梱包しているのでしょうか。
ポート9797で待受けます。
以下のコマンドでginatraを終了します。
1 2 |
# /root/ginatra/bin/ginatra stop Stopped Ginatra web server |
Ginatraを使ってみたら、ファイル単位で履歴が見れない
WEBブラウザを開いて、
と入力してみました。
/var/lib/gitにおいてあるリポジトリを参照できています。
リポジトリを選択すると、デフォルトで「Commit」履歴を表示します。
次に、「Source」を押してみました。
フォルダ一覧が見えて、もちろん、日本語の階層のフォルダをクリックすると下の階層まで行くことが出来ます。
次に「Stats」を押してみました。
これはコミッターの統計情報でしょうか。
GitWebよりはよく出来ている。
と、ここでGinatraの致命的な問題に気づきました。
ファイル単位での履歴、historyを表示できないんです。
これ、使えねぇ。。。
まとめ
Ginatraのプロジェクト自身は歴史もあるし、コミッターもたくさんいて、使っている人も沢山いるんでしょうか?
GitHubライクなUIがあって、軽量なWebサーバーを同梱していて、リポジトリを自動的に認識してくれるっていう点はとても評価できました。
ただ、ファイル単位で履歴を表示できないのは致命的かなと思いました。
少なくとも私はこれで使うことを断念しました。
残念。
Gitについてのおすすめの本
↓Gitについてのおすすめの本はコチラ
コメント