subversion
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に記述ミス?
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>
かと思います。