- 2009/10/0800:00
[鯖] 自宅鯖でのリポジトリの作成の覚書
もう既に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」を適宜いじって、基本的な準備は完了です。
- 2009/10/08 00:00
- 旧日記のアーカイブ
- Permalink
- nmio
- Comment(0)
comment