弁財天

ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」

svn: MERGE request failed on '/svn/repos'

いちおうプロジェクトなのでCygwinにhttpdとsvnモジュールを入れてリポジトリ管理させる。 Cygwin+Apache2+Subversion なことをはじめた。

2008-09-15

Cygwin+Apache2+SubversionAdd Star

| 20:53 | Cygwin+Apache2+Subversionを含むブックマーク Cygwin+Apache2+Subversionのブックマークコメント

タイトル通り、Cygwin+Apache2+Subversionの設定を行ってみたのでその記録。

パッケージ入れる

$ mkdir /var/svn/repos
$ svnadmin create /var/svn/repos

httpd.confでモジュールをロード

  • /etc/apache2/httpd.confに2行追加する
  • ちゃんとファイルの存在は確認しておいた方がいいかも

LoadModule dav_svn_module lib/apache2/mod_dav_svn.so

LoadModule authz_svn_module lib/apache2/mod_authz_svn.so

Apache用設定ファイルを作る

  • /etc/apache2/httpd.confの末尾に書き足してもいいんだけど、最後を見たら
Include /etc/apache2/conf.d/*.conf

と書いてあったので、/etc/apache2/conf.d/47_mod_dav_svn.confを作成

# Subversion Settings
<Location /svn>
  DAV svn
  SVNParentPath "/var/svn"
  # Authorization Settings
  AuthType Basic
  AuthName "Subversion Repositories"
  Require valid-user
  AuthzSVNAccessFile /var/svn/conf/svnaccess
  AuthUserFile /var/svn/conf/.htpasswd
  <LimitExcept GET PROPFIND OPTIONS REPORT >
    Require valid-user
  </LimitExcept>
</Location>
  • 最初は認証部分なしで書いて実験したほうがいい

認証ファイルの作成

  • 上記confで指定したファイルをいじる(なければ作る)
 $ cat /var/svn/conf/svnaccess
# グループ設定
[groups]
admin = limit

# 管理グループはすべてにRW権限
[/]
@admin = rw

# reposは誰でもREAD可、管理グループにRW権限付加
[repos:/]
* = r
@admin = rw
 $ cat /var/svn/conf/.htpasswd
 limit:AAcvPvtmBfCNg
perl -e 'print crypt "PASSWORD", "SEED"'
  • で生成すればOK
  • SEEDは半角英数字2文字を指定する。
  • 上記サンプルのものはパスワード"PASSWORD"、SEEDを"AA"に設定したもの
ApacheをCygwinでインストール
CygwinでApacheを導入して動かすAdd Star
mkdir -m "初期インポート" http://hoge/svn/repos/hoge
    svn: MERGE request failed on '/svn/repos'
svn: cannot read HTTP status line
    svn: '/svn/repos/!svn/bc/0/hoge' path not found: 404 Not Found (http://hoge)

/var/log/apache2/error_log見ると

[Thu Sep 18 13:06:53 2014] [notice] Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1i DAV/2 SVN/1.8.10 configured -- resuming normal operations
[Thu Sep 18 13:07:13 2014] [error] [client hoge] (20014)Internal error: Couldn't open rep-cache database
[Thu Sep 18 13:07:13 2014] [error] [client hoge] (20014)Internal error: -Couldn't perform atomic initialization
[Thu Sep 18 13:07:13 2014] [error] [client hoge] (20014)Internal error: -sqlite[S14]: unable to open database file, executing statement 'CREATE TABLE rep_cache (   hash TEXT NOT NULL PRIMARY KEY,   revision INTEGER NOT NULL,   offset INTEGER NOT NULL,   size INTEGER NOT NULL,   expanded_size INTEGER NOT NULL   ); PRAGMA USER_VERSION = 1; '
[Thu Sep 18 13:07:13 2014] [error] [client hoge] Could not fetch resource information.  [404, #0]
[Thu Sep 18 13:07:13 2014] [error] [client hoge] Named transaction doesn't exist.  [404, #175002]
[Thu Sep 18 13:07:14 2014] [notice] child pid 2340 exit signal Segmentation fault (11), possible coredump in /usr

QNAP SVN – Couldn’t open rep-cache database

# svnadmin create --pre-1.6-compatible /path/to/repos

Cygwin64ていいわー。WindowsサーバをLinuxもどきにできるから。しかも64ビット。

投稿されたコメント:

コメント
コメントは無効になっています。