プロが教える店舗&オフィスのセキュリティ対策術

TortoiseSVNでインポートする際の、リポジトリURLの指定の仕方が分からないので質問させて頂きます。

自身で立てたサーバを使用して、現在ホームページの運用をしております。
(サーバ、ローカルPCには、すでにsvnをインストール済みです)

サーバはCentOS(i386版)を使用しており、ローカルPC(Windows VISTA)で作成したホームページ用ファイル郡をsubversionで管理したいと思い、サーバ側にリポジトリを作成して、そのリポジトリへローカルPCにあるファイル群をインポートしたいのですが、その際にどのようにURLを指定すればよいのでしょうか?

下記情報を参考にしていただき、お分かりになる方いらっしゃいましたら、ご教授の程お願い致します。

=======
・サーバ側のsvnディレクトリ
/home/develop/svn/ 以下に"test"というリポジトリを作成してあります。

・URLの指定
ローカルPCから、インポートしたいファイルを選択して、
右クリック→TortoiseSVN→インポート
で、リポジトリのURLを

http://サーバのIPアドレス/home/develop/svn/test

としたのですが、

エラー: OPTIONS (URL: 'http://サーバのIPアドレス/home/develop/svn/test'): 200 OK (http://サーバのIPアドレス)

と表示され、エラーになってしまいインポートできません。
=======

A 回答 (2件)

httpプロトコルでSubversionを使用する。


ということでよろしいのでしょうか?
# ちなみにウチはsvnプロトコル

CentOSのバージョンが不明ですが…
/etc/httpd/conf.dの下にsubversion.confとかありませんか?
そちらはどういう設定になっているのでしょうか?

インポートする前にリポジトリブラウザでリポジトリが正常に見れますか?
何もインポートしていない状態でもリポジトリブラウザで見ることは可能です。
# パーミッションとかの設定していますか???

この回答への補足

Wr5さん

ご回答、ありがとうございます。
また、説明不足な点、ご迷惑お掛け致しました。

CentOSのバージョンは5.4を使用しております。
仰る通り、
/etc/httpd/conf.d の下に、subversion.confという設定ファイルがありました。

そちらのどの部分を確認・修正したらよいかちょっと分からないのですが、

<Location /svn>
DAV svn
SVNParentPath /home/develop/svn

という部分でしょうか。
上記のパスの通り、現在は
/home/develop/svn
以下にプロジェクトごとのリポジトリがあります。

httpプロトコルでsubversionを使用する、ということに関してですが、ネットで調べてみたところ、今の環境だとhttpプロトコルになるのでは、という自分の予想でhttpプロトコルを使用してみました。
また、http://ではなくfile://でアクセスしても上手くいきませんでした。

リポジトリブラウザで、URLに
http://サーバのIPアドレス/home/develop/svn/test
と入力しても見ることができませんでした。

パーミッションの設定ですが、
/home/develop/svn
のパーミッションを確認してみたところ、

グループ:root
所有者:root
パーミッション:755

となっております。
確かに言われてみますと、windowsからSCPでサーバへファイルの転送を行った際にも、パーミッションが777になっていないディレクトリに関しては"アクセス権がありません"といったようなエラーが起きていました。
今回の場合も、そういったことが原因になっていると考えられるかもしれません。

話がちょっと変わってしまいますが、

httpプロトコルでSubversionを使用する場合、
svnのディレクトリを現在の
/home/develop/svn
から
/var/www/svn
と変えなくてはアクセスできない、ということなのでしょうか?

補足日時:2011/02/09 04:15
    • good
    • 0

><Location /svn>



で設定していますから、アクセスする際のURLは
http://サーバのIPアドレス/svn/test
になるハズです。
# apacheのLocationディレクティブの設定になりますので、その辺りのキーワードで検索して下さい。

いくつかのパターンで試しましたが…httpプロトコルでSubversionを使う場合、まずHTTPのOPTIONSリクエストが発行されるようです。
そこで、Subversion固有のレスポンスが返されると、処理を続けるようですが……
apacheはアクセス不能なパスを指定してもOPTIONSで200 OKのレスポンスを返却するようで。

>グループ:root
>所有者:root
>パーミッション:755

所有者はapacheに変更しておいた方がよいかと思われます。
chown -R apache.apache /home/develop/svn
と…
これでもダメでしたら
chmod 755 /home/develop
でしょうか。

>また、http://ではなくfile://でアクセスしても上手くいきませんでした。

file:///home/develop/svn/test
になりますが、この指定が可能なのはローカルマシンだけです。
svn info file:///home/develop/svn/test
で情報が出るかと。

>httpプロトコルでSubversionを使用する場合、
>svnのディレクトリを現在の
>/home/develop/svn
>から
>/var/www/svn
>と変えなくてはアクセスできない、ということなのでしょうか?

パーミッションの設定とapacheの設定が正しく行われれば、そのようなコトはない…ハズです。
# Subversion専用のユーザを作成し、そのホームディレクトリ(/home/svn など)にリポジトリを作成、
# httpでアクセス…という方法をブログなどで公開している人もいますし。

なお、/home以下の各ユーザが自分のsubversionリポジトリを作成してhttpプロトコルで利用。
の場合は、その都度apacheの設定変更が必要…のようです。
# svnプロトコルならできなくはない…と思われますが……。

この回答への補足

Wr5さん

度々のご回答、ありがとうございます。

下記、ご報告致します。

======
>アクセスする際のURLは
>http://サーバのIPアドレス/svn/test
>になるハズです。

仰る通りで、インポートする際のリポジトリのURLを、

http://サーバのIPアドレス/svn/test

としたところ、無事インポートすることができました。
今までは

http://サーバのIPアドレス/home/develop/svn/test

としていたので、 /home/develop という部分を余計につけていたことが間違っておりました。

>所有者はapacheに変更しておいた方がよいかと思われます。
>chown -R apache.apache /home/develop/svn

パーミッションですが、教えていただいた通り上記のコマンドで所有者をapacheに変更することができました。(余談ではありますが、svnと同じディレクトリにtrac用のディレクトリもきってありまして、こちらも所有者をrootからapacheに変更してあります)

>パーミッションの設定とapacheの設定が正しく行われれば、そ>のようなコトはない…ハズです。

あまりサーバに関することに詳しくないのではっきりとしたことは申せませんが、
現状のsvnのディレクトリ、

/home/develop/svn

に対して、リポジトリブラウザからhttpでアクセスできることはもちろん、インターネットブラウザから

http://サーバのIPアドレス/svn/test

とURLを指定してみたところ、中身を見ることができました。なので、

/var/www/svn

とディレクトリを変更しないでもアクセスできるということなのですね。
======

無事、問題が解決できて感謝しております。
どうもありがとうございました!

補足日時:2011/02/10 09:35
    • good
    • 0
この回答へのお礼

まだまだサーバに関しては初心者で知識が全然ございませんが、そんな私でも分かるくらいとても分かりやすいご説明をしていただき、感謝しております。

どうもありがとうございました。

お礼日時:2011/02/10 09:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています