Subversion : 他ホストからアクセスする2020/03/25 |
他ホストから Subversion リポジトリにアクセスできるよう設定します。
|
|
[1] | Subversion リポジトリ作成済みのホストで [svnserve] サービスを起動します。 |
[root@dlp ~]#
vi /etc/sysconfig/svnserve # リポジトリを作成しているディレクトリの最上位階層を指定 # デフォルトは以下だが必要に応じて変更可 # Specify the repository location in -r parameter: OPTIONS="-r /var/svn" systemctl enable --now svnserve |
[2] | Firewalld を有効にしている場合は、SVN サービスの許可が必要です。SVN は [3690/TCP] を使用します。 |
[root@dlp ~]# firewall-cmd --add-service=svn --permanent success [root@dlp ~]# firewall-cmd --reload success |
[3] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 当例では [/var/svn] をリポジトリ階層にしているため以下の内容となっていますが、[/var] 以外の場合は内容が異なるため、適宜変更が必要です。 |
[root@dlp ~]#
vi svn-server.te # 以下の内容で新規作成 module svn-server 1.0; require { type svnserve_t; type var_t; class file { getattr open read }; class capability { chown dac_override fsetid }; } #============= svnserve_t ============== allow svnserve_t self:capability { chown dac_override fsetid }; allow svnserve_t var_t:file { getattr open read }; checkmodule -m -M -o svn-server.mod svn-server.te checkmodule: loading policy configuration from svn-server.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to svn-server.mod [root@dlp ~]# semodule_package --outfile svn-server.pp --module svn-server.mod [root@dlp ~]# semodule -i svn-server.pp |
[4] | 任意の他ホストから、作成済みの Subversion リポジトリにアクセスします。 例として、作成済みの [/var/svn/repos/project] へアクセスします。 なお、デフォルトでは読み取りアクセス権のみのため、[commit] 等は実行不可です。 [commit] したい場合は [svn://] アクセス時のアクセス権の設定が必要です。 |
# 階層の指定は [1] で SVN トップの階層に指定したディレクトリからの相対パス # 当例の場合 # トップの階層 : [/var/svn] # リポジトリの階層 : [/var/svn/repos/project] # 相対パス : [repos/project] [redhat@node01 ~]$ svn list svn://dlp.srv.world/repos/project branches/ tags/ trunk/[redhat@node01 ~]$ mkdir ./work [redhat@node01 ~]$ svn checkout svn://dlp.srv.world/repos/project ./work A work/branches A work/tags A work/trunk A work/trunk/index.html A work/trunk/testfile.txt A work/trunk/testscript.py A work/trunk/testtool.sh Checked out revision 4.[redhat@node01 ~]$ ll work total 0 drwxrwxr-x. 2 redhat redhat 6 Mar 23 22:37 branches drwxrwxr-x. 2 redhat redhat 6 Mar 23 22:37 tags drwxrwxr-x. 2 redhat redhat 84 Mar 23 22:37 trunk |
[5] | Subversion サーバー側で [svnserve] サービスを起動せずに、SSH 経由でアクセスすることも可能です。 |
[redhat@node01 ~]$ svn ls svn+ssh://cent@dlp.srv.world/var/svn/repos/project cent@dlp.srv.world's password: branches/ tags/ trunk/[redhat@node01 ~]$ svn co svn+ssh://cent@dlp.srv.world/var/svn/repos/project ./work2 cent@dlp.srv.world's password: A work2/branches A work2/tags A work2/trunk A work2/trunk/index.html A work2/trunk/testfile.txt A work2/trunk/testscript.py A work2/trunk/testtool.sh Checked out revision 4. |
Sponsored Link |