yamamanx

growing hard days

*

CentOS 6.5にgit連携のTracを構築する

      2015/04/29


Trac_Logo_512x512

秋の夜長に自宅でTracサーバを構築してみる。
ひとまずRedmineはいったん諦めました。筐体が変わればまたトライしてみます。
gitサーバだけあれば良かったのですが、折角なので色々プラグインを試すか作るかして、よさ気なのは仕事でも反映してやる目論見で。

環境

CentOS 6.5 32bit
Trac 1.0
git 1.7.1

パッケージのインストール

最低限という意味ではいらないものもありますが、あると便利なのでとりあえず。
あと、自宅サーバなので面倒くさいのでrootでログインして全部やっちゃってます。

ホストの設定

FQDN付きホスト名にする

127.0.0.1の行にFQDN付きホスト名を追加

httpd.confのServerName設定を追加

ServerName <FQDNホスト名>:80

テストする

SELinux無効設定

SELINUX=disabled

Trac 1.0のインストール

tracをmod_wsgiで動かす

trac.wsgiを作る。

import os
os.environ['TRAC_ENV_PARENT_DIR'] = '/var/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/trac/eggs'
import trac.web.main
application = trac.web.main.dispatch_request

実行権限の追加

trac.confの編集

WSGIScriptAlias /trac /var/trac/trac.wsgi
<Directory /var/trac>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>
<LocationMatch "/trac/.*/login">
   AuthType Basic
   AuthName "trac"
   AuthUserFile "/var/trac/trac.htpasswd"
   Require valid-user
</LocationMatch>

gitのインストール

xinet.d/gitの変更

disable=no
server_args=--base-path=/var/lib/gitを/var/gitへ変更

プロジェクトの作成

例としてプロジェクト名を「pj(基本プロジェクト)」としています。

プロジェクトで使うgitの作成

trac.iniにgitの設定

追加、変更行のみ記載

tracopt.versioncontrol.git.* = enabled
[git]
git_bin = /usr/local/bin/git
[repositories]
project.dir = /var/git/pj.git
project.description = 基本プロジェクトのリポジトリ
[trac]
repository_type = git

サービス自動起動

apacheとgit(xinetd)の自動起動化

プロジェクトユーザの作成

例では管理者ユーザ「admin」を作成しています。

おまけ : ActiveDirectory連携

ActiveDirectoryでユーザ認証を行いたい場合は、trac.confのLocationMatchに設定する。
他のLDAPサーバでも応用は効くと思います。

<LocationMatch "/trac/./login">
   AuthType Basic
   AuthBasicProvider ldap
   AuthName "ActiveDirectory ID"
   AuthLDAPBindDN "CN=<管理者アカウント>,CN=<管理者CN>,DC=<該当DC>,DC=<該当DC>"
   AuthLDAPUrl "ldap://<ADのIPアドレス>:3268/DC=<該当DC>,DC=<該当DC>?sAMAccountName?sub?(objectClass=)"
   AuthLDAPBindPassword "<管理者パスワード>"
   Require ldap-attribute objectClass=person
   Order Allow,Deny
   Allow from All
</LocationMatch>

確認

OSごと再起動して、http://[IPアドレス]/trac/pj にアクセスして確認
「リポジトリブラウザ」タブもある。
trac-install-login
Trac_Logo_512x512

@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算8年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

 - CentOS, git, Linux, ProjectManagement, trac , , ,

ad

ad

Message

メールアドレスが公開されることはありません。

  関連記事

MATE-1-8-and-Cinnamon-2-0-Confirmed-for-Linux-Mint-16-386774-2
Windows 8.1 with bing 64bit とLinux Mint 17 Mate 64bit のデュアルブート環境構築

目的 Windows 8.1 with bing 64bitがプリインストールさ …

nodejs-1024x768
Linux Mint 17 MATE 64bitにNode.jsをインストールする

Linux MintにNode.jsをインストールする [crayon-5845 …

trac-repository
SourceTreeからgitサーバへSSHを使ってプッシュする

SSH URI gitのパスは/var/git/pj.gitとします。 [pla …

Redmine-Logo-CyberSprocket-Composite-300x300-png8 copy
redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする

redmine_omniauth_googleプラグインをインストールしたところ …

redmine-plugin
Redmine プラグイン開発チュートリアルをやってみる

Redmine 3.0環境でプラグインを作成するチュートリアルをやってみました。 …

contacts
Redmine 3.0.0に CRMプラグインをインストールする

Redmine CRMプラグインのFreeのLightバージョンを使ってみる事に …

desk
ようやく落ち着きつつある我が家の環境

  ほとんど寄せて集めてなんとかしているがそろそろなんとかせねば Li …

CentOS-Java
CentOS6.5(32bit)にOracle公式サイトからJDK8をインストール

CentOS6.5(32bit)にOracle公式サイトからJDK8をインストー …

alfresco-log
Amazon LinuxにAlfresco Community Editionをインストールする

ダウンロード準備 Alfresco公式サイトで、「エンタープライズコンテンツ管理 …

linux-mint
Linux Mint 17 MATE 64bit にMySQL Workbenchをインストールする

外出用のメインマシンのLinux Mint 17 MATEでもAmazon Li …