ヤマムギ

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


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

ad

ad

  関連記事

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

目次 EC2インスタンスを作成する各パッケージのインストールEC-CUBEインス …

Redmine REST APIを操作するpython_redmineを試してみた

Redmine のGUIの登録が面倒なのでコマンドで登録、更新、時間の記録が出来 …

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

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

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

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

CentOS 6にPython実行環境を構築

CentOS6(32bit)にPython2.7実行環境を構築した際のメモです。 …

Redmine 3.0.0 にLocal Avatar プラグインをインストールしてユーザーがアバターを簡単に変更出来るようにする

Redmineのアバターは標準でGravater採用なのですが、エンドユーザーに …

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

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

GitLabのバックアップをS3に格納する

GitLabのバックアップがS3に対応していて、非常に簡単設定でした。 しかもE …

試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る

目次 1年間の無料キャンペーン期間中に検証するとりあえずサーバを作ってみる 1年 …

Windows 8.1 with bing 64bit とLinux Mint 17 Mate 64bit のデュアルブート環境構築

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