- - PR -
linuxでのSubversion導入について
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-05-01 00:18
いつもお世話になります。
現在LINUXでSubversionの導入をしておりますが、うまく動作しておりません。 構成 OS:SLES10 x86_x64 Subversion環境: Apache2,Berkeley DB(Versionはメモ忘れ),Subversion(Versionはメモ忘れ) 以下のリンクにある手順の通り作業をしております。 http://www.atmarkit.co.jp/flinux/special/webdav03/webdav02a.html 現象としてはインストール時にはエラーなどは見当たらなかったのですが、 いざ最初のファイルをインポートしようとすると以下のメッセージが出てきてしまいます。 # svn import file:///tmp/svn/trunk -m "creating trunc directory for repos" svn: Unable to open an ra_local session to URL svn: Unable to open repository 'file:///tmp/svn' インポートだけでなく、"svn mkdir"でも同様のエラーが出てしまいます。 # svn mkdir file:///tmp/svn/trunk -m "making trunk directory for repos" svn: Unable to open an ra_local session to URL svn: Unable to open repository 'file:///tmp/svn' リポジトリにアクセスできていないようなメッセージですが、 Webブラウザからhttp参照するとリポジトリは参照できているようです。 (Revision 0 が表示されます) 参照は出来ても書き込み権限がないのかしら?と疑っております。 今自分でここが原因かもしれない、と思っている箇所は、 インストール手順を全てrootで実行してしまっているところです。 上記urlの手順には「makeまで実行が終わったらrootにsuして・・・」とあるのですが、 そもそもsuする前のユーザは誰で実行するのかがわからず(手順にもなかったので・・・)、 とりあえず以下の作業を全てrootでやってしまっております。 1.Apacheのインストール(tarの解凍からmake installまで) 2.BerkeleyDBのインストール(tarの解凍からmake installまで) 3.Subversionのインストール(tarの解凍からmake installまで) ここに問題がありますでしょうか? 一般的にapache・BerkleyDB・Subversionは誰ユーザでmakeまでやるという決まりはありますでしょうか? なんだか情けない質問ですが、大変困っておりますので どなたかご教示願えませんでしょうか? こちらからの情報不足などがありますようでしたらご指摘くださいませ。 よろしくお願いいたします。 | ||||||||||||||||
|
投稿日時: 2008-05-01 00:34
参照している記事がずいぶんと古いもののようですが…
svn infoでは下記の様な出力になります。(日本語環境です) $ svn info file:///home/setoppu/svnrepos/WebPages パス: WebPages URL: file:///home/setoppu/svnrepos/WebPages リポジトリのルート: file:///home/setoppu/svnrepos/WebPages リポジトリ UUID: 3b1f7a96-8c65-4a76-9579-22f0f832709d リビジョン: 23 ノード種別: ディレクトリ 最終変更者: setoppu 最終変更リビジョン: 23 最終変更日時: 2007-08-11 22:38:52 +0900 (土, 11 8月 2007) $ | ||||||||||||||||
|
投稿日時: 2008-05-01 01:46
瀬戸っぷ様 夜分遅くご対応ありがとうございます。
いつもここの方々からの早いご回答助かります。 早速ご質問への回答をさせていただきます。
svnadmin create /home/svn/repos と打ち込みました。
# svn info file:///home/svn/repos/ Path: repos URL: file:///home/svn/repos Repository Root: file:///home/svn/repos Repository UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx <<-- ここはマスクさせていただきました。 Revision: 0 Node Kind: directory Last Changed Rev: 0 Last Changed Date: 2008-04-01 02:05:40 +0900 (Tue, 01 Apr 2008) コマンドと結果を返答とさせていただきます。
例のリンクの手順に「httpdの権限で実際にリポジトリを読み書きできるようにするため」、 「# chown -R nobody:nobody /home/svn」を実行しております。 以下にリポジトリディレクトリのls結果を記述します。 HOGESV01:/home/svn/repos # ls -l total 28 -rw-r--r-- 1 nobody nobody 229 Apr 1 02:05 README.txt drwxr-xr-x 2 nobody nobody 4096 Apr 20 19:55 conf drwxr-xr-x 2 nobody nobody 4096 Apr 1 02:05 dav drwxr-sr-x 5 nobody nobody 4096 Apr 1 02:05 db -r--r--r-- 1 nobody nobody 2 Apr 1 02:05 format drwxr-xr-x 2 nobody nobody 4096 Apr 1 02:05 hooks drwxr-xr-x 2 nobody nobody 4096 Apr 1 02:05 locks
そうでしたか・・・。ここまで懇切丁寧に教えてくれているサイトが無かったものですから・・・ 蛇足ですが、一般的にはリポジトリはBerkeleyDBは使用しないのでしょうか? また、他に新しい記事で丁寧に教えてくれるサイトなどはありますでしょうか? なお、不明だったバージョンは以下と判明しました。 Berkeley DB:db-4.6.21 Subversion:1.4.6 apache:httpd-2.2.8 他に必要な情報はありますでしょうか? よろしくお願いいたします。 | ||||||||||||||||
|
投稿日時: 2008-05-01 02:16
はずしているかもしれませんが、
# chown -R apahce:apache /home/svn を試されてみては? もしくは、 # chmod -R 777 /home/svn とか。 | ||||||||||||||||
|
投稿日時: 2008-05-01 13:03
あれ?よく見るとwが無いですね・・・。 ありがとうございます、すけ様。 環境に戻ったら [ # chmod -R 777 /home/svn ] やってみます。 夜にまた実行結果報告させていただきます。 [ メッセージ編集済み 編集者: コウジ 編集日時 2008-05-01 13:03 ] [ メッセージ編集済み 編集者: コウジ 編集日時 2008-05-01 13:04 ] | ||||||||||||||||
|
投稿日時: 2008-05-02 00:48
最初の
とは違っている様ですが、新しく作り直したのでしょうか?
既に指摘されていますが… この場合だとリポジトリのURLはhttp://〜でのアクセスになりますよね? インポートしようとしているユーザからは書き込み権限がありませんし。 ウチのはhttp://でのアクセスは設定せずに、svn://でアクセスしています。 svn+ssh://も可能なようにしていますが…。 というワケで $ ls -lh webpages 合計 56K -rw-rw-r-- 1 svn svn 229 2月 25 2007 README.txt drwxrwxr-x 2 svn svn 4.0K 2月 25 2007 conf drwxrwxr-x 2 svn svn 4.0K 2月 25 2007 dav drwxrwsr-x 5 svn svn 4.0K 8月 11 2007 db -r--r--r-- 1 svn svn 2 2月 25 2007 format drwxrwxr-x 2 svn svn 4.0K 4月 20 2007 hooks drwxrwxr-x 2 svn svn 4.0K 2月 25 2007 locks こうなっています。 自分のユーザをsvnグループに追加しています。
現在のデフォルトではFSFSになるかと。 $ cat db/fs-type でどちらか判るかと思います。 http://www.thinkit.co.jp/free/article/0611/2/2/ 他にもSubversionでググるとイロイロ出てくるでしょう。 私は http://www.amazon.co.jp/%E5%85%A5%E9%96%80Subversion%E2%80%95Windows-Linux%E5%AF%BE%E5%BF%9C-%E4%B8%8A%E5%B9%B3-%E5%93%B2/dp/4798013730/ref=pd_sim_b_njs_title_1 の書籍で勉強しましたが。 | ||||||||||||||||
|
投稿日時: 2008-05-02 10:01
間違えておりました(コマンドの使い方を勘違いしておりました)。このコマンドを # svn import file:///home/svn/trunk -m "creating trunc directory for repos" # svn mkdir file:///home/svn/tags -m "creating tag directory for repos" と修正したらエラーなく実行完了し、ブラウザからも参照できました。 また、rootからだけでなく、別のユーザ(HOGE)にすして実行したところ、 やはり「permission denied」が出たので # chmod -R 777 /home/svn を実行したところ、HOGEユーザからもエラー無くmkdirできました。 ありがとうございました、瀬戸っぷ様、すけ様。 そして・・・、 次のステップとしてsvn+sshで実行したところ、おかしな動作が出てきたのですが・・・。 作業が夜分遅くて動作の整理ができておりません。ログなどの再報告は夜になるかと思います。 よろしかったらまたお付き合いお願いできればと思っております。 [ メッセージ編集済み 編集者: コウジ 編集日時 2008-05-02 10:02 ] |
1