パーソナルツール
現在の場所: ホーム server subversion
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
ナビゲーション

 
文書操作

subversion

作成者 takanori 最終変更日時 2007年01月14日 11時59分

subversion の設定をして、ソースの管理をできるようにする

インストール

インストールは vine linux の場合はパッケージをそのまま利用できるので簡単です。

# apt-get install subversion subversion-mod_dav_svn

リポジトリ作成

まずは subversion のいろいろを保存するためのリポジトリを svnadmin コマンドで作成します。

# mkdir /var/svn
# svnadmin create /var/svn/repos
# ls /var/svn/repos
README.txt  conf/  dav/  db/  format  hooks/  locks/

apache 設定

apache 2 からリポジトリにアクセスできるようにします。

まずはリポジトリの所有者を apache 2 の実行ユーザに変更します。

# chown -R apache:apache /var/svn/repos

次に、apache 2 の設定ファイル(/etc/apache2/conf/httpd.conf)に、 apache 2 から subversion にアクセスするためのモジュールを読み込むための設定を追加します。

といってもその設定は apt-get install subversion-mod_dav_svn するとインストールされる /etc/apache/conf.d/subversion.conf というファイルに書いてあります。

が、mod_dav の前に mod_dav_svn.so を読んでしまうとだめなので、 /etc/apache2/conf/httpd.conf を編集して、 Include conf.d/*.conf の行を LoadModule の下にもってきます。

LoadModule dav_svn_modul modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

次に、subversion.conf に、こんな感じで svn.takanory.net で subversion のリポジトリにアクセスできるように設定を追加します。:

    <VirtualHost *>
      ServerName svn.takanory.net
      <Location>
        DAV svn
        SVNPath /var/svn/repos
      </Location>
    </VirtualHost>

その後 apache 2 に設定を読み込ませます。

# /etc/init.d/apache2 configtest
Syntax OK
# /etc/init.d/apache2 reload

とりあえずここまでで http://svn.takanory.net/ にアクセスして、リポジトリが参照できることを確認しました。

とりあえず import

とりあえず ATGoogleMaps のソースコードを管理するためのディレクトリを作成して、インポートしてみます。

ついでに subversion の練習がてらタグとやらも打ってみます。

% svn mkdir http://svn.takanory.net/ATGoogleMaps -m "ATGoogleMaps project"
% svn mkdir http://svn.takanory.net/ATGoogleMaps/trunk -m "create trunk"
% svn mkdir http://svn.takanory.net/ATGoogleMaps/tags -m "create tags"
% svn mkdir http://svn.takanory.net/ATGoogleMaps/branches -m "create branches"
% svn import http://svn.takanory.net/ATGoogleMaps/trunk -m "import ATGoogleMaps"
% svn copy -r 5 http://svn.takanory.net/ATGoogleMaps/trunk \
  http://svn.takanory.net/ATGoogleMaps/tags/0.3.1 -m "first alpha release"

すると、ちゃんと http://svn.takanory.net/ATGoogleMaps/ にアクセスすると branches, tags, trunk があって、tags の下に 0.3.1 がありました。

認証設定

このままだと誰でも書き込みとかできちゃうので、認証の設定をします。

/etc/apache2/conf/httpd.conf を編集して、こんな感じで AuthType 移行の記述を追加します。:

    <VirtualHost *>
      ServerName svn.takanory.net
      <Location />
        DAV svn
        SVNPath /var/svn/repos

        AuthType Basic
        AuthName "svn.takanory.net subversion repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        <LimitExcept GET PROPFIND OPTIONS REPORT>
          Require valid-user
        </LimitExcept>
      </Location>
    </VirtualHost>

htpasswd2 コマンドを使ってパスワードファイルを作成します。

htpasswd2 -c /etc/apache2/dav_svn.passwd hogehoge
New password: XXXXXXXX
Re-type new password: XXXXXXXX
Adding password for user hogehoge

再度 apache 2 に設定を読み込ませます。

# /etc/init.d/apache2 configtest
Syntax OK
# /etc/init.d/apache2 reload

その後、ためしにチェックアウトしたファイルを変更して commit しようとしたら、ちゃんとユーザ名とパスワードを聞かれるようになりました。

よし、ちゃんと使えそうだ。

おまけ

SVN ― 清水川Web みたいに plone のサイトから svn が見やすそうだなぁ、いいなぁと思いました。

調べてみるとここで使われているプロダクトは PloneSVNView というもののようです。

もう一つ Plone SVN access というものもあるみたいです。

tar でも出力できるので、Plone SVN access の方が好みかな?という気もしますが、まぁおいおい使ってみるかも知れません。

VirtualHostに記述ミス?

投稿者 無名ユーザ 投稿日時: 2007年01月14日 11時28分
おおいに参考にさせていただきました。ありがとうございました。
subversion.confに記述するVitualHostの記述にミスがあるようなのでご確認ください。

<VirtualHost *>
<Location>
ServerName svn.takanory.net
DAV svn
SVNPath /var/svn/repos
</Location>
</VirtualHost>

ServerNameの記述場所がずれているのではないでしょうか?
ただしくは、
<VirtualHost *>
ServerName svn.takanory.net
<Location>
DAV svn
SVNPath /var/svn/repos
</Location>
</VirtualHost>

かと思います。

VirtualHostに記述ミス?

投稿者 takanori 投稿日時: 2007年01月14日 12時01分
あ、ほんとだ、上のほう変ですね。
直しておきました、ご指摘ありがとうございます。

Powered by vine linux, python, zope, plone, coreblog