Centos7安装Svn

坚强是说给别人听的谎言 提交于 2019-12-08 12:55:02
1.检查是否已经安装:svn --version  
2.卸载svn:yum remove subversion
3.安装:yum install subversion  
4.创建SVN版本目录: mkdir -p /home/server/svn/repo  
5.创建版本库:svnadmin create /home/server/svn/repo  

6.进入conf目录(该svn版本库配置文件): cd /home/server/svn/repo/conf/  
authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf SVN服务配置文件
7.设置帐号密码:nano passwd   
在[users]块中添加用户和密码,格式:帐号=密码,如harry = harryssecret
[users]  
admin=admin
dev1=dev1  
dev2=dev2  
pro1=pro1  
pro2=pro2  

8.设置权限:nano authz  
[groups]  
#管理员组  
admin = admin1  
#开发组  
dev = dev1,dev2  #多个用户以逗号分隔  
#产品组  
pro = pro1,pro2  
 
[/]  
@admin = rw  #admin组拥有根目录的读写权限,其中r表示读权限,w表示写权限  
* =          #这里的*号表示除admin组的其他人,“=”后为空的话为无任何权限  
[/dev]  
@dev = rw  
[/pro]     
@pro = rw  
解释一下,[groups]下,设置权限分组,这里有三个组,分别是admin 、dev、pro,admin组有admin1一个人,dev组有dev1、dev2两个人,pro组下有pro1、pro2两个人,[/]表示文件库的根目录,相应的[/dev]和[/pro]分别表示根目录下有dev和pro两个子目录
修改svnserve.conf文件

9.修改nano svnserve.conf  打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = /home/server/svn/repo/conf/passwd #使用哪个文件作为账号文件
authz-db = /home/server/svn/repo/conf/authz #使用哪个文件作为权限文件
realm =/home/server/svn/repo # 认证空间名,版本库所在目录

10.启动svn版本库
svnserve -d -r /home/server/svn/repo/  【-d 表示svnserve.exe 将会作为一个服务程序运行在后台,-r表示把/server/svn/repo目录作为根目录】

二、设置SVN开机自启动
1、subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
nano /lib/systemd/system/svnserve.service
#svnserve.service文件的具体地址  
# /usr/lib/systemd/system/svnserve.service  
[Unit]  
Description=Subversion protocol daemon  
After=syslog.target network.target  
 
[Service]  
Type=forking  
EnvironmentFile=/etc/sysconfig/svnserve  
#注释掉这行
#ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid  -d -r /server/svn/repo  #一定要写svnserve命令的绝对路径  
#添加
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS  
[Install]  
WantedBy=multi-user.target  


2、我们修改/etc/sysconfig/svnserver
nano /etc/sysconfig/svnserve  
将默认目录指定到/server/svn/repo
[html] view plain copy
OPTIONS="-r /home/server/svn/repo"  

3、说明:
[Unit]:服务的说明
Description:描述服务After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间注意:
[Service]的启动、重启、停止命令全部要求使用绝对路径


4. 设置开机启动
在centos7, 设置开机启动:
设置开机自启动 :systemctl enable svnserve.service
#设置开机启动后就可以按下面的方式开启或停止服务了
启动svnserve服务 :systemctl start svnserve.service
关闭svnserve服务 :systemctl stop svnserve.service
停止开机自启动 : systemctl disable svnserve.service
查看服务当前状态 : systemctl status svnserve.service
重新启动服务: systemctl restart svnserve.service
查看所有已启动的服务: systemctl list-units --type=service

如果报这样的错:svn: E204900: Can't open file '/data/svn/Jishu/format': Permission denied的错误。那就是与SELinux有关系,先把SELinux关闭吧
临时关闭:
# sudo setenforce 0
永久关闭:
# sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable      #值修改为disable.


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!