ヤマムギ

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

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

  関連記事

AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)

EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …

Windows SourceTreeで ホストキーの変更

Linuxで言うところのknown_hostsを変更する方法です。 もっと簡単に …

Tracの外観をプラグインで変更する-TracpathThemeプラグイン

プラグインをインストールするだけで外観を変更する こんな感じのUIで5色(Red …

CentOS 6.5にRedmineをインストールするためにrubyをインストールする

とりあえずgitは入っている前提で [crayon-59956307d6a8b5 …

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

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

VirtualBoxでCentOS7+Oracle12c環境を構築するの2(Oracle12cインストール)

前編はこちら「VirtualBoxでCentOS7+Oracle12c環境を構築 …

RedmineにGoogleAppsアカウントでログイン出来るようにする

RedmineのログインをGoogleアカウントで出来るように[redmine_ …

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

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

bashの脆弱性対応 Linux mint + CentOS

まあ、念のために自宅環境も対応しておくかと Linux mint 17 Xfce …

Linux Mint 17 MATE 64bit にRuby最新安定版をインストールする

外出用Linux MintにRubyを入れてなかった事をハンズオン直前に思い出し …