Subversionインストール。
Subversionをうちのサーバに入れた。 メモ。
FreeBSD6.2
subversion-1.4.6_1
インストール。
まずはportsでさくっとmake install。
オプションはこんな感じにした。
というわけで、インストール自体はあっさり終了。
で、こっから設定。
まずは方向性を決定しよう。
▼apacheのWebDAVとかせずに、スマートにsvnserveを動かす方向性でいこうと思う。というか、ぶっちゃけ、WebDAVがどんな感じかわからない。
▼(でも、後々WebDAVにも挑戦したいから、オプションつけてインストールした。)
▼svnserveデーモン常時起動の必要性もないので、inetdから受け付ける。
▼ちなみに僕自身は、クライアントのWindowsで、TortoiseSVNを使う。
さて、いよいよ設定本番。
まずは、svnserveを扱うユーザを作成。
ユーザの名前は「svn」とした。
次に、リポジトリにするディレクトリを作成。
/var/svnとした。
svnserveが書き込めるよう、パーミッションを設定。svnさんの統治下へ。
リポジトリに。
リポジトリごとに設定ファイルが用意される。
conf/svnserve.confがそいつ。見てみる。
適当訳 : このファイルはsvnserveの設定ファイルさ、ただし、キミがこのリポジトリに(直接)アクセスして使うなら、な。(もし、キミがhttp:とか、file:を通してアクセスするなら、このファイルは関係ないぜ。)
つまり、apacheのWebDAVオプションを使うなら、このファイルは関係ない、、ということだろう。
というわけで、今回の場合は積極的にいじりにいく。
変更点。
非認証(anon)の人はお断り、認証(auth)したら熱烈歓迎。
認証に使う、ユーザとパスワードの設定ファイルのこと。
さきほどの「ユーザとパスワードの設定ファイル」を設定。
元から書いてある例のとおりに書く。
具体的には[users]の後に、user = passwordの順番。
パスワードが平文なのは仕様。
今度は、inetdの設定。
書き加える。
inetd再起動。
と、こんな感じ。
inetdの再起動忘れないようにしましょう。
サーバ初心者の俺は、知ってたのになぜか飛ばして悩みました。
小一時間。
ちなみに、その場合、
Can't connect to host
とか
対象のコンピュータによって拒否されたため、接続できませんでした。
とか言われます。
inetd.conf、コピペはよくないです。
間違ってDebiianの人のを写したら、動きませんでした(あたりまえ)。
追記20080515
エラー表示は、
svn: Connection closed unexpectedly
というものでした。
svnserve.confで、行頭に半角スペース入ってると動きません。
サーバ初心者の俺は、これを知らずにハマりました。おおよそ、1日。
追記20080515
エラー表示は、
[path_to_repository]/conf/svnserve.conf:13: Option expected
というものでした。13は、svnserve.confの該当行番号。
リポジトリのchownは忘れずに。
忘れてて、最後の最後に出てきたエラーはこれでした。
簡単だからいいけど。
参考にしたページ。
▽Subversionでサイト管理 (Linux Home Server Memoさん)
http://asshole.dip.jp/subversion.php
Svnserveでの運用設定が分かりやすい。ただしDebian。
方向性とか、いろいろ、ぱくらせてもらいました。
ぶっちゃけ、このページ見たほうが、僕の説明より分かりやすいかも。
▽Subversionのインストールと設定(svnserve編) (Gentoo Sideさん)
http://www.gside.org/Gentoo/subversion/subversion2.html
このページも見やすくて分かりやすかった。
▽Subversionによるバージョン管理 (Think ITさん)
http://www.thinkit.co.jp/free/article/0611/2/2/
リポジトリの意味を知ったのは、ここのページでした・・・。
その他、ぐぐったらでてきた人たち。
http://fuga.jp/~densuke/hiki/?subversion
http://smdn.invisiblefulmoon.net/linux/debian/inetd-svnserve/
http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.serverconfig.svnserve.html
その他、ぐぐって参考にしたのにうっかりメモを取り忘れた、数々のページたち。
Very Thx to
ふっきぃ
Thx to
じんちゃん
P
maya
FreeBSD6.2
subversion-1.4.6_1
インストール。
まずはportsでさくっとmake install。
オプションはこんな感じにした。
#cd /usr/ports/devel/subversion
#make WITH_MOD_DAV_SVN=YES WITH_APACHE2_APR=YES
x Options for subversion 1.4.6_1 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] PERL Perl bindings x x
x x [ ] PYTHON Python bindings x x
x x [ ] RUBY Ruby bindings x x
x x [X] JAVA Java (JavaHL) bindings x x
x x [X] MOD_DAV_SVN mod_dav_svn module for Apache 2.X x x
x x [X] APACHE2_APR Use APR from Apache 2.X x x
x x [X] NEON WebDAV/Delta-V repository access module x x
x x [X] BDB db4 repository backend x x
x x [ ] ASVN Build and install Archive SVN (asvn) x x
x x [ ] MAINTAINER_DEBUG Build debug version x x
x x [ ] SVNSERVE_WRAPPER Enable svnserve wrapper x x
x x [ ] BOOK Install the Subversion Book x x
というわけで、インストール自体はあっさり終了。
で、こっから設定。
まずは方向性を決定しよう。
▼apacheのWebDAVとかせずに、スマートにsvnserveを動かす方向性でいこうと思う。というか、ぶっちゃけ、WebDAVがどんな感じかわからない。
▼(でも、後々WebDAVにも挑戦したいから、オプションつけてインストールした。)
▼svnserveデーモン常時起動の必要性もないので、inetdから受け付ける。
▼ちなみに僕自身は、クライアントのWindowsで、TortoiseSVNを使う。
さて、いよいよ設定本番。
◆
まずは、svnserveを扱うユーザを作成。
ユーザの名前は「svn」とした。
# adduser
Username: svn
以下、略。
◆
次に、リポジトリにするディレクトリを作成。
/var/svnとした。
svnserveが書き込めるよう、パーミッションを設定。svnさんの統治下へ。
# cd /var
# mkdir svn
# chown -R svn:svn svn
リポジトリに。
# svnadmin create /var/svn
◆
リポジトリごとに設定ファイルが用意される。
conf/svnserve.confがそいつ。見てみる。
# cd svn/conf
# less svnserve.conf
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
以下略
適当訳 : このファイルはsvnserveの設定ファイルさ、ただし、キミがこのリポジトリに(直接)アクセスして使うなら、な。(もし、キミがhttp:とか、file:を通してアクセスするなら、このファイルは関係ないぜ。)
つまり、apacheのWebDAVオプションを使うなら、このファイルは関係ない、、ということだろう。
というわけで、今回の場合は積極的にいじりにいく。
# vi svnserve.conf
変更点。
anon-access = noneコメントアウトを外して、ちょっと書き換え。
auth-access = write
非認証(anon)の人はお断り、認証(auth)したら熱烈歓迎。
password-db = passwdコメントアウトを外すだけ。
認証に使う、ユーザとパスワードの設定ファイルのこと。
realm = Test Repositoryこのリポジトリの名前。適当に。
◆
さきほどの「ユーザとパスワードの設定ファイル」を設定。
# vi passwd
元から書いてある例のとおりに書く。
具体的には[users]の後に、user = passwordの順番。
パスワードが平文なのは仕様。
◆
今度は、inetdの設定。
# cd /etc
#vi inetd.conf
書き加える。
svn stream tcp nowait svn /usr/local/bin/svnserve svnserve -i
inetd再起動。
# /etc/rc.d/inetd restart
Stopping inetd.
Starting inetd.
◆
と、こんな感じ。
inetdの再起動忘れないようにしましょう。
サーバ初心者の俺は、知ってたのになぜか飛ばして悩みました。
小一時間。
ちなみに、その場合、
Can't connect to host
とか
対象のコンピュータによって拒否されたため、接続できませんでした。
とか言われます。
inetd.conf、コピペはよくないです。
間違ってDebiianの人のを写したら、動きませんでした(あたりまえ)。
追記20080515
エラー表示は、
svn: Connection closed unexpectedly
というものでした。
svnserve.confで、行頭に半角スペース入ってると動きません。
サーバ初心者の俺は、これを知らずにハマりました。おおよそ、1日。
追記20080515
エラー表示は、
[path_to_repository]/conf/svnserve.conf:13: Option expected
というものでした。13は、svnserve.confの該当行番号。
リポジトリのchownは忘れずに。
忘れてて、最後の最後に出てきたエラーはこれでした。
簡単だからいいけど。
参考にしたページ。
▽Subversionでサイト管理 (Linux Home Server Memoさん)
http://asshole.dip.jp/subversion.php
Svnserveでの運用設定が分かりやすい。ただしDebian。
方向性とか、いろいろ、ぱくらせてもらいました。
ぶっちゃけ、このページ見たほうが、僕の説明より分かりやすいかも。
▽Subversionのインストールと設定(svnserve編) (Gentoo Sideさん)
http://www.gside.org/Gentoo/subversion/subversion2.html
このページも見やすくて分かりやすかった。
▽Subversionによるバージョン管理 (Think ITさん)
http://www.thinkit.co.jp/free/article/0611/2/2/
リポジトリの意味を知ったのは、ここのページでした・・・。
その他、ぐぐったらでてきた人たち。
http://fuga.jp/~densuke/hiki/?subversion
http://smdn.invisiblefulmoon.net/linux/debian/inetd-svnserve/
http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.serverconfig.svnserve.html
その他、ぐぐって参考にしたのにうっかりメモを取り忘れた、数々のページたち。
Very Thx to
ふっきぃ
Thx to
じんちゃん
P
maya
コメント
http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services#rev1.97