CentOS:svn服务器安装:修订间差异
imported>Soleverlee 无编辑摘要 |
imported>Soleverlee 无编辑摘要 |
||
(未显示同一用户的2个中间版本) | |||
第1行: | 第1行: | ||
== | ==SVN及相关模块的安装== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
yum install subversion mod_dav_svn mod_authz_ldap | yum install subversion mod_dav_svn mod_authz_ldap | ||
第24行: | 第24行: | ||
AuthBasicProvider ldap | AuthBasicProvider ldap | ||
AuthzLDAPAuthoritative off | AuthzLDAPAuthoritative off | ||
AuthLDAPURL "ldap://127.0.0.1:389/dc= | AuthLDAPURL "ldap://127.0.0.1:389/dc=riguz,dc=com?uid?sub?(objectClass=*)" | ||
AuthName "Nice to meet you,but you know..." | AuthName "Nice to meet you,but you know..." | ||
AuthzSVNAccessFile /home/svn/authz.conf | AuthzSVNAccessFile /home/svn/authz.conf | ||
第44行: | 第44行: | ||
chmod 775 /home/svn/documents | chmod 775 /home/svn/documents | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==SVN权限配置== | ==SVN权限配置== | ||
==创建源== | |||
初始化svn库 | |||
<syntaxhighlight lang="bash"> | |||
mkdir /home/svn | |||
svnadmin create /home/svn/repos | |||
</syntaxhighlight> | |||
设置Apache的访问权限 | |||
<syntaxhighlight lang="bash"> | |||
chown -R apache.apache repos | |||
</syntaxhighlight> | |||
==权限配置== | |||
研发中心的SVN采用Apache+Ldap配置,用户密码认证采用LDAP,而对于SVN自身的访问权限,采用svn的配置文件进行。 | |||
*svn源父文件夹 /home/svn/ | |||
*svn access file: /home/svn/authz.conf | |||
<source lang="bash"> | |||
vim /home/svn/authz.conf | |||
</source> | |||
下面是示例配置 | |||
<pre> | |||
prj1=zhangsan, lisi | |||
prj2=wangwu | |||
[projects:/01/] | |||
@prj1=rw | |||
*= | |||
[projects:/02/] | |||
@prj2=rw | |||
*= | |||
[doc:/] | |||
*=r | |||
</pre> | |||
对于以上配置,那么doc源,都有只读权限;对于projects源下的01和02文件夹,分别只有prj1和prj2两个组能读写 | |||
==备份== | |||
Svn完全备份: | |||
<syntaxhighlight lang="bash"> | |||
svnadmin dump /home/source/documents –-revision 0:head | gzip >documents.gz | |||
</syntaxhighlight> | |||
增量备份: | |||
<syntaxhighlight lang="bash"> | |||
svnadmin dump /home/source/documents –-revision 978:head --incremental| gzip >documents.gz | |||
</syntaxhighlight> | |||
将备份拷贝到新服务器上 | |||
<syntaxhighlight lang="bash"> | |||
scp documents.gz root@192.168.1.9:/home/backupfiles | |||
</syntaxhighlight> | |||
以root身份登录到192.168.1.9,解压备份文件: | |||
<syntaxhighlight lang="bash"> | |||
gunzip documents.gz | |||
</syntaxhighlight> | |||
导入svn备份文件: | |||
如果不存在版本库,首先应该创建版本库: | |||
<syntaxhighlight lang="bash"> | |||
svnadmin create /home/svn/documents | |||
svnadmin load /home/svn/documents < documents | |||
</syntaxhighlight> | |||
即完成svn迁移。 | |||
[[Category:Linux/Unix]] | [[Category:Linux/Unix]] |
2015年3月19日 (四) 03:13的最新版本
SVN及相关模块的安装
yum install subversion mod_dav_svn mod_authz_ldap
初始化svn库
mkdir /home/svn
svnadmin create /home/svn/repos
设置Apache的访问权限
chown -R apache.apache repos
然后修改配置文件
vim /etc/httpd/conf.d/subversion.conf
主要修改内容如下:
<Location /svn> DAV svn SVNParentPath /home/svn AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL "ldap://127.0.0.1:389/dc=riguz,dc=com?uid?sub?(objectClass=*)" AuthName "Nice to meet you,but you know..." AuthzSVNAccessFile /home/svn/authz.conf Require valid-user </Location>
Svn地址:
http://192.168.1.9/svn/repos
重启Apache 即可
service httpd restart
附注: 若svn提交失败,提示Permission denied,是因为svnadmin创建库时是root用户,导致apache无法访问。解决方式:
chown –R apache.apache /home/svn/documents
chmod 775 /home/svn/documents
SVN权限配置
创建源
初始化svn库
mkdir /home/svn
svnadmin create /home/svn/repos
设置Apache的访问权限
chown -R apache.apache repos
权限配置
研发中心的SVN采用Apache+Ldap配置,用户密码认证采用LDAP,而对于SVN自身的访问权限,采用svn的配置文件进行。
- svn源父文件夹 /home/svn/
- svn access file: /home/svn/authz.conf
vim /home/svn/authz.conf
下面是示例配置
prj1=zhangsan, lisi prj2=wangwu [projects:/01/] @prj1=rw *= [projects:/02/] @prj2=rw *= [doc:/] *=r
对于以上配置,那么doc源,都有只读权限;对于projects源下的01和02文件夹,分别只有prj1和prj2两个组能读写
备份
Svn完全备份:
svnadmin dump /home/source/documents –-revision 0:head | gzip >documents.gz
增量备份:
svnadmin dump /home/source/documents –-revision 978:head --incremental| gzip >documents.gz
将备份拷贝到新服务器上
scp documents.gz root@192.168.1.9:/home/backupfiles
以root身份登录到192.168.1.9,解压备份文件:
gunzip documents.gz
导入svn备份文件: 如果不存在版本库,首先应该创建版本库:
svnadmin create /home/svn/documents
svnadmin load /home/svn/documents < documents
即完成svn迁移。