1. 超簡単!
2 0 2 0 . 5 . 1
た に や ん
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D
OSSPlaza.com
0
Subversion入門
準備編
3. 1. メニュー
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 2
(1)Apache ベーシック認証の設定
Subversionはhttpモードで通信する方法が主流です。SubversionはApache
HTTPDサーバをフロントに置いて動作し、認証はApacheで行います。
Active DirectoryやLDAPサーバに認証させることもできますが、ここでは(あくまで学習
用なので)Apacheのベーシック認証を設定します。
(2)アクセス権の設定
Subversionはパスベースのアクセス権設定(Access Control)を行うことができ、ユーザ
がそのリポジトリや特定のフォルダを参照・更新することを許可したり禁止したりできま
すが、それを設定します
(3)初期状態のインポート
リポジトリ(リポジトリについては別コンテンツで説明)に初期状態のファイル構造をイン
ポートします。
4. 2. 構成(1)
では、次のような想定で準備をします。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 3
【リポジトリ】
URL
repo01 http://localhost/svn/repo01 *作成済み
repo02 http://localhost/svn/repo02
repo03 http://localhost/svn/repo03
【ユーザー】
アクセス権 repo01 repo02 repo03
user01 R/W R/W R/W
user02 R/W R/W R/W
user03 R/W R -
user04 R - -
RはRead(読む権限)、WはWrite(書き込み)権限
5. 2. 構成(3)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 4
【リポジトリ構成】
repo01
trunk tags branches
dir01 dir02
file0101.txt
file0102.txt
file0201.txt
file0202.txt
ファイル
6. 3. ユーザを作る(1)
WANdisco版Subversionのパスワードファイルの位置を確認
設定ファイル
c: Program Files(x86)WANdiscoSubversionApache2confsubversion.conf
このファイル”AuthUserFile”ディレクティブ を見るとデフォルトの位置が記載されている。それは、
c: Program Files(x86)WANdiscoSubversionpasswd
である。ここでユーザを作成する。
コマンドプロンプトにて
htpasswdコマンドを使用してユーザを作成。
(次ページ)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 5
7. 3. ユーザを作る(2)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 6
htpasswdコマンドを実行。一人目を作るときには”-c”でパスワードファイル自身を作成する。
”-b”はユーザ作成時にパスワードも一緒に作る、という指定。
8. 4. ベーシック認証を有効にする(1)
c: Program Files(x86)WANdiscoSubversionApache2confsubversion.conf
<VirtualHost *:80>
KeepAlive On
<Location /svn>
DAV svn
SVNParentPath “c:repositories”
#AuthType Basic
#AuthName “Subversion Repo”
#AuthUserFile “C:Program Files (x86)WANdiscoSubversionpasswd”
#AuthzSVNAccessFile /home/scm/svn.authz
#Require vaild-user
SVNAutoversioning on
</Location>
#Enable Subversion logging
CustomLog logs/subversion.log combined
</VirtualHost>
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 7
赤枠の項目が認証関連
9. 4. ベーシック認証を有効にする(2)
c: Program Files(x86)WANdiscoSubversionApache2confsubversion.conf
<VirtualHost *:80>
KeepAlive On
<Location /svn>
DAV svn
SVNParentPath “c:repositories”
AuthType Basic
AuthName “ Input your Subversion ID and Password”
AuthUserFile “C:Program Files (x86)WANdiscoSubversionpasswd”
#AuthzSVNAccessFile /home/scm/svn.authz
Require vaild-user
SVNAutoversioning on
</Location>
#Enable Subversion logging
CustomLog logs/subversion.log combined
</VirtualHost>
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 8
先頭の”#”を削除。
IDパスワード入力のプロンプト
を書き換える(日本語NG)
10. 4. ベーシック認証を有効にする(3)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 9
タスクマネージャー
で”WANdiscoSubversionServer”
サービスを探して、再起動する。
11. 4. ベーシック認証を有効にする(4)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 10
http://localhost/svn/repo01にア
クセスしようとすると、ログインプロンプ
トが出力される。(認証が効いてい
る)
ここでは入力せずに終わって良い。
13. 5. アクセス権の設定(2)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 12
c: Program Files(x86)WANdiscoSubversionApache2confsubversion.conf
<VirtualHost *:80>
KeepAlive On
<Location /svn>
DAV svn
SVNParentPath “c:repositories”
AuthType Basic
AuthName “Input your Subversion ID and password”
AuthUserFile “C:Program Files (x86)WANdiscoSubversionpasswd”
#AuthzSVNAccessFile /home/scm/svn.authz
Require vaild-user
SVNAutoversioning on
</Location>
#Enable Subversion logging
CustomLog logs/subversion.log combined
</VirtualHost>
ベーシック認証と同じファイルの中の
AuthzSVNAccessFileディレクティブ を加
工する
14. 5. アクセス権の設定(3)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 13
c: Program Files(x86)WANdiscoSubversionApache2confsubversion.conf
<VirtualHost *:80>
KeepAlive On
<Location /svn>
DAV svn
SVNParentPath “c:repositories”
AuthType Basic
AuthName “Input your Subversion ID and password”
AuthUserFile “C:Program Files (x86)WANdiscoSubversionpasswd”
AuthzSVNAccessFile “C:Program Files (x86)WANdiscoSubversionsvn.authz”
Require vaild-user
SVNAutoversioning on
</Location>
#Enable Subversion logging
CustomLog logs/subversion.log combined
</VirtualHost>
先頭の#を外して
パスワードファイルと同じ位置
に”svn.authz”ファイルを指定。
(ファイル名は任意)
15. 5. アクセス権の設定(4)
“C:Program Files (x86)WANdiscoSubversionsvn.authz”を作成してメモ帳で加工する。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 14
メモ帳で
svn.authzを開く
16. 5. アクセス権の設定(5)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 15
“erai”という名前のグループを作り、user01,
user02を所属させる
リポジトリ”repo01”はuser01, user02,
user03が読書、user04は読のみ許可
リポジトリ”repo02”はuser01, user02が読
書、user03は読のみ許可
リポジトリ”repo03”はuser01, user02が読
書、のみ
17. 5. アクセス権の設定(6)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 16
タスクマネージャー
で”WANdiscoSubversionServer”
サービスを探して、再起動する。
18. 6. リポジトリに初期ファイルを登録(1)
デスクトップ上に”projectabc”フォルダを作り、その下にフォルダ構造を作る。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 17
repo01
trunk tags branches
dir01 dir02
file0101.txt
file0102.txt
file0201.txt
file0202.txt
<作成予定のレイアウト> <まずprojectabcの下のフォルダ・ファイル作成>
場所はデスクトップ上でも良い
名前も任意(英数字)
19. 6. リポジトリに初期ファイルを登録(2)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 18
projectabcフォルダをカレントにして、
右クリック、「インポート」を選択
* カレントのフォルダが間違っ
ている(例えばprojectabcが
選択されていない)と、誤った
構造がインポートされるので
注意。
20. 6. リポジトリに初期ファイルを登録(3)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 19
インポート先、リポジトリ/trunkフォルダにイン
ポートする
http://localhost/svn/repo01/trunk
コミットメッセージ。テスト環境では日
本語でもOKだった。
認証が出てきたら、権限のあるユーザ
(user01/user02)、パスワード入力
21. 6. リポジトリに初期ファイルを登録(4)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 20
正常に処理できると、「リビジョン1になりまし
た」と表示される
22. 6. リポジトリに初期ファイルを登録(5)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 21
ここまでの作業を確認する。右クリックで「リポジトリブラウザ」
を選択する
リポジトリのURLを指定
23. 6. リポジトリに初期ファイルを登録(6)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 22
trunkフォルダが作成されている。これ
をクリックすると、
dir01, dir02が作成されていることが
確認できる。
24. 7. TAGSフォルダを作る(1)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 23
リポジトリトップの直下(http://localhost/svn/repo01)をカレ
ントにして、「フォルダを作成」を選択
tagsを指定
25. 7. TAGSフォルダを作る(2)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 24
コミットメッセージを入力しOKする。 tagsフォルダができる
26. 8. BRANCHESフォルダを作る(1)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 25
リポジトリトップの直下(http://localhost/svn/repo01)をカレ
ントにして、「フォルダを作成」を選択
branchesを指定
*要領はtagsの作成と同じです。
27. 8. BRANCHESフォルダを作る(2)
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 26
コミットメッセージを入力しOKする。 branchesフォルダができる