連載
» 2009年12月25日 00時00分 公開

小山博史のJavaを楽しむ(13):Subversionならできる! NetBook最強バックアップ術 (4/5)

[小山博史,株式会社ガリレオ]

仮想マシンにCentOSをインストール    

 次の手順で、仮想マシンへCentOSをインストールします。

注意! セキュリティ面はあまり考慮しないインストールです

 ここでは、家庭のネットワークなどのLAN内にSubversionリポジトリを提供する仮想マシンを作成することを目的とするので、セキュリティ面はあまり考慮しないインストールをしています。要求されるセキュリティや使用しているマシンの状況に応じて、「追加タスク」を選択したり、ファイアウォールSELinuxの設定などを指定したりしてください。

IPアドレスをあらかじめ決めておこう

 また、このマシンが使用するIPアドレスをあらかじめ決めておく必要があります。自宅のネットワーク環境について確認して、使えるIPアドレス、ネットマスク、ゲートウェイ(通常はブロードバンドルータ)のIPアドレス、DNS(通常はブロードバンドルータ)のIPアドレスをメモしておきましょう。

  1. 作成した仮想マシン「CentOS」をクリックして選択
  2. VirtualBoxのメニューで[仮想マシン]→[起動]を指定
  3. キーボードの自動キャプチャについて説明ダイアログが表示されるので、[OK]をクリック
  4. CentOSのインストールブート画面が表示されるので、マウスでクリック
  5. キーボードとマウスのキャプチャについて説明ダイアログが表示されるので、[キャプチャ]をクリック
  6. CentOSのインストールブート画面で[Enter]
  7. DVDのメディアチェックは[Skip]
  8. 途中いくつか[VirtualBox-情報]のダイアログが表示されるが、[OK]をクリック
  9. ウィザードに従ってインストール
  10. 言語の指定画面で「Japanese(日本語)」を指定し、[Next]をクリック
  11. キーボードの指定画面で「日本語」を指定し、[次]をクリック
  12. デバイスhda(先ほど作成した仮想HDD CentOS.vdi)について初期化されていないため警告が出るので、[はい]をクリック
  13. ハードディスクのパーティション設定は、デフォルトのまま[次]をクリック
  14. パーティションの削除について警告が出て、「本当にすべてを削除しますか?」と聞かれるので、[はい]をクリック
  15. ネットワークデバイスの指定では、定常的に使うので、[編集]をクリック
  16. [Enable IPv4 support]はチェックした状態のまま、[Manual Configuration]を指定
  17. ここで、あらかじめ調べておいたCentOSで使用するIPアドレスと適切なネットマスクを指定(例えば、[IP Address]に「192.168.0.100」、[Prefix]に「255.255.255.0」を指定)
  18. IPv6については必要なら指定(ここでは、特に必要ではないので、[Enable IPv6 support]のチェックを外した)
  19. [OK]をクリック
  20. [ホスト名]が[手動設定]となるので、ここでは「svn」を指定(「localhost.localdomain」のままでもよい)
  21. [ゲートウェイ]、[DNS]にIPアドレスを指定し、[次]をクリック(ここではブロードバンドルータのIPアドレスである「192.168.0.1」を指定)
  22. 時刻に関する設定はデフォルトのまま[次]をクリック
  23. rootのパスワードは適切な値を指定して[次]をクリック
  24. 追加タスクを指定して[次]をクリック(ここでは、「Desktop-Gnome」にチェックがある状態で先に進めた)
  25. インストール開始前の説明画面が表示されるので、[次]をクリック
  26. インストールが開始され、しばらくたつと完了する
  27. VirtualBoxのメニューで[デバイス]→[CD/DVDデバイス]→[CD/DVDデバイスのマウント解除]を指定(これでCD/DVDが空になり、仮想マシンがDVDを取り出した状態になる)
  28. [再起動]をクリック
  29. [ようこそ]画面が表示されるので[進む]をクリック
  30. [ファイアウォール]画面が表示されるので、「SSH」「WWW(HTTP)」をチェックして[進む]をクリック(必要に応じて、ほかの項目もチェック)
  31. ファイアウォールの上書きについて確認ダイアログが出るので、[はい]をクリック
  32. [SELinux設定]では「無効」を指定し、[進む]をクリック(SELinuxについて詳しいなら、Enforcingのままに)
  33. firstbootが完了した後にシステムを再起動するか聞かれるので、[はい]をクリック
  34. [日付と時刻]では、[ネットワークタイムプロトコル]タブを開いて、[ネットワークタイムプロトコル(ntp)を有効にする]をチェック(適切なNTPサーバを[追加]して、それを使うようにしておくとよい。ここでは、「ntp.ring.gr.jp」を指定した。プロバイダが提供するNTPサーバがあるなら、そちらを使用)
  35. [ユーザーの作成]では、ユーザー情報を指定して[進む]をクリック
  36. [サウンドカード]では、デフォルトのまま[進む]をクリック
  37. [追加のCD]は特にないので、そのまま[終了]をクリック
  38. 再起動を促されるので、[OK]をクリック

 VirutalBox Guest Additionsのインストールをすると、さらに仮想マシンを便利に利用できます。しかし、ここではSubversionリポジトリが利用できるところまで説明するのが目的なので、省略します。

