daybreaksnow's diary

私を私と呼びたい

[SVN]さくらのVPSにSVNリポジトリを立てる

参考:
Subversion環境をCentOSで構築 - 無理なものは無理
10分で作る、Subversionレポジトリ (CentOS 版) - ishikawa84g's blog

mod_dav_svnのインストール

必要なパッケージがインストールされているか確認

yum list installed | grep subversion
yum list installed | grep mod_dav_svn

subversionはインストール済みだったが、mod_dav_svnはなかった。

インストールする。

yum install mod_dav_svn

SVNリポジトリの作成

テスト用にsandboxというリポジトリを作る。trunkとかbranchはひとまず無視。

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

Apache の設定(Basic 認証)

BASIC認証用のユーザ、パスワード設定

htpasswdコマンドを使って、ユーザ、パスワードを設定する

htpasswd -c /etc/httpd/.htpasswd ユーザ名 

実行後、パスワードが聞かれるので入力。
パスワードはデフォルトではcrypt関数で暗号化されて保存される。(Cのcrypt関数のこと?)

  • cは新規ファイル作成という意味なので、複数ユーザを追加する際は、-cは除く。

-cが付いていると、既存のファイルがあっても上書きされてしまうので注意。

apacheSVNの連携

mod_dav_svnのインストールにより、以下のファイルが作成されている。これを編集する。

/etc/httpd/conf.d/subversion.conf

・Locationタグをコメントアウト
・Locationタグのパスを、アクセスしたいURLにする(reposをsvnに変更した)
・AuthUserFileのパスをさっき作ったパスに変更

<Location /svn>
   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 Realm"
      AuthUserFile /etc/httpd/.htpasswd
      Require valid-user
#   </LimitExcept>
</Location>

httpdを再起動すれば終わり。

今回の例だと、http://(IPアドレス)/svn/sandboxにアクセスすればリポジトリの中身が見える。