構築したことがなかったので、練習
目次
- 参考url
- install subversion client
- create svn repository
- subversion用 認証権限情報作成
- apache httpd用 module install
- apache httpd用 設定file追加
- コマンドラインから接続テスト
参考url
- https://www.server-world.info/query?os=CentOS_8&p=subversion&f=4
- https://gside.org/Gentoo/subversion/subversion.html
- http://attosoft.info/jtdan/vcs/svn/svn-book/svn.serverconfig.httpd.html
- https://wiki.archlinux.jp/index.php/Subversion
install subversion client
$ sudo yum install svn
create svn repository
$ sudo mkdir -p /var/svn/repos $ sudo svnadmin create /var/svn/repos/project $ ls -l /var/svn/repos/project total 8 drwxr-xr-x 2 root root 76 Nov 2 17:48 conf drwxr-sr-x 6 root root 233 Nov 2 17:48 db -r--r--r-- 1 root root 2 Nov 2 17:48 format drwxr-xr-x 2 root root 231 Nov 2 17:48 hooks drwxr-xr-x 2 root root 41 Nov 2 17:48 locks -rw-r--r-- 1 root root 246 Nov 2 17:48 README.txt
subversion用 認証権限情報作成
$ sudo vi /var/svn/repos/project/conf/authzsvn.conf [groups] developer = end0tknr,fedora operator = redhat [/] * = r [project:/trunk] @developer = rw [project:/branches] @operator = rw [project:/tags] @operator = rw
$ sudo chown -R apache. /var/svn/repos/project $ ls -l /var/svn/repos drwxr-xr-x 2 apache apache 6 Nov 1 19:56 project
apache httpd用 module install
$ sudo yum install mod_dav_svn $ ls -l /usr/lib64/httpd/modules : -rwxr-xr-x 1 root root 215504 Apr 27 2022 mod_dav_svn.so
subversion と apache httpd の連携環境には 以下のapache http モジュールが必要ですので、 不足があれば、インストールしてください。
LoadModule dav_module modules/mod_dav.so WebDAV用 LoadModule dav_fs_module modules/mod_dav_fs.so mod_dav.soのサポート用 LoadModule dav_svn_module modules/mod_dav_svn.so subversion LoadModule authz_svn_module modules/mod_authz_svn.so subversion認証?
apache httpd用 設定file追加
$ sudo vi /etc/httpd/conf.d/subversion.conf <Location /project> DAV svn AuthType Basic AuthName "DAV SVN" AuthUserFile /var/svn/.svnpasswd Require valid-user SVNPath /var/svn/repos/project AuthzSVNAccessFile /var/svn/repos/project/conf/authzsvn.conf </Location>
$ sudo htpasswd -c /var/svn/.svnpasswd end0tknr New password: Re-type new password: Adding password for user end0tknr
$ sudo systemctl restart httpd
コマンドラインから接続テスト
Authentication realm: <http://localhost:80> DAV SVN Password for 'end0tknr': ******** ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://localhost:80> DAV SVN can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/home/end0tknr/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes