SVNのインストール
yum -y install subversion mod_dav_svn
リポジトリ作成
mkdir -p /opt/repos/products svnadmin create /opt/repos/products
svn-httpd連携設定
暫定的に基本認証とします。
基本認証ではセキュリティー上不安があるので後にssl化、あるいはIP認証をかけておくと良いと思います。
/etc/httpd/conf.d/subversion.conf
<Location /repos/> DAV svn SVNParentPath /opt/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 /opt/.htpasswd_svn Require valid-user #</LimitExcept> </Location>
svn用基本認証アカウント生成
/opt/.htpasswd_svn
test:tZl5cEVDW6Q2.
上記のアカウントは下記のサイトで作成できます(htpasswd 作成で検索)
.htaccess による認証用 パスワード暗号化ツール
コマンドで作成する場合は下記のコマンドを入力します。
htpasswd -nb id password
id/passwordは設定したいID/パスワードに変更してください。
apache設定反映
systemctl reload httpd
SELinuxが有効な場合
selinuxが有効な場合リポジトリにコミットしようとした場合に、パーミッションエラーとなりコミットに失敗することがあります。切り分けの為、一度selinuxを無効にしてコミットを実施してみてください。
SELinuxの無効化 (有効に戻す場合は0を1に書き換えます)
setenforce 0
SELinuxを無効にしコミットに成功する場合は下記のコマンドを実行しディレクトリに実行や読み書きが可能なようにします。
chcon -R -t httpd_sys_content_t /opt/repos chcon -R -t httpd_sys_rw_content_t /opt/repos
ここで付与した設定はlsコマンドにZオプションを付与することにより確認できます。
SELinuxを無効化してもコミットに失敗する場合は、設定内容・ログやリポジトリのディレクトリのオーナや権限を再度確認します。