CentOS 7.2 快速搭建SVN 服务(多项目管理方案)

CentOS 7.2 快速搭建SVN 服务(多项目管理方案)
一、安装SVN 
#安装SVN服务器
yum install subversion
#在home下创建svn根目录
mkdir /home/svnroot
#在 /home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。
 #在 /home/svnroot中创建 CodeAuth 文件夹,该文件夹将保存 passwd 和authz文件。
 mkdir /home/svnroot/CodeAuth
#创建项目
cd /home/svnroot
svnadmin create Project1
svnadmin create Project2
svnadmin create Project3
分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和 svnserve.conf 文件
passwd – 用于存放本svn库的用户名和密码
authz – 存放本svn库的访问授权信息
svnserve.conf 文件为存放本svn库的全局访问控制信息
#将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和 authz文件删除.
#修改 三个项目中conf目录下的svnserve.conf 文件,可以修改一个项目下的svnserve.conf 文件,然后把它覆盖到其他两个项目下的svnserve.conf 文件。
svnserve.conf 修改为
 
[general]
anon-access = none
auth-access = write
password-db = /home/svnroot/CodeAuth/passwd
authz-db = /home/svnroot/CodeAuth/authz
 
 
#修改/home/svnroot/CodeAuth下的passwd文件为
 
[users]
 admin=admin001
#修改/home/svnroot/CodeAuth下的Authz文件为
 
[groups]
admin_group=admin
[Project1:/]
@admin_group=rw
*=
[Project2:/]
@admin_group=rw
*=
 
[Project3:/]
@admin_group=rw
*=
#说明:
 “*” 是指所有人,“=” 后面表示权限。
 “=”后面有3种情况
 空:表示没有任何权限
 r:表示只读权限
 rw:表示读写权限
如:
 * =
 user1 = r
 user2 = rw
 这三行合起来就表示user1这个用户拥有只读权限,user2这个用户拥有读写权限,除此之外的其他人员没有任何权限。
 
二、设置SVN开机自启动
1、subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
1.  #svnserve.service文件的具体地址  
2.  # /usr/lib/systemd/system/svnserve.service  
3.  [Unit]  
4.  Description=Subversion protocol daemon  
5.  After=syslog.target network.target  
6.    
7.  [Service]  
8.  Type=forking  
9.  EnvironmentFile=/etc/sysconfig/svnserve  
10.#也可以用这种方式,这种方式的话就不需要进行第2步的操作了,但本人没试过  
11.#ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid  -d -r /server/svn/repo  #一定要写svnserve命令的绝对路径  
12.  
13.#我用的这种方式  
14.ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS  
15.  
16.[Install]  
17.WantedBy=multi-user.target  

 
 2、我们修改/etc/sysconfig/svnserver
1.  vim /etc/sysconfig/svnserve  
 将默认目录指定到/home/svnroot/
1.  OPTIONS="-r /home/svnroot/"  

 3、说明:
 [Unit]:服务的说明
 Description:描述服务After:描述服务类别
 [Service]服务运行参数的设置
 Type=forking是后台运行的形式
 ExecStart为服务的具体运行命令
 ExecReload为重启命令
 ExecStop为停止命令
 PrivateTmp=True表示给服务分配独立的临时空间注意:
 [Service]的启动、重启、停止命令全部要求使用绝对路径
 4、服务命令:
 启动svnserve服务
 systemctl start svnserve.service
 
 设置开机自启动
 systemctl enable svnserve.service
 
 停止开机自启动
 systemctl disable svnserve.service
 
 查看服务当前状态
 systemctl status svnserve.service
 
 重新启动服务
 systemctl restart svnserve.service
 
 查看所有已启动的服务
 systemctl list-units --type=service


作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:CentOS 7 MySQL 主从配置
下一篇:linux服务之ntp

发表评论

海外服务器,免备案,中国电信 CN2 GIA 高级回国优化专线

香港云服务器立即订购

4核4G  50G 2M (CN2 GIA)  335/月

8核8G  50G  2M(CN2  GIA)  613/月

香港物理服务器立即订购

Xeon L5630 *2    16GB DDR3    1TB HDD 或 240G SSD  10 Mbps  3IP 1500/月

8 核 16 线程 (2.13GHz)

Xeon E5 2650  16GB DDR3   1TB HDD/240G SSD/500G SSD  10 Mbps  3IP 2000/月

8 核 16 线程 (2.00GHz)