服务器环境:
CentOS 6.4 64位
部署SVN步骤:
1、安装SVN
$ yum -y install subversion
2、创建版本库目录(这里我是放在data目录下)
$ mkdir /home/data $ cd /home/data
3、启用SVN
#svnserve -d -r /home/data // -d 是表示svn服务将会作为一个服务程序运行在后台 // -r 是表示把/data/svndata 作为SVN的根目录
4、 创建一个SVN的项目(建立版本库)
$ svnadmin create /home/data/test //创建名称test的svn项目
5、 修改配置文件在进行源代码管理时,为了安全起见,需要对用户的权限进行控制,主要通过三个配置文件来实现:svnservice.conf、passwd、authz。
1)svnservice.conf文件指明是否需要进行访问控制以及第二、三个文件的位置;
2)passwd文件存放用户帐号及密码等信息;
3)authz文件存放用户的访问权限。
6、配置文件具体配置如下:
1) cd /data/test/conf //到修改配置的版本库下的配置文件目录
2) vim svnserve.conf
将anon-access = read、auth-access = write前面的#号去掉,将”anon-access = read”改成”anon-access = none”使受权用户可以进行写操作;
将auth-db=authz前面的#号去掉,表明用户访问权限文件为当前目录下的authz文件;
将password-db=passwd前面的#号去掉,表明密码文件为当前目录下的passwd文件。
注意:前面的空格要去掉
3) 打开passwd文件,在末行添加账号及密码
4) 打开authz,给添加的用户授权
a、可以将用户添加到[groups]组中,然后针对这个组进行授权
例如:将用户”cooljun” 添加到”admin”组中,然后针对这个组授予读写权限
b、 直接针对这个版本库进行授权
@admin = wr 修改成 cooljun = wr
c、针对这个版本库下的目录进行授权,比如说,你使用CI写的程序已经提交到这个版本库中了,libs下,只给看控制器 那么就可以这样授权:
[/libs/controllers] cooljun = rw
7、客户端使用创建的版本库
1)首先需要在linux防火墙中添加上SVN所使用的端口3690
$vim /etc/sysconfig/iptables //编辑防火墙
# Generated by iptables-save v1.4.7 on Thu Nov 23 19:56:25 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:140]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 11211 -j DROP
-A INPUT -p udp -m udp --dport 11211 -j DROP
-A INPUT -p tcp -m tcp --dport 6379 -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Nov 23 19:56:25 2017
$ /etc/init.d/iptables restart //重启防火墙
2)直接使用svn检出,版本库URL,是填写ip地址后面跟上版本库名称
比如:svn://192.168.10.10/test
转载请注明:cooljun小窝 » Linux上部署SVN