CentOS
Subversion
vmware
新人プログラマ応援
SVNサーバ

VMwareのCentOSをSVNサーバにして、開発環境のバージョン管理用に構築してみた

自学で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から変わったのかな?

10-subversion.conf
[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と入力するとパスワード認証があり、リポジトリが表示できた。

Image from Gyazo

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

どちらもインストーラ実行後、すべてデフォルトのままボタンを押下していき、インストール完了。
言語パックはインストール完了画面で、チェックボックスにチェックを入れることで、日本語に変更してくれる。
Image from Gyazo

設定を確認すると日本語になっていることが確認できた。
Image from Gyazo

最後にSVNサーバのリポジトリにアクセスしてみた
image.png

無事に表示されることを確認した。
以上

参考資料

CentOS7にsvnサーバをインストールする (apache編)

httpでアクセスできるSubversionサーバーを構築する

TortoiseSVN ダウンロードとインストール