Subversionを ssh 経由で使おう(ApacheもWebDAVも必要ないよ)
Subversionをローカルだけでなく本格的にサーバーで使おうと思うといつも障害になるのが以下の誤解だ。(というか今日まで誤解していた)
Apacheで難しい設定をしなくてはならない
⇒Apacheの使用は必須ではない。インストールにaprというApache由来のライブラリが必要なだけ。
WebDAVとかいうよく分からない仕組みを理解しなければならない
⇒同じく必須ではない
svnserverとかいうサーバを常駐させる必要がある
⇒同じく必須ではない
結局すべて、誤解でだった。
個人で使うならば、もっと簡単(?)というか親しみやすい方法があり、それが「ssh経由でアクセス」である。
自分的に ssh の理解も怪しかったのであわせて手順メモを残しておきます。
subversionのインストールは yum でやっていますが環境に合わせて下さい。
1.ssh設定
以下ユーザー名は higepon とする
1-1.鍵の作成
ssh-keygen -t dsa # 生成するキーの名前は任意でよい
1-2.公開鍵の設定
ログインしようとしているサーバーで
/home/higepon/.ssh/authorized_keys2を編集
先ほど生成した .pubの公開鍵の中身を追記する
1-3.クライアント側で秘密鍵を設定する
1-3-1. 適当な場所たとえば /home/higepon/tmp/秘密鍵 を置く
1-3-2. ssh taro@サーバ -i /home/higepon/tmp/秘密鍵 でログインしてみる
1-3-3. ログインできれば1段階目クリア
1-3-4. 秘密鍵の内容をクライアント側の /home/higepon/.ssh/id_dsaとして保存する
1-3-5. ssh taro@サーバー でログインできればOK
2.subversionのインストールと動作確認
以下サーバー上での作業
2-1. sudo yum install subversion # 簡単!
2-2. mkdir /home/higepon/svn/repos
2-3 svnadmin create /home/higepon/svn/repos # リポジトリ作成
2-4 svn import myproject file:///home/higepon/svn/repos -m "initial import" # インポート
3.subversionをssh経由で
3-1. クライアントからssh経由で subversion を操作
3-2. svn checkout svn+ssh://higepon@サーバ/home/higepon/svn/repos myproject # svn+ssh://でアクセス!
というわけで ssh 経由で簡単にアクセスできました。
簡単にポイントをまとめると
- subversionを公開するサーバに ssh できる環境を整える
- svn コマンド xx svn+ssh://・・・の形式でアクセスすること
となります。
しかし意外と誰でも使いそうな情報がまとまってないんだなぁ。みんなはまじめにマニュアルを熟読しているんだろうか?
ちなみに1-3-4.ですでに別のサーバ用の id_dsa 存在場合は追記でよいのだろうか?(教えてエロイ人)
ちなみに2
この後きっと、 ViewCVSのインストールでレポジトリの公開、Emacsからコミットとかを調べ始めると思うのですが、もし良いサイトを知っていたら教えてくださいませ。
Subversionを ssh 経由で使おう2(Emacsのvc-svnを利用する) - Higepon’s blogへ続きます。