您的位置:首页 > 运维架构 > Linux

Linux下svn的安装和使用(1)

2014-03-29 22:38 423 查看
前言:

svn 我们平时小组开发,合作,都会用到,那么如何安装呢。今天我也是自己安装了一遍svn服务器,感觉蛮简单的。就记录下。

1. 下载 安装 

[root@localhost /]# yum install subversion

2. 查看是否安装成功 svn --version

root@localhost /]# svn --version
svn,版本 1.6.11 (r934486)
编译于 Mar  6 2014,10:49:10

版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

可使用以下的版本库访问模块:

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案

[root@localhost /]#


3. 建立SVN库

[root@localhost /]# mkdir -p /opt/svn/repos
[root@localhost /]# svnadmin create /opt/svn/repos
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

4. 配置

进入上面生成的文件夹conf下,进行配置,   有以下几个文件authz, passwd, svnserve.conf

其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。

4.1  先设置passwd

[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码

这样我们就建立了hello用户, 123密码

4.2 再设置权限authz

[/]
hello= rw

意思是hello用户对所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。

4.3 最后设定snvserv.conf,去掉#

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz   # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
 以上语句都必须顶格写, 左侧不能留空格, 否则会出错

5. 启动SVN

svnserve -d -r /opt/svn/repos

[root@localhost locks]# svnserve -d -r /opt/svn/repos/


如果提示说端口已经被占用,说明已经启动了。如果想同一台服务器可以运行多个svnserver,可以这样:

[root@localhost /]# svnserve -d -r /opt/svn/repos --listen-port 3391


6 查看SVN服务是否已经启动

查看SVN进程:

[root@localhost locks]# ps -ef | grep svn
root      8490     1  0 18:06 ?        00:00:00 svnserve -d -r /opt/svn/repos/
root     11393  3314  0 22:27 pts/0    00:00:00 grep svn

查看SVN 端口(3690)
[root@localhost locks]# netstat -tnl|grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN
表示启动成功。

7. iptables设置3690端口白名单,允许远程访问

这一步是最重要的,不然你在Linux上安装了SVN,结果在其他的windows机器上无法连接,问题基本是这里。

[root@localhost locks]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


将3690端口的加入其中:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


加到倒数第二行前面:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


保存,然后重启 iptables 服务: service iptables restart

[root@localhost locks]# service iptables restart
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]
[root@localhost locks]#

8. svn客户端连接

svn服务器搭建好了。那么其他远程的机器就可以访问了。我们在windows安装的是tortoiseSVN客户端连接:

svn://192.168.0.104  是刚才安装SVN服务器的ip地址。



会弹出框,需要输入账户,密码,我们可以输入刚才创建的用户名密码:hello:123。成功。



就可以检出和导入文件了。

搞定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: