安装SVN
# yum -y install subversion 查看svn安装位置:
# rpm -ql subversion 查询SVN端口号:
# cat /etc/services | grep svn 查看SVN版本:
# rpm -qa subversion 查看svn目录:
# cat /etc/sysconfig/svnserve 创建svn版本库:
# svnadmin create /var/svn/mcrepos 说明:查看SVN项目配置,可以放在默认目录 /var/svn 目录下,也可以修改这个目录。
查看 svn仓库目录:
# tree /var/svn/mcrepos
版本文件夹说明:
conf目录是这个版本仓库的配置文件,存放访问仓库的用户账号、权限、密码等
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
db目录是所有版本控制的数据存放目录
format文件是存放当前库配置版本号的文本文件,是一个正整数
hooks目录是放置hook脚本文件的目录
locks目录是放置subversion监控锁定数据的目录,用于追踪存取文件库的客户端
配置SVN修改文件:
1、编辑 authz 文件,添加:
[/]
ssylkj = rw
添加格式:
[<版本库>:/项目/目录]
@<用户组名> = 权限
<用户名> = 权限
例:
user_group = user,user2 //[组名] = [用户名,用户名,...]
admin = rw //[用户名] = [权限];指定用户的权限
@user_group = r //@[组名] = [权限];指定组内的用户权限
* = //* = [权限];其他用户的权限,如果权限为空则无权
注意:
[/]:表示根目录,可以设置目录,即 /var/svn/testrepos
hanjie = rw:表示用户luo对根目录具有读写权限。
2、编辑 passwd 文件,添加:
hanjie = hanjie
3、编辑 svnserve.conf 文件,在 [general] 和 [sasl] 之间添加(配置的前面不能有空格,一定要顶格写,可以去掉前面的#)
anon-access = none #匿名用户没有访问权限
auth-access = write #授权用户可写(包含可读)
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = testrepos #认证空间名,版本库所在目录,和创建的SVN名称一样即可
4、启动SVN
#svnserve -d -r /var/svn 注意:
-d 是daemon的意思,即守护进程。
-r /var/svn/是启动了所有版本库,如果只想启动其中一个可以指定详细地址,例如/var/svn/。
查看进程
# ps aux | grep svn
查看端口号
# ss -antup | grep svn 5、将3690添加到防火墙规则,并且重启防火墙(第一次需要执行,之后就不需要了)
# firewall-cmd --permanent --zone=public --add-port=3690/tcp
# firewall-cmd --reload 更新防火墙规则
注意:出现 FirewallD is not running 时,表示防火墙没有开启:
# systemctl status firewalld 查看防火墙状态
# systemctl unmask firewalld 反屏蔽FirewallD服务(反屏蔽FirewallD服务,它会移除屏蔽FirewallD服务时创建的符号链接,故能重新启用服务。)
# systemctl start firewalld 启动防火墙
其他firewalld使用:
1)firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
2)systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl –failed
3)配置firewalld-cmd
查看版本: firewall-cmd –version
查看帮助: firewall-cmd –help
显示状态: firewall-cmd –state
查看所有打开的端口: firewall-cmd –zone=public –list-ports
更新防火墙规则: firewall-cmd –reload
查看区域信息: firewall-cmd –get-active-zones
查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0
拒绝所有包:firewall-cmd –panic-on
取消拒绝状态: firewall-cmd –panic-off
查看是否拒绝: firewall-cmd –query-panic
6、现在可以在客户端通过SVN拉取svn数据:
svn://119.3.178.18/testrepos
并且添加数据,并提交。
7、在服务器网站根目录创建文件夹,存放SVN提交的数据(建议SVN名称和网站文件名一样)。
# mkdir mcrepos # cd mcrepos # svn co svn://119.3.178.18/mcrepos # svn up 8、添加开机自启
# echo "svnserve -d -r /var/svn" >> /etc/rc.local # chmod +x /etc/rc.d/rc.local