linux下SVN服务器配置
SVN服务器配置
1. 安装svn服务
yum install subversion
2. 新建一个目录用于存储SVN所有文件
mkdir /home/svn
3. 创建项目
在上面创建的文件夹中为项目 project_1 创建一个版本仓库
svnadmin create /home/svn/project_1
执行完这一步,/home/svn中将存在project_1文件夹,这个项目的配置都在 /home/svn/project_1/conf 中
在/home/svn已有项目后,任然可以新建配置第二个项目,但在启动时必须启动/home/svn目录,客户端连接时通过域名/项目名连接,如:svn://121.40.57.352/repo
目录用途说明:
- hooks目录:放置hook脚本文件的目录
- locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
- conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
4. 为项目配置权限
(1)svnserve.conf 是主配置文件
vi /home/svn/project_1/conf/svnserve.conf
anon-access=read #匿名可读
auth-access=write #验证用户可读写
password-db=passwd #指向验证用户名密码的数据文件 passwd ,请看下文配置
auth-db=authz #指向验证用户的权限配置文件 authz ,请看下文配置
注意:每一行前方不能有空格,否则会出现 Option expected 错误!
(2)passwd 用户名密码配置文件
vi /home/svn/project_1/conf/passwd
[users]
manager1=123456 #每一行都要是“用户名=密码”的格式
manager2=123123
manager3=888888
(3)authz 用户权限配置文件
vi /home/svn/project_1/conf/authz
[groups]
managers=manager1,manager2 #定义群组 managers 包含 manager1 和 manager2 两个用户
[/] #配置限制路径
@managers=rw #定义群组 managers 有读写权限
manager3=r #定义 manager3 有读权限
*= #以上没有定义的用户都没有任何权限
5、启动服务器
svnserve -d -r /home/svn
注:如果有多个项目,必须启动项目的更目录,所有项目的最外层目录
6、SVN停止
pkill svnserve
7. SVN端口修改配置
sudo svnserve -d -r /mnt/svnRepo/zhuangjia --listen-port 0828