免费电子商务网站建设数据营销系统
1、检查是否已安装
1.1、检查是否已安装
svnserve --version
 
1.2、删除SVN遗留文件
sudo apt-get remove --purge subversion
 
2、安装svn
apt-get install subversion
 
3、新建存储目录
sudo mkdir  /data/svn
sudo mkdir  /data/svn/repository
 
4、更改文件夹的读写权限
sudo chmod -R 777 /data/svn/repository
 
5、创建SVN版本库
sudo svnadmin create /data/svn/repository
 
6、赋予db权限
cd /data/svn/repository
sudo chmod -R 777 db
 
7、配置SVN-认证机制
cd /data/svn/repository/conf
sudo vim svnserve.conf
 
简单的修改几处配置:(去掉前面的#,并且顶格,不然可能会报错)
- 匿名用户可读anon-access = read(可改成none,即不可读)
 - 权限用户可写auth-access = write
 - 密码文件为password-db = passwd
 - 权限文件为authzauthz-db = authz
 
配置项含义:
anon-access = none|read|write 决定非授权用户的访问级别。none 表示无访问权限,read 表示只读,write 表示可读可写,默认为 read。
auth-access = none|read|write 决定授权用户的访问级别,使用与上面相同的访问级别。默认为 write。password-db = filename 指定账号密码数据库文件名。filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为passwd。authz-db = filename 指定权限配置文件名,filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为authz。realm = realm-name 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的账号密码数据库文件passwd。
 
8、配置SVN-用户权限
sudo vim authz
 
8.1、直接用户权限
[/] //所有项目
user1 = rw
user2 = rw
* = r   //所有的组都具有读权限
 
8.2、用户组
[groups]
admin =user1,user2  //admin用户组由账户user1,user2组成[/] //所有项目
@admin = rw   //admin用户组具有读(r)写(w)权限
* = r   //所有的组都具有读权限
 
8.3、多项目管控
- 创建项目
 
cd /data/svn
svnadmin create p1
svnadmin create p2
 
- 创建管理用户权限
 
cd /data/svn/repository/conf
mkdir -p /data/svn/conf
cp authz passwd  /data/svn/conf/
 
- 修改p1的svnserve.conf文件:
 
 anon-access = noneauth-access = write password-db = /data/svn/conf/passwd authz-db = /data/svn/conf/authz realm = p1 
 
修改p2的svnserve.conf文件:
anon-access = noneauth-access = write password-db = /var/svn/conf/passwd authz-db = /var/svn/conf/authz realm = p2
 
- 修改password文件
sudo vim passwd 
[users]
a= 123
b= 123
c= 123
d= 123
 
- 修改authz文件
 
 [groups] //分组p1user = a,bp2user = c,d[/]* = #以上没有定义的用户都没有任何权限
[p1:/] //p1的访问控制,c、d无法访问@p1user = rw[p2:/] //p2的访问控制,a、b无法访问@p2user = rw 
配置SVN-访问用户
sudo vim passwd
 
设置密码
[users]
user1 = 123
user2 = 123
 
启动服务器
启动地址为仓库/home/svn/repos的上级目录/home/svn。
svnserve -d -r /data/svn
 
查看svnserve是否已经运行
ps aux | grep svnserve
 
关闭服务
killall svnserve
 
访问
单项目
svn://ip地址/repository
 
多项目
 访问项目p1 URLsvn://IP/p1访问项目p2 URLsvn://IP/p1
