tswi's dev

動くものが正しいものだ

自宅でダラダラ開発環境(SVNサーバ)構築

自宅でだらだらとコーディングできる環境を構築した。
といっても、SVNサーバを構築してMac Pro/MacBook Air間でEclipseを利用してリポジトリの同期ができるようにしただけなんだけど。
githubの利用も考えたものの、無料アカウントだとプライベートリポジトリが持てないようなので、Linux上でバージョン管理するようにした。

Step0: 準備するもの

  • SVNサーバ用マシン(今回はMacにVirtualBox 4.1.8をインストールし、ゲストOSとしてCentOS 6.2をインストール済み)
  • クライアント用マシン * 2(今回はMac ProとMacBook Air)

ちなみに仮想マシン上で動いているSVNサーバは、VirtualBoxの[仮想マシン]-[設定]からホストのネットワークをブリッジするように設定。

Step1: SVNサーバのセットアップ

以下の情報を参考にして設定&サービス起動

まずはパッケージのインストール。httpdとかsubversionはOSインストール時にセットアップ済みなので、1つだけ。

# yum install mod_dav_svn

次はsubversion.confの設定変更。

# vi /etc/httpd/conf.d/subversion.conf

(前略)

<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn

#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#       SSLRequireSSL

      AuthType Basic
      AuthName "Authorization"
      AuthUserFile /etc/httpd/conf/.htpasswd
      AuthzSVNAccessFile /etc/svnusers
      Require valid-user
#   </LimitExcept>
</Location>

それからsvnusersの作成

# vi /etc/svnusers

[site:/]
* = rw

SVNリポジトリの作成

# mkdir /var/www/svn/site
# svnadmin create /var/www/svn/site
#chown -R apache. /var/www/svn

SVNユーザ追加

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

これで /etc/rc.d/init.d/httpd restart とかすればOKのはずなんだけど、ターミナルからはなぜか再起動に失敗する。仕方が無いのでGUIのメニューから[システム]-[管理]-[サービス]を選択し、開いたウィンドウのサービス一覧からhttpdを選択して[停止]→[開始]の順に操作。

httpdを再起動させたら、クライアント用のマシンでWebブラウザを開き、SVNリポジトリにアクセスできることを確認する。
接続時には認証が必要なので、先程追加したSVNユーザのID/PASSを入力する。

http://<サーバ名もしくはIPアドレス>/repos/site

Step2: Eclipseの設定

ファイルアップロード

ちなみに私は諸々のプラグインが追加されたPleiades all in one版のEclipse 3.6を利用してるので、以下はその環境での操作。
すでにMac Pro側で作成しているjavaプロジェクトをSVNにコミット

  1. Eclipse起動
  2. プロジェクトのルートで右クリックし、[チーム]-[プロジェクトの共用]を選択
  3. 新しいリポジトリ・ロケーションとして先ほどブラウザに入力したURLをコピーペースト
  4. リポジトリ・ロケーションの指定はシンプルモードで
  5. そのまま進めていくと、コミットするソース一覧が出てくるので、.project等はチェックを外す。今回はソースの類(.javaとか.propertiesとか)とライブラリ類のみコミット
  6. コミット完了までしばらく待つ

ここまでできたら、[ウィンドウ]-[ビューの表示]-[その他]を選択して"SVNリポジトリー"を表示させ、新規リポジトリとして先ほどのURLを指定し、きちんとファイルがアップロードされていることを確認

ファイルダウンロード

ここまで来ればあと一息。MacBook Air側でSVNに登録してあるファイルをダウンロードする。こちらもPleiades all in one版のEclipse 3.6がインストール済みである前提。

  1. Eclipse起動
  2. javaプロジェクトの作成
  3. プロジェクトのルートで右クリックし、[チーム]-[プロジェクトの共用]を選択
  4. ダイアログの内容通りに進めるとファイルアップロード一覧が表示されるけど、SVNに接続だけ行いアップロードはキャンセル
  5. 再度プロジェクトのルートで右クリックし、[チーム]-[更新]を選択
  6. ファイル(ソース+ライブラリ)がダウンロードされたら、ビルドパスを設定

これでMacBook Airからも開発ができるようになった。
ベッドでゴロゴロしながら作るもよし、外に持ちだして帰宅後にコミットするもよし。快適なモバイルコーディング環境をエンジョイできちゃうね!