Apache 2 + mod_dav_svnでSubversionを試してみた
一人で完結する作業が多いので、どれが最新だったとか、どのくらいの時期に使っていたとかはある程度把握できるのですが、やはり限界があったり、結局のところ自分ひとりだけではないことがあるので、バージョン管理について調べてみることにしました。
今回はCentOS5でApache2が構築済みのサーバにSubversionをインストールし、Web経由でバージョン管理を行う方法です。
Subversionのインストール
yumコマンドでSubversionとmod_dav_svnをインストールします。
yum install subversion mod_dav_svn
Subversion設定
設定方法については、バージョン管理システム構築(Subversion) – CentOSで自宅サーバー構築、またサブドメインで運用をしたかったので、Apache 2 + mod_dav_svnでsvnレポジトリをサブドメインで運用する – Post-itみたいなを参考にさせていただきました。
<VirtualHost *:80>
ServerName svn.example.com
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /var/www/svn/repos
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/pass/.htpasswd
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>
.htpasswdを設定
AuthUserFileで指定した.htpasswdにBASIC認証用ユーザを登録します。追加方法はこんな感じ。
htpasswd .htpasswd new_user
Apacheの再起動
最後にApacheを再起動すれば完了です。
/etc/init.d/httpd restart
管理方法
後はTortoiseSVNや、DreamWeaver、Eclipse等でバージョン管理を行うことが出来ます。
例えば上記の設定で、「project1」というディレクトリを作り、DreamWeaver CS5で管理する場合、バージョン管理を行うサイトの設定内の「バージョンコントロール」に、以下のように設定します。
- アクセス
- Subversion
- プロトコル
- HTTP
- サーバアドレス
- svn.example.com
- リポジトリパス
- /repos/project1
- サーバーポート
- 80
- ユーザ名
- BASIC認証で設定したユーザ名
- パスワード
- BASIC認証で設定したパスワード