小山博史のJavaを楽しむ(13)Subversionならできる!
NetBook最強バックアップ術
株式会社ガリレオ
小山博史
2009/12/25
■ 仮想マシンにCentOSをインストール
次の手順で、仮想マシンへCentOSをインストールします。
□ 注意! セキュリティ面はあまり考慮しないインストールです
ここでは、家庭のネットワークなどのLAN内にSubversionリポジトリを提供する仮想マシンを作成することを目的とするので、セキュリティ面はあまり考慮しないインストールをしています。要求されるセキュリティや使用しているマシンの状況に応じて、「追加タスク」を選択したり、ファイアウォールやSELinuxの設定などを指定したりしてください。
□ IPアドレスをあらかじめ決めておこう
また、このマシンが使用するIPアドレスをあらかじめ決めておく必要があります。自宅のネットワーク環境について確認して、使えるIPアドレス、ネットマスク、ゲートウェイ(通常はブロードバンドルータ)のIPアドレス、DNS(通常はブロードバンドルータ)のIPアドレスをメモしておきましょう。
- 作成した仮想マシン「CentOS」をクリックして選択
- VirtualBoxのメニューで[仮想マシン]→[起動]を指定
- キーボードの自動キャプチャについて説明ダイアログが表示されるので、[OK]をクリック
- CentOSのインストールブート画面が表示されるので、マウスでクリック
- キーボードとマウスのキャプチャについて説明ダイアログが表示されるので、[キャプチャ]をクリック
- CentOSのインストールブート画面で[Enter]
- DVDのメディアチェックは[Skip]
- 途中いくつか[VirtualBox-情報]のダイアログが表示されるが、[OK]をクリック
- ウィザードに従ってインストール
- 言語の指定画面で「Japanese(日本語)」を指定し、[Next]をクリック
- キーボードの指定画面で「日本語」を指定し、[次]をクリック
- デバイスhda(先ほど作成した仮想HDD CentOS.vdi)について初期化されていないため警告が出るので、[はい]をクリック
- ハードディスクのパーティション設定は、デフォルトのまま[次]をクリック
- パーティションの削除について警告が出て、「本当にすべてを削除しますか?」と聞かれるので、[はい]をクリック
- ネットワークデバイスの指定では、定常的に使うので、[編集]をクリック
- [Enable IPv4 support]はチェックした状態のまま、[Manual Configuration]を指定
- ここで、あらかじめ調べておいたCentOSで使用するIPアドレスと適切なネットマスクを指定(例えば、[IP Address]に「192.168.0.100」、[Prefix]に「255.255.255.0」を指定)
- IPv6については必要なら指定(ここでは、特に必要ではないので、[Enable IPv6 support]のチェックを外した)
- [OK]をクリック
- [ホスト名]が[手動設定]となるので、ここでは「svn」を指定(「localhost.localdomain」のままでもよい)
- [ゲートウェイ]、[DNS]にIPアドレスを指定し、[次]をクリック(ここではブロードバンドルータのIPアドレスである「192.168.0.1」を指定)
- 時刻に関する設定はデフォルトのまま[次]をクリック
- rootのパスワードは適切な値を指定して[次]をクリック
- 追加タスクを指定して[次]をクリック(ここでは、「Desktop-Gnome」にチェックがある状態で先に進めた)
- インストール開始前の説明画面が表示されるので、[次]をクリック
- インストールが開始され、しばらくたつと完了する
- VirtualBoxのメニューで[デバイス]→[CD/DVDデバイス]→[CD/DVDデバイスのマウント解除]を指定(これでCD/DVDが空になり、仮想マシンがDVDを取り出した状態になる)
- [再起動]をクリック
- [ようこそ]画面が表示されるので[進む]をクリック
- [ファイアウォール]画面が表示されるので、「SSH」「WWW(HTTP)」をチェックして[進む]をクリック(必要に応じて、ほかの項目もチェック)
- ファイアウォールの上書きについて確認ダイアログが出るので、[はい]をクリック
- [SELinux設定]では「無効」を指定し、[進む]をクリック(SELinuxについて詳しいなら、Enforcingのままに)
- firstbootが完了した後にシステムを再起動するか聞かれるので、[はい]をクリック
- [日付と時刻]では、[ネットワークタイムプロトコル]タブを開いて、[ネットワークタイムプロトコル(ntp)を有効にする]をチェック(適切なNTPサーバを[追加]して、それを使うようにしておくとよい。ここでは、「ntp.ring.gr.jp」を指定した。プロバイダが提供するNTPサーバがあるなら、そちらを使用)
- [ユーザーの作成]では、ユーザー情報を指定して[進む]をクリック
- [サウンドカード]では、デフォルトのまま[進む]をクリック
- [追加のCD]は特にないので、そのまま[終了]をクリック
- 再起動を促されるので、[OK]をクリック
VirutalBox Guest Additionsのインストールをすると、さらに仮想マシンを便利に利用できます。しかし、ここではSubversionリポジトリが利用できるところまで説明するのが目的なので、省略します。
■ CentOSでのSubversionの設定
CentOSが起動したら、Subversionの設定をします。ユーザー名にroot、パスワードはインストール時に指定したものを入力してログインをします。
□ Subversionのインストール+設定と必要なモジュールのインストール
CentOSでは、「yum」というコマンドを使って、セキュリティアップデートやアプリケーションインストールができます。ここでは、Subversionに必要なアプリケーションと、SubversionリポジトリをApache HTTP Server(Webサーバ)経由でアクセスできるようにするモジュール「mod_dav_svn」をインストールします。
- [アプリケーション]→[アクセサリ]→[GNOME端末]をクリック
- 時間が大きくずれていることがあるので、ntpdateコマンドで時刻同期(ntpdが稼働していると、ntpdateコマンドが使えないので実行前にntpd停止、実行後にntpd起動)
# service ntpd stop # ntpdate ntp.ring.gr.jp # service ntpd start - ※セキュリティアップデート(もし途中で「Is this ok [y/N]:」と聞かれたら、「y」を入力し[Enter])
# yum -y update - Subversionのインストール(もし途中で「Is this ok [y/N]:」と聞かれたら、「y」を入力し[Enter])
# yum -y install subversion - Apache HTTP Server用Subversionモジュールである「mod_dav_svn」のインストール
# yum -y install mod_dav_svn - Subverisonリポジトリを作成
# mkdir /var/www/svn # svnadmin create /var/www/svn/workspace # chown -R apache:apache /var/www/svn - 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 - 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 - Apache HTTP Serverの設定ファイル(/etc/httpd/conf/httpd.conf)を修正([アプリケーション]→[アクセサリ]→[GNOME テキスト・エディタ]をクリックして表示されるエディタや、viなどGNOME端末で使えるエディタを使う)
【略】 # ServerName www.example.com:80 ServerName svn:80 【略】 - 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> - Apache HTTP Serverの設定について、configtestコマンドで確認。(問題がなければ、「Syntax OK」と表示される。問題がある場合は、エラーメッセージを読んで対処が必要)
# service httpd configtest Syntax OK - Apache HTTP Serverを起動
# service httpd start - Subversionアクセスの動作確認(ここでは、CentOSのIPアドレスが192.168.0.100だとして指定している。また、ユーザー「user001」でアクセスができるか確認をし、「hello」という文字列を含む「hello.txt」を作成してSubversionリポジトリへ追加してコミットできることを確認している。エラーが出た場合は、設定に問題があるので対処が必要)
# svn checkout http://192.168.0.100/repos/workspace --username user001 認証領域: <http://192.168.0.100:80> 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 をコミットしました。 - 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クライアントをインストールし、ファイルの同期をやってみます。
| 1-2-3-4-5 |
| INDEX | ||
| 第13回 Subversionならできる! NetBook最強バックアップ術 | ||
| Page1 NetBookでのバックアップに困っていませんか? NetBookの利点・欠点 NetBookのあんな用途・こんな用途 |
||
| Page2 データの同期といっても方法はイロイロ Subversion+Linux+仮想マシン=最強バックアップ |
||
| Page3 NetBook最強バックアップのための環境構築の手順 仮想化ソフト「VirtualBox 3.1.2」のインストール 仮想マシンの作成 |
||
| Page4 仮想マシンにCentOSをインストール CentOSでのSubversionの設定 |
||
| Page5 Subversionのクライアントには「TortoiseSVN」を使う Subversionでファイルの同期をやってみよう! 年末など時間が空いたときに試してみよう |
||
小山博史のJavaを楽しむ バックナンバー 連載インデックスへ»
- 第1回 JavaとJavaScriptの親しい関係
- 第2回 いろいろなJavaを楽しむ
- 第3回 待望のJava SE 6 でパーシステンス
- 第4回 (Java+Derby)* Ruby on Rails プログラミング
- 第5回 【新人研修向け特別企画】JavaでPHPを使ってみた
- 第6回 JavaFXでJava RIA開発はどれくらい変わるの?
- 第7回 そろそろブログ+RSSアプリでも作ってみませんか?
- 第8回 デスクトップをJava製ウィジェットでにぎやかに
- 第9回 Google Android用携帯アプリ作成のための基礎知識
- 第10回 【新人なるプログラマーへ】ソースコードを読みましょう
- 第11回 Javaはクラウドのプラットフォームになり得るのか
- 第12回 「Javaは遅い」から「Javaは楽しい」に至る歴史
- 第13回 Subversionならできる! NetBook最強バックアップ術
- 第14回 UNIX/Linuxも楽しむJava開発者になるための学習法
- 第15回 年末でJetty(絶対)にできるAndroid携帯サーバ活用
| Java Solutionコラム一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
