openSUSE とクラウド 〜Subversion 構築編〜
早速1週間空いてしまいましたが、今週は自宅サーバーにパーソナルクラウド(?)を構築してみましょう。
これまでは、Evernote、Dropbox とオンラインサービスを用いての利用でしたが、
オンラインサービスでは、セキュリティが保たれる(…多分!)代わりに、ディスクの容量といった制限がありますよね。
「こんなことを、自宅サーバーでできないの?」なんて思ってる方は…どれくらいいるかはわかりませんが(^^;
今回は身近な定番ソフト「Subversion」を用いて、似たようなことをやってみようと思います。
Subversion はバージョン管理ソフトとして、実際の開発現場でも使用されるソフトです。
この Subversion のリポジトリを openSUSE サーバー上に置いて、
それを Wiondows PC からアクセスするというのが今回の目的です。
設定次第では、インターネット上にその Subverison リポジトリを公開して…というのもできますが、
それはセキュリティ的なお話もありますので、来週(以降)に紹介しようと思います。
(…となると、「クラウド」と呼べるのは来週のことなのかな?^^;)
それではまず、Subversion のインストールから始めてみましょう。
今回は、シンプルにコマンドを使ってインストールしてみます(^^)
もちろん、ここから先は root ユーザで実行してください。
zypper install subversion
…これだけですね。
インストールが起動したら、Subversion のリポジトリを作成します。
リポジトリはどこに作成してもいいと思いますが、今回は “/srv/svn” という場所にリポジトリを作成していきます。
mkdir /srv/svn
svnadmin create /srv/svn
Subversion のリポジトリの作成は “svnadmin create” を使います。
詳しくは、他のサイトを参照してください(^^)
が、これでは一般ユーザでアクセスできません。
Subversion のリポジトリは、普段使用するユーザーに権限を与えておきましょう。
chown -R hoge:users /srv/svn
「hoge」の箇所は SSH でログインするユーザーに各自変更してください。
「users」は箇所は「hoge」が属するグループ名です。openSUSE の場合は「users」ですね。
(他のディストリビューションの場合はホームディレクトリで ls -l コマンドを入力して確認してください。)
リポジトリ内を確認してみましょう。
こんな感じになりましたか?
mini:~ # ls -l /srv/svn/
total 24
-rw-r–r– 1 ayumu users 229 Feb 13 13:19 README.txt
drwxr-xr-x 2 ayumu users 4096 Feb 13 13:19 conf
drwxr-sr-x 6 ayumu users 4096 Feb 13 13:21 db
-r–r–r– 1 ayumu users 2 Feb 13 13:19 format
drwxr-xr-x 2 ayumu users 4096 Feb 13 13:19 hooks
drwxr-xr-x 2 ayumu users 4096 Feb 13 13:19 locks
次は、Linux 上で作成したリポジトリのテストをしてみます。
なにわともあれ、とりあえずコミットしてみましょう(^^)
ここから先は、一般ユーザ(SSH でログインするユーザ)で操作します。
「test」というディレクトリを作って、それをインポートします。
mkdir -p test/test
cd test
svn import file:///srv/svn/ -m “test import”
「svn import」が Subversion のインポートを実行するコマンドです。
このコマンドを入力することで、リポジトリに対し、「test」というディレクトリを作成します。
「リビジョン 1 をコミットしました。」と出力されたら成功ですよ。
Windows の作業に移る前に、openSUSE サーバーに対して、SSH でログインできるか確認してください。
特に、ファイヤーウォールの設定は忘れずに!!!
YaST から、「ネットワークサービス」→「ファイアウォール」を選択して、
「許可するサービス」に「Secure Shell サーバ」を追加してください。
はい、ここまでが openSUSE 上で実行するコマンドです。
それでは、Windows 上から作成したリポジトリに SSH でアクセスしてみましょう。
Windows では、やはり定番ソフトの TortoiseSVN を使ってみます。
ダウンロードはこちらから。
ダウンロードしたインストーラを起動してインストールします。
インストール後は再起動が必要ですね。(ちょっとめんどいですが^^;)
Windows の再起動が完了したら、デスクトップ上で右クリックをしてみてください。
すると、こんなダイアログが出てきます。
とりあえずチェックアウトがしたいので、「SVN チェックアウト(K)」を選択します。
「リポジトリのURL」に、「svn+ssh://(SSH でログインするユーザ名)@(サーバーのIPアドレス)/srv/svn」
「チェックアウトディレクトリ」には、チェックアウト先のフォルダを指定してください。
「OK」を押すと、何度か SSH のパスワードが訊かれ、それに答えると、チェックアウトが完了します。
(余談: SSH 鍵と Pagent というアプリを使えばパスワードを入力しなくてもチェックアウトできるのですけどね…ここでは割愛^^;)
はい。先ほど作成した「test」というディレクトリがチェックアウトできましたか?
そこまでできれば完了です!(今回はちょっと長かった~?)
ちなみに、SSH をインターネット上に公開すれば、この方法でも「パーソナルクラウド」ができると思います。
…が、僕は個人的にはあまりおすすめしません。
それをやるくらいなら、apache + WebDAV と連携させた方が…と思うからです。
というわけで、次回は apache + WebDAV と連携させる方法を紹介します。