自学でSVNサーバの構築とバージョン管理の練習として、仮想の環境(VMware)のCentOSをSVNサーバとして構築することにした。
##環境
■SVNサーバ
・VMware Workstation 14 Player
・CentOS Linux release 7.5.1804
・svn-1.7.14
・Apache-2.4.6
■開発環境
・Windows10
・Eclipse(Photon)
・TortoiseSVN-1.10.1
##1.SVNサーバ構築
###■パッケージのインストール
subversion、apache、svnとの連携モジュールのインストール
# yum install svn
# yum install httpd
# yum install mod_dav_svn
###■apache設定
自動起動設定
# systemctl enable httpd
# reboot
再起動後にsystemctl status httpd
で、ステータスを確認した際active (running)
になっていることを確認
ファイアウォールの設定を確認
# firewall-cmd --list-services --zone=public
ssh dhcpv6-client
httpサービスの追加と確認
# firewall-cmd --add-service=http --permanent
# firewall-cmd --list-services --zone=public
ssh dhcpv6-client http
サービスが追加され、ブラウザでも表示されるようになる
###■SVNサーバー設定
リポジトリ作成
# mkdir -p /opt/repos/products
# svnadmin create /opt/repos/products
次に/etc/httpd/conf.modules.d
にapacheと連携の為の設定を追記。subversion.confに記述すると書かれている記事が多かったが、私の環境では、subversion.confは存在せず、mod_dav_svnを入れた際に出来上がるのは、10-subversion.confで、それに記述することで動作した。apache2.4から変わったのかな?
[LoadModule以下に追記↓]
<Location /repos/>
DAV svn
SVNParentPath /opt/repos
AuthType Basic
AuthName "Input your ID and PassWord"
AuthUserFile /opt/.htpasswd_svn
Require valid-user
</Location>
ベーシック認証用アカウント作成
私は.htaccess による認証用 パスワード暗号化ツールを使わせてもらい、生成したパスワードを.htpasswd_svn
に記述し、/opt
下に配置した。
trunk、branches、tagsディレクトリの作成
# svn mkdir -m '' file:///opt/repos/products/trunk
# svn mkdir -m '' file:///opt/repos/products/branches
# svn mkdir -m '' file:///opt/repos/products/tags
apacheがディレクトリにアクセス出来るように権限の変更を行い、再起動
# chown -R apache:apache /opt/repos
# reboot
これだけではSElinuxの影響でブラウザ表示できなかった為、SElinuxにapacheのアクセス許可も設定
# chcon -R -t httpd_sys_content_t /opt/repos
ブラウザで/IPアドレス/repos/products
と入力するとパスワード認証があり、リポジトリが表示できた。
##2.Windows端末へのTortoiseSVNのインストール
TortoiseSVNと日本語変更用の言語パックのインストーラをダウンロードする。TortoiseSVNのページより、私の場合は、以下をダウンロードした。
Application:TortoiseSVN-1.10.1.28295-x64-svn-1.10.2.msi
Language Packs:LanguagePack_1.10.1.28295-x64-ja.msi
どちらもインストーラ実行後、すべてデフォルトのままボタンを押下していき、インストール完了。
言語パックはインストール完了画面で、チェックボックスにチェックを入れることで、日本語に変更してくれる。
無事に表示されることを確認した。
以上
##参考資料
CentOS7にsvnサーバをインストールする (apache編)