bitnami-redmine-2.3.1-0 で gitweb するためのメモ

bitnami-redmine-2.3.1-0(/usr/local/redmine-2.3.1-0 にインストール)で gitweb するために行った設定のメモ。

/cgi-bin/ にある CGI を動かす

なかなかだったので、まずは、/cgi-bin/ にある .cgi スクリプトを動かす設定を行って、簡単な .cgi スクリプトでテスト。

mod_cgid ならびに cgi-script のハンドラーを有効化。(コメントアウトを外す。)

$ cat apache2/conf/httpd.conf 
    : (省略)
#LoadModule info_module modules/mod_info.so
LoadModule cgid_module modules/mod_cgid.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
    : (省略)
<IfModule mime_module>
    : (省略)
    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    AddHandler cgi-script .cgi
    : (省略)
$

スクリプトを用意して(1行目は git/share/gitweb/gitweb.cgi に合わせて設定)、

$ cat apache2/cgi-bin/test.cgi 
#!/usr/bin/env /usr/local/redmine-2.3.1-0/perl/bin/perl

print <<EOD
Content-type: text/html

<html>
<head><title>Title</title></head>
<body>
<h1>Header</h1>
Text
</body>
</html>
EOD
$

http://hostname:8080/cgi-bin/test.cgi を URL に指定するとうまく表示された。

gitweb.cgi を動かす

git/share/gitweb/gitweb.cgi を gitweb 用の設定ファイルを用意、

$ cat apps/gitweb/conf/gitweb.conf 
Alias /gitweb "/usr/local/redmine-2.3.1-0/git/share/gitweb"

<Directory "/usr/local/redmine-2.3.1-0/git/share/gitweb">
	Options ExecCGI FollowSymLinks SymLinksIfOwnerMatch
	<IfVersion < 2.3 >
	Order allow,deny
	Allow from all
	</IfVersion>
	<IfVersion >= 2.3>
	Require all granted
	</IfVersion>
	AddHandler cgi-script .cgi
	DirectoryIndex gitweb.cgi
</Directory>
$

apache2/conf/httpd.conf ファイルで読み込むように設定。

$ cat apache2/conf/httpd.conf
    : (省略)

Include "/usr/local/redmine-2.3.1-0/apps/gitweb/conf/gitweb.conf"
$

レポジトリのルートは /var/git なので、gitweb.cgi に設定。

$ cat git/share/gitweb/gitweb.cgi 
    : (省略)
# absolute fs-path which will be prepended to the project path
#our $projectroot = "/pub/scm";
#our $projectroot = "/pub/git";
our $projectroot = "/var/git";
    : (省略)
$

http://hostname:8080/gitweb/ を URL に指定しても、スクリプトの中身が表示されている。なので、せっかく /cgi-bin/ で試したのに。。。よーく見ると $projectroot の変更が反映されていない!!Safari のキャッシュを空にして試すと表示された。(Safari のキャッシュに癖があるのを忘れていた。)

確認バージョン

  • Mac OS X 10.8.4
  • Xcode 4.6.3 (関係ないけど最初は Xcode 付属の gitweb で試していたので)
  • bitnami-redmine-2.3.1-0
    • Redmine 2.3.1
    • Apache 2.4.4
    • ImageMagick 6.7.5
    • MySQL 5.5.28
    • Subversion 1.7.5
    • Git 1.8.2
    • Ruby 1.9.3-p392
    • Rails 3.2.13
    • RubyGems 1.8.12
カテゴリー: ソースコード管理, 開発管理サーバ タグ: パーマリンク

コメントは停止中です。