CVSに取って代わるバージョン管理システム!と言うふれこみの、subversionを入れてみました。
# ちなみに、このサイトのblogやwikiでない部分は、cvsで管理されています。
portsからdevel/subversionをインストール。makeオプションは、WITH_MOD_DAV_SVN=yes
このオプションを付けると、apache2にmod_dav_svnがインストールされます。さらに、svnが使用するapr-utilと言うライブラリが、apache2に付属のものになります。
apache2に付属のものを使わない場合は、portsのaprが使われます。
別の場所で一度インストールしたのですが、そのときはapacheのバージョンが2.0.49で、apache2に含まれるapr-utilがlibiconvをリンクしてくれませんでした。
おかげで、subversionで日本語が使えないと言う問題が発生したのですが、apache2.0.50のapr-utilはデフォルトでiconvを使ってくれるようです。
subversionのインストールが終わったら、httpd.confに以下の設定を追加します。
さらに、xslとして/svnindex.xslを指定していますので、subversionのソースのtools/xsltにある二つのファイルを、documentrootにコピーします。(documentroot以外にするときは、svnindex.xslの中のcssのパスを書き換える必要があります)
続いて、/usr/local/etc/apache2/svnauthファイルを作成します。このファイルには、リポジトリ毎のアクセス権を記述します。
とりあえず、私は以下のようにしました。
/usr/local/etc/apache2/svnpasswdにユーザを登録します。
続いて、リポジトリを作ってみます。
クライアントからのアクセスは、https://www.wizard-limit.net/svn/rep/プロジェクト名 などのURLで行います。
proxy経由で、FreeBSDのsvnコマンドやWindowsのTortoiseSVNでアクセスできることを確認しました。
# ちなみに、このサイトのblogやwikiでない部分は、cvsで管理されています。
portsからdevel/subversionをインストール。makeオプションは、WITH_MOD_DAV_SVN=yes
このオプションを付けると、apache2にmod_dav_svnがインストールされます。さらに、svnが使用するapr-utilと言うライブラリが、apache2に付属のものになります。
apache2に付属のものを使わない場合は、portsのaprが使われます。
別の場所で一度インストールしたのですが、そのときはapacheのバージョンが2.0.49で、apache2に含まれるapr-utilがlibiconvをリンクしてくれませんでした。
おかげで、subversionで日本語が使えないと言う問題が発生したのですが、apache2.0.50のapr-utilはデフォルトでiconvを使ってくれるようです。
subversionのインストールが終わったら、httpd.confに以下の設定を追加します。
<Location /svn> DAV svn SVNParentPath /var/svn SVNIndexXSLT "/svnindex.xsl" AuthzSVNAccessFile /usr/local/etc/apache2/svnauth Satysfy Any Require valid-user AuthType Basic AuthName "Subversion repository" AuthUserFile /usr/local/etc/apache2/svnpasswd </Location>subversionのリポジトリを置くディレクトリとして、/var/svnを指定していますので、このディレクトリを作成してオーナーをwwwにしておきます。
さらに、xslとして/svnindex.xslを指定していますので、subversionのソースのtools/xsltにある二つのファイルを、documentrootにコピーします。(documentroot以外にするときは、svnindex.xslの中のcssのパスを書き換える必要があります)
続いて、/usr/local/etc/apache2/svnauthファイルを作成します。このファイルには、リポジトリ毎のアクセス権を記述します。
とりあえず、私は以下のようにしました。
[/] false = rw[/]は、全てのリポジトリと言う意味です。この設定で、falseと言うユーザは全てのリポジトリに読み書きの権限をもちます。
/usr/local/etc/apache2/svnpasswdにユーザを登録します。
# htpasswd -c -m /usr/local/etc/apache2/svnpasswd falseとやると、ユーザfalseが追加できます。
続いて、リポジトリを作ってみます。
# cd /var/svn # svnadmin create rep # chown -R www:www repこれで、repと言う名前のリポジトリができました。
クライアントからのアクセスは、https://www.wizard-limit.net/svn/rep/プロジェクト名 などのURLで行います。
proxy経由で、FreeBSDのsvnコマンドやWindowsのTortoiseSVNでアクセスできることを確認しました。
カテゴリ
Networkトラックバック(0)
このブログ記事を参照しているブログ一覧: subversion
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/683
コメントする