CentOSでのSubversionの設定    

 CentOSが起動したら、Subversionの設定をします。ユーザー名にroot、パスワードはインストール時に指定したものを入力してログインをします。

Subversionのインストール+設定と必要なモジュールのインストール

 CentOSでは、「yum」というコマンドを使って、セキュリティアップデートやアプリケーションインストールができます。ここでは、Subversionに必要なアプリケーションと、SubversionリポジトリをApache HTTP Server(Webサーバ)経由でアクセスできるようにするモジュール「mod_dav_svn」をインストールします。

1.[アプリケーション]→[アクセサリ]→[GNOME端末]をクリック

2.時間が大きくずれていることがあるので、ntpdateコマンドで時刻同期(ntpdが稼働していると、ntpdateコマンドが使えないので実行前にntpd停止、実行後にntpd起動)

# service ntpd stop
# ntpdate ntp.ring.gr.jp
# service ntpd start

3.※セキュリティアップデート(もし途中で「Is this ok [y/N]:」と聞かれたら、「y」を入力し[Enter])

# yum -y update

4.Subversionのインストール(もし途中で「Is this ok [y/N]:」と聞かれたら、「y」を入力し[Enter])

# yum -y install subversion

5.Apache HTTP Server用Subversionモジュールである「mod_dav_svn」のインストール

# yum -y install mod_dav_svn

6.Subverisonリポジトリを作成

# mkdir /var/www/svn
# svnadmin create /var/www/svn/workspace
# chown -R apache:apache /var/www/svn

7.Apacheのパスワードファイルの作成(パスワードを変更する場合は、「-c」を付けない。ここでは、「user001」というユーザーを作成し、パスワードを指定している。「New password:, Re-type new password:」で同じ文字列をパスワードとして指定している)

# htpasswd -c /etc/httpd/.svnpasswd user001
New password:
Re-type new password:
Adding password for user user001

8.Apache HTTP Serverの設定ファイルとSubverisonモジュール設定ファイルをバックアップ

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.original
# cp /etc/httpd/conf.d/subversion.conf /etc/httpd/conf.d/subversion.conf.original

9.Apache HTTP Serverの設定ファイル(/etc/httpd/conf/httpd.conf)を修正([アプリケーション]→[アクセサリ]→[GNOME テキスト・エディタ]をクリックして表示されるエディタや、viなどGNOME端末で使えるエディタを使う)

【略】
# ServerName www.example.com:80
ServerName svn:80
【略】

10.Apache HTTP ServerのSubverisonモジュール設定ファイル(/etc/httpd/conf.d/subversion.conf)編集

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /repos>
  DAV svn
  SVNParentPath /var/www/svn
  AuthType Basic
  AuthName "Authorization Realm"
  AuthUserFile /etc/httpd/.svnpasswd
  Require valid-user
</Location>

11.Apache HTTP Serverの設定について、configtestコマンドで確認。(問題がなければ、「Syntax OK」と表示される。問題がある場合は、エラーメッセージを読んで対処が必要)

# service httpd configtest
Syntax OK

12.Apache HTTP Serverを起動

# service httpd start

13.Subversionアクセスの動作確認(ここでは、CentOSのIPアドレスが192.168.0.100だとして指定している。また、ユーザー「user001」でアクセスができるか確認をし、「hello」という文字列を含む「hello.txt」を作成してSubversionリポジトリへ追加してコミットできることを確認している。エラーが出た場合は、設定に問題があるので対処が必要)

# svn checkout http://192.168.0.100/repos/workspace --username user001
認証領域:  Authorization Realm
'user001' のパスワード:
リビジョン 0 をチェックアウトしました。
# cd workspace
# echo "hello" > hello.txt
# svn add hello.txt
A         hello.txt
# svn commit -m "added hello.txt"
追加しています              hello.txt
ファイルのデータを送信中です.
リビジョン 1 をコミットしました。

14.Subversionアクセス動作確認ができたら、httpd自動起動の設定

# chkconfig httpd on

「リビジョン」を覚えておこう

 Subversionリポジトリにあるファイルの履歴は、「リビジョン」単位で管理されているので、リビジョン番号によって、ある時点の履歴を取り出せます。最初にcheckoutした時点では、リビジョンは0でした。hello.txtを追加した時点では、リビジョンは1でした。このリビジョンは、ある時点のファイルを取り出すときに使われる重要な概念ですから覚えておきましょう。

 以上で、仮想マシンCentOSに、192.168.0.100のIPアドレスで動作するホストsvnをインストールし、「http://192.168.0.100/repos/workspace」というURLのSubversionリポジトリを用意できました。Subversionリポジトリには、まだ「hello.txt」しか入っていませんが、ここに母艦とNetBookで共有したいファイルをコミットして同期を取れるようになりました。

 次のページでは、いよいよNetBookにSubversionクライアントをインストールし、ファイルの同期をやってみます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。