注意:此文章主要复制过来,所以注意命令之间的一些空格
http://wenku.baidu.com/view/f2a697b765ce0508763213da.html
二、svn服务器配置
1.建立svn版本库目录
mkdir -p /opt/svndata/repos1
2.建立svn版本库
svnadmin create /opt/svndata/repos1
3.修改svn版本库配置文件
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos1
(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。保存)
这里的各配置项意思是:
anon-access指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none
auth-access指认证用户的权限,可以是read,write,none,默认为write
password-db指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,
username=passwd
authz-db实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限
4.配置允许访问的svn用户
vi /opt/svn/conf/pwd.conf
文件格式如下:
[users]
<用户1>=<密码1>
<用户2>=<密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan=password
king=hello
注意:对用户配置文件的修改立即生效,不必重启svn。
5.配置svn用户访问权限
vi /opt/svn/conf/authz.conf
户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
其中,方框号内部分可以有多种写法:
/表示根目录及以下。根目录是svnserve启动时指定的,
我们指定为/opt/svndata。
这样,/就是表示对全部版本库设置权限。
repos1:/表示对版本库1设置权限
repos2:/abc表示对版本库2中的abc项目设置权限
repos2:/abc/aaa表示对版本库2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和
空,空表示没有任何权限。
示例:
[groups]
admin=alan
[/]
@admin=rw
[repos1:/abc/aaa]
king=rw
[repos2:/pass]
king=
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义。
*对权限配置文件的修改立即生效,不必重启svn
6.svn配置完毕,删除无用文件
,同时也是为了保密,当然可以留在重复使用
rm /opt/svndata/repos1/conf/authz
rm /opt/svndata/repos1/conf/passwd
三、启动svn
1.建立启动svn的用户
useradd svn
passwd
svn
根据提示为用户svn设置密码
允许用户svn访问版本库
chown -R svn:svn/opt/svndata
2.启动svn
(1)用设定帐户启动
su - svn -c "svnserve -d
--listen-port 9999
-r
/opt/svndata"
其中:
su - svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端
口需要root权限
-r /opt/svndata指定根目录是/opt/svndata
(2)对于单个代码仓库:
启动命令:svnserve -d -r 文件夹路径 --listen-host 192.168.100.131
其中-d表示在后台运行,-r指定服务器的根目录,
这样访问服务器时就可以直接用
svn://服务器ip来访问了。
如果服务器有多ip的话--listen-host来指定监听的ip地址.
我们可以在svn客户端中通过
svn://192.168.100.131来访问svn服务器
(3)对于多个代码仓库:
我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写
上每个仓库相对于svn根目录的相对路径.
比如,我们有两个代码仓库/opt/svndata/repos1
和/opt/svndata/repos2,
我们用:svnserve -d -r /opt/svndata --listen-host 192.168.100.131来启动,那么在客户端
访问时可以用svn://192.168.100.131/repos1和svn://192.168.1.131/repos2来分别访问两个
项目启动完成以后
我启动的方法:
[root@austitfabian]#
svnserve -d
-r /opt/svndata --listen-host
192.168.100.131
注意:
svn默认端口是3690,你需要在防火墙上开放这个端口。也可以通过svnserve的--
listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如
svn://192.168.100.200:9999/.......
3.检查是否启动成功:(查看是否存在svnserve进程)
ps -ef | grep svnserve
如果显示如下,即为启动成功:
svn 6941 1 015:07? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata
四、导入项目
[root@austitObject]#ls
41 c41cManagesq wapstat
[root@austitObject]#svn import 41cManage
file:///opt/svndata/41cManage -m "initial
import"
五、客户端checkout,commit,update
输入url:svn://192.168.100.131/repos1
http://wenku.baidu.com/view/f2a697b765ce0508763213da.html
二、svn服务器配置
1.建立svn版本库目录
mkdir -p /opt/svndata/repos1
2.建立svn版本库
svnadmin create /opt/svndata/repos1
3.修改svn版本库配置文件
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos1
(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。保存)
这里的各配置项意思是:
anon-access指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none
auth-access指认证用户的权限,可以是read,write,none,默认为write
password-db指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,
username=passwd
authz-db实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限
4.配置允许访问的svn用户
vi /opt/svn/conf/pwd.conf
文件格式如下:
[users]
<用户1>=<密码1>
<用户2>=<密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan=password
king=hello
注意:对用户配置文件的修改立即生效,不必重启svn。
5.配置svn用户访问权限
vi /opt/svn/conf/authz.conf
户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
其中,方框号内部分可以有多种写法:
/表示根目录及以下。根目录是svnserve启动时指定的,
我们指定为/opt/svndata。
这样,/就是表示对全部版本库设置权限。
repos1:/表示对版本库1设置权限
repos2:/abc表示对版本库2中的abc项目设置权限
repos2:/abc/aaa表示对版本库2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和
空,空表示没有任何权限。
示例:
[groups]
admin=alan
[/]
@admin=rw
[repos1:/abc/aaa]
king=rw
[repos2:/pass]
king=
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义。
*对权限配置文件的修改立即生效,不必重启svn
6.svn配置完毕,删除无用文件
,同时也是为了保密,当然可以留在重复使用
rm /opt/svndata/repos1/conf/authz
rm /opt/svndata/repos1/conf/passwd
三、启动svn
1.建立启动svn的用户
useradd svn
passwd
svn
根据提示为用户svn设置密码
允许用户svn访问版本库
chown -R svn:svn/opt/svndata
2.启动svn
(1)用设定帐户启动
su - svn -c "svnserve -d
--listen-port 9999
-r
/opt/svndata"
其中:
su - svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端
口需要root权限
-r /opt/svndata指定根目录是/opt/svndata
(2)对于单个代码仓库:
启动命令:svnserve -d -r 文件夹路径 --listen-host 192.168.100.131
其中-d表示在后台运行,-r指定服务器的根目录,
这样访问服务器时就可以直接用
svn://服务器ip来访问了。
如果服务器有多ip的话--listen-host来指定监听的ip地址.
我们可以在svn客户端中通过
svn://192.168.100.131来访问svn服务器
(3)对于多个代码仓库:
我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写
上每个仓库相对于svn根目录的相对路径.
比如,我们有两个代码仓库/opt/svndata/repos1
和/opt/svndata/repos2,
我们用:svnserve -d -r /opt/svndata --listen-host 192.168.100.131来启动,那么在客户端
访问时可以用svn://192.168.100.131/repos1和svn://192.168.1.131/repos2来分别访问两个
项目启动完成以后
我启动的方法:
[root@austitfabian]#
svnserve -d
-r /opt/svndata --listen-host
192.168.100.131
注意:
svn默认端口是3690,你需要在防火墙上开放这个端口。也可以通过svnserve的--
listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如
svn://192.168.100.200:9999/.......
3.检查是否启动成功:(查看是否存在svnserve进程)
ps -ef | grep svnserve
如果显示如下,即为启动成功:
svn 6941 1 015:07? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata
四、导入项目
[root@austitObject]#ls
41 c41cManagesq wapstat
[root@austitObject]#svn import 41cManage
file:///opt/svndata/41cManage -m "initial
import"
五、客户端checkout,commit,update
输入url:svn://192.168.100.131/repos1