入社4ヶ月の後輩にSVNの使い方を教えました。
Subversion,Git等バージョン管理ツールは受注案件の必須要件にもなっており、技術として身に着けているとチーム開発もスムーズです。
今回はSubversionサーバの構築方法をご紹介。少ないコマンドでサクっとインストールが可能です。
SVNのインストール
WEBサーバにApache、必要なモジュールをダウンロードします。
※CentOS6.5を【WEB Server】にてインストールし、ネットワーク設定直後の状態を想定しています。
1 |
# yum install httpd subversion mod_dav_svn mod_ssl |
SVN用ディレクトリの作成
1 |
# mkdir /var/www/svn |
SVNリポジトリ作成
example.com用のリポジトリを作成します。
1 |
# svnadmin create /var/www/svn/example.com |
1 |
# svn mkdir file:///var/www/svn/example.com/trunk file:///var/www/svn/example.com/tags file:///var/www/svn/example.com/branches -m 'Create trunk, tags, and branches.' |
コメントの編集を可能にする。
コミット時に一言メッセージを添えると、より状況がわかり易くなります。
1 |
# cd /var/www/svn/example.com/hooks/ |
1 |
# cp pre-revprop-change.tmpl pre-revprop-change |
1 |
# chmod +x pre-revprop-change |
最後に所有権を設定する
1 |
# chown -R apache:apache /var/www/svn |
Apache設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# vi /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos> DAV svn SVNParentPath /var/www/svn # Limit write permission to list of valid users. <LimitExcept GET PROPFIND OPTIONS REPORT> # Require SSL connection for password protection. # SSLRequireSSL AuthType Basic AuthName "Authorization" AuthUserFile /etc/httpd/.htpasswd Require valid-user </LimitExcept> AuthType Basic AuthName "Authorization" AuthUserFile /etc/httpd/.htpasswd Require valid-user </Location> |
今回はオンプレ環境を想定して、Basic認証のみの緩い設定にしています。
グローバルな環境にSVNサーバを設置する場合は、SSLやクライアント証明書認証にして置いた方がいいですね。
SVNアクセス用ユーザの作成
【ユーザの設定】
1 |
# htpasswd -c /etc/httpd/.htpasswd SVNユーザ名1 |
【ユーザの追加】
1 |
# htpasswd /etc/httpd/.htpasswd SVNユーザ名2 |
Apacheへの設定の反映
再起動させて反映
1 |
# /etc/init.d/httpd restart |
自動起動設定を忘れずに。
1 |
# chkconfig httpd on |
WEBブラウザからのアクセス
https://IPアドレス/repos/example.com/
Windowsクライアントなら
TortoiseSVN(https://ja.osdn.net/projects/tortoisesvn/)がおすすめです。
日本語で操作したい場合は、最新版から2つ程さげると日本語パッチが用意されているので便利。