近日因为公司业务调整将搭建了svn的服务器下架,鉴于运维工作太忙一直没有进行svn的重建,决定自己尝试搭建。
一、安装
可以采用编译和yum进行安装,对于我这种linux小白来讲当然是采用yum傻瓜式安装。
1.1 验证是否安装有svn:
svnserve –version
如果存在svn的话,直接配置自己的资源库就行了。
1.2 运行yum安装命令
yum install subversion
二、配置
2.1 创建svn资源库
在home下创建一个svn文件夹,将它作为我们以后存放代码的资源库,创建成功后svn下会多出一些配置文件夹。
其中conf文件夹下是存放配置文件的
authz 是账号权限相关的配置
passwd 是帐号密码相关的配置
svnserve.conf 是资源库相关的配置
2.2 配置passwd
新增用户 在passwd的users下添加,格式为 用户名 = 密码。
2.3 配置authz
2.3.1 权限设置
编辑authz文件,在[/] 下添加权限, 格式为 用户名=权限
groups里有官方注释的例子
- rw代表拥有读写权限
- r代表只有读取权限
- *= 代表其他用户无任何权限
2.3.2 用户分组
这里创建了一个分组 admin,里面有两个用户,此分组给出了读写权限。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
2.4 配置svnserve.conf
vi svnserve.conf
三、启动与停止
svnserve -d -r /home/svn/yuntsg
ps -ef|grep svnse
kill -9 pid
如果想要重启svn的话,需要先停止在启动。
四、连接svn
下载个svn客户端,使用svn://+ip+仓库名就可以登录了(默认端口是3690)
五、注意事项
5.1 需要开放svn端口
在第三步启动后始终没能连接到svn上。经过千辛万苦的排查后终于发现,端口没开放。。。
svnserve -d -r /home/svn/yuntsg –listen-port 12345
5.2 myeclipse内连接svn,使用资源历史记录报错:Item is not readable
在svnserve.conf 文件中,默认下是anon-access = read,设置成 anon-access = none
六、扩展
linux下的端口设置:
1.查看端口是否开放
- netstat -ntulp|grep 11306
- netstat -anlp|grep 3306
2.查看iptables内的端口
- iptables -L -n
3.开放端口
1.
iptables -A INPUT -p tcp --dport 12345 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 12345 -j ACCEPT
service iptables save(保存)
一定要使用service iptables save或者/etc/rc.d/init.d/iptables save命令进行设置保存,否则iptables restart重启时会丢失使用命令添加的端口.
2.
-A INPUT -p tcp -m tcp --dport 54321 -j ACCEPT
//文本模式保存iptables文档
vi /etc/sysconfig/iptables 修改iptables后使用service iptables restart
4.开放某个端口给特定ip
iptables -I INPUT -s 192.168.0.1 -p TCP --dport 11306 -j ACCEPT
iptables -L 查看设置结果
/etc/rc.d/init.d/iptables save 对添加的端口进行保存- :-A INPUT -p tcp -s 192.168.0.1 -j ACCEPT //在vi中输入此条语句然后重启iptables
5.mysql远程连接
- mysql -h xxx.xx.xx.xxx -u username -p