エントリー

※注意:このエントリーは、旧日記「みおだいあり~」からデータを移管したものです。

[鯖] 自宅鯖でのリポジトリの作成の覚書

もう既に5つ目のSVNリポジトリ作成&Tracプロジェクト作成でしたが、やり方が直ぐに頭の中から抜けてしまい、今回やや手こずったので、自分用にメモを残しておきます。

このエントリ投稿時の自鯖の環境
OS FreeBSD 7.1-RELEASE
Python Python 2.6.2 (r262:71600) (GCC 4.2.1 FreeBSD)
Web Server Apache 2.2.13 (FreeBSD) Prefork 32-bit
mod_python mod_python 3.3.1
Subversion Subversion 1.6.5 (r38866)
SQLite SQLite 3.6.14
Pygments Pygments 1.1
Trac Trac 0.11.5.ja1
作成方法の覚書
SVNリポジトリの用意

まずは、SVNリポジトリを作成します。

YURI /# cd /var/svn/
YURI /var/svn# svnadmin create hoge

そして、所有者を変更しておきます。

YURI /var/svn# chown -Rfv www:www hoge/
SVNリポジトリの設定

作成したSVNリポジトリの設定ファイルを編集します。

YURI /var/svn# vi hoge/conf/svnserve.conf
	[general]
	
-	# anon-access = read
+	anon-access = read
	
-	# auth-access = write

+	auth-access = write
	
-	# realm = My First Repository
+	realm = Hoge Repository
	
~
:wq

うちの環境では、http経由で、SVNリポジトリにアクセスするようにしています(その設定は今回は割愛)。2つ目以降のSVNリポジトリを作成したときは、次の設定を追加します。

YURI /var/svn# vi /usr/local/etc/apache22/Includes/svn.conf
+	##### HOGE Repository #####
+	<Location /svn/hoge>
+	        <IfModule mod_dav.c>
+	                AuthType Basic
+	                AuthName "Subversion Repository"
+	                AuthUserFile /var/svn/hoge/conf/dav_svn.passwd
+	        </IfModule>
+	        <LimitExcept GET PROPFIND OPTIONS REPORT>
+	                Require valid-user
+	        </LimitExcept>
+	</Location>
	
~
:wq

設定にあるように、BASIC認証を敷いているので、そのパスワードファイルも作成しておきます。

YURI /var/svn# cd hoge/conf/
YURI /var/svn/hoge/conf# htpasswd -c dav_svn.passwd user_name
New password: ********
Re-type new password: ********
Adding password for user user_name
エイリアス&認証設定の反映

ここで一旦、設定を反映させるために、Apacheを再起動しておきます。

YURI /var/svn/hoge/conf# apachectl restart

これで、SVNリポジトリの準備は完了で、次にTracプロジェクトの作成に移ります。

 

ローケルをja_JP.UTF-8に一時変更

 ただ、trac-adminコマンドを扱う時に、FreeBSDの日本語環境のデフォルトのローケル(ja_JP.eucJP)のままだと、コケてしまうので、ローケルを変更しておきます(※シェルには、tcshを用いています)。

YURI /var/svn/hoge/conf# setenv LANG ja_JP.UTF-8
バグフィックス

変更してもコケる時は、Tracをアップグレードした際に、エラー回避が上書きされてしまったからなので、もういちどエラー回避を仕込みます。

YURI /var/svn/hoge/conf# vi /usr/local/lib/python2.6/site-packages/ \
                     Trac-0.11.5.ja1-py2.6.egg/trac/util/datefmt.py
	
	    encoding = locale.getpreferredencoding() or sys.getdefaultencoding()
	    if sys.platform != 'win32' or sys.version_info[:2] > (2, 3):
	        encoding = locale.getlocale(locale.LC_TIME)[1] or encoding
	        # Python 2.3 on windows doesn't know about 'XYZ' alias for 'cpXYZ'
+	    encoding = 'utf8'
	    return unicode(text, encoding, 'replace')
	
~
:wq
Tracプロジェクトの作成

いよいよ、Tracプロジェクトを作成します。

YURI /var/svn/hoge/conf# cd /var/trac/
YURI /var/trac# trac-admin hoge initenv
Project Name [My Project]> Hoge Project
Database connection string [sqlite:db/trac.db]>  
Repository type [svn]>  
Path to repository [/path/to/repos]> /var/svn/hoge
Templates directory [/usr/local/share/trac/templates]> 
親ディレクトリの設定

各プロジェクト毎に、親ディレクトリを設定しておきます。

YURI /var/trac# trac hoge
YURI /var/trac/hoge# echo 'SetEnv TRAC_ENV_PARENT_DIR /var/trac' >> .htaccess
プロジェクトユーザの作成と設定

このTracプロジェクトのユーザ(※管理者)に管理者権限を付与して、新規作成します。

YURI /var/trac/hoge# cd ../
YURI /var/trac# trac-admin hoge/ permission add my_user_name TRAC_ADMIN

また、ログインユーザの分だけ、パスワードを作っておきます。

YURI /var/trac# trac hoge
YURI /var/trac/hoge# htpasswd -c .htpasswd my_user_name
New password: ********
Re-type new password: ********
Adding password for user my_user_name

Apacheの設定ファイルに、BASIC認証を設定します(初めてのプロジェクト作成の時の設定は割愛)。

YURI /var/trac/hoge/conf# vi /usr/local/etc/apache22/Includes/trac.conf
+	### Hoge Project ###
+	<Location "/trac/hoge/login">
+	    AuthType Basic
+	    AuthName "myproject"
+	    AuthUserFile /var/trac/hoge/.htpasswd
+	    Require valid-user
+	</Location>
	
~
:wq
エイリアス&認証設定の反映

ここで一旦、設定を反映させるために、Apacheを再起動しておきます。

YURI /var/svn/hoge/conf# apachectl restart
プロジェクトの設定

あとは、「/var/trac/hoge/conf/trac.ini」を適宜いじって、基本的な準備は完了です。

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前 *
URL
コメント *
閲覧制限 *
【スパム対策】 2 × 2 × 2 = ? (半角数字で)

ユーティリティ

user profile

calendar

042024/0506
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

tag cloud