SubVersionにリポジトリを作成


前提

  • VirtualBox
  • Debian10
  • Bitnami Redmine(With SVN Git Mysql)

やりたい事

  • SubVersionに新規リポジトリを作成

リポジトリを作成

1./home配下にsvnフォルダを作成して、所有者:グループを設定

command
cd /home
sudo mkdir svn
sudo chown -R daemon:daemon svn/

2.Bitnamiのapacheの実行ユーザー:グループを確認

command
cat -n /opt/[redmine]/apache2/conf/httpd.conf
# 174 User daemon
# 175 Group daemon
# になっているかを確認
# [redmine]は自分の環境に合わせてください

3.リポジトリを作成

command
cd /opt/[redmine]
sudo ./use_redmine
svnadmin create /home/svn/[myrepo1]
chown -R daemon:daemon /home/svn/[myrepo1]
# [myrepo1]は任意で決めてください

4.apacheにSVNのパスを設定する

command
sudo nano /opt/[redmine]/apache2/conf/httpd.conf
# LoadModule dav_svn_module     modules/mod_dav_svn.so
# LoadModule authz_svn_module   modules/mod_authz_svn.so
# 上記2つはコメントアウトを解除する
# ファイルの最後に下記の1行を追加
# Include "/opt/[redmine]/apache2/conf/extra/httpd-svn.conf"

# /opt/[redmine]/apache2/conf/extraに「httpd-svn.conf」を作成する
sudo nano /opt/[redmine]/apache2/conf/extra/httpd-svn.conf
# 中身は以下を参照
# [redmine]は自分の環境に合わせて変更してください
httpd-svn.conf
<Location /svn>
    DAV svn
    # enable view for repositories parent directories
    #SVNPath "/home/svn"
    SVNParentpath "/home/svn"
    #SVNListParentPath On

    # read/write accesses force Basic auth
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /opt/[redmine]/apache2/conf/dav_svn.passwd
    Require valid-user
</Location>

※SVNListParentPathをOnの場合は「http://localhost/svn」で全レポジトリが見えます
SVNListParentPathがOffの場合は「http://localhost/svn/myrepo1」でmyrepo1が見えます。

5.パスワードファイルを作成してから、apache再起動

  • dav_svn.passwdファイルの作成はhtpasswdを使う
command
sudo htpasswd -c /opt/[redmine]/apache2/conf/dav_svn.passwd [username]

apacheを再起動

command
cd /opt/[redmine]/
sudo ./ctlscript.sh restart apache

http://[localhost]/svn/[myrepo1]/にアクセスして
Basic認証が実施された後にRevision表示されればOK
※Basic認証は先ほどパスワードファイルを作成した時のユーザーと入力したパスワード