2010年12月2日木曜日

SVNでのUTF8問題対応ログ

  1. UTF8でPOSTできるように設定
    export SVN_EDITOR=vi;
    export LANG=ja_JP.UTF-8;
    export LC_ALL=ja_JP.UTF-8;
  2. SVNディレクトリを生成
    mkdir (SVNディレクトリ)/svn/repos;
    svnadmin create --fs-type fsfs (SVNディレクトリ)/svn/repos;
    chmod -R 777  (SVNディレクトリ)/svn/repos;
    chown -R apache:apache  (SVNディレクトリ)/svn/repos;
  3. 資源のインポート
    svn import (資源元) file:///(SVNディレクトリ)/svn/repos;
  4. SVNのチェックアウト
    svn checkout file:///(SVNディレクトリ)/svn/repos/(資源元) (チェックアウトディレクトリ);
    chmod -R 777 (チェックアウトディレクトリ);
    chown -R apache:apache (チェックアウトディレクトリ);
  5. post-commitファイルに下記内容を反映
    ※SVNコミットのときにUTF-8エラーとでる場合は大概下記の設定を再度行えば対応可能
    ※必ずpost-commitファイルを修正する場合は「1」のおまじないを行ってから修正すること・・・UTF-8エラーの原因の元となる
    REPOS="$1"
    REV="$2"
    export LANG=ja_JP.UTF-8

    # commit-email.pl "$REPOS" "$REV" commit-watchers@example.org
    # log-commit.py --repository "$REPOS" --revision "$REV"

    /usr/bin/svn up (POSTするSVNディレクトリ)/* >> (POSTログディレクトリ)/update.log
  6. SVN用のBasic認証パスワードファイルを生成
    htpasswd -c (SVNディレクトリ)/svn/.htpasswd-repos (認証ユーザー名);
  7. Apache環境設定にSVNのPOSTドメインを追記
    # SVN
    <VirtualHost *:80>
        # Server
        ServerAdmin    postmaster@(任意のプロジェクトコード)
        DocumentRoot    "(SVNディレクトリ)/svn/repos"
        ServerName    (ドメイン名)

        # Log
        ErrorLog    "logs/(任意のプロジェクトコード)-error.log"
        CustomLog    "logs/(任意のプロジェクトコード)-access.log" combined

        # Location
        <Location "/">
            DAV            svn
            SVNPath            "(SVNディレクトリ)/svn/repos"
            # Basic Auth
                AuthType    Basic
                AuthName    "Project (任意のプロジェクトコード) SVN Repository"
                AuthUserFile    "(SVNディレクトリ)/svn/.htpasswd-repos"
                Require        valid-user
        </Location>
    </VirtualHost>
  8. 接続しBasic認証が有効でSVNポストされればOK

0 件のコメント:

コメントを投稿