linux-svn 部署以及权限控制

linux-svn 部署以及权限控制

部署
一、下载相应的包

subversion-1.8.18.tar.gz 下载地址:http://subversion.apache.org
sqlite-autoconf-3190300.tar.gz 下载地址:http://www.sqlite.org
apr-1.5.2.tar.gz,apr-util-1.5.4.tar.gz 下载地址:http://archive.apache.org/dist/apr

zlib-1.2.11.tar.gz 下载地址:http://linux.softpedia.com/get/Programming/Libraries/zlib-159.shtml

二、把下载好的包上传至目录/home/svn/download目录下,并解压相关压缩包:

tar -xf 文件名.tar

三、安装:

1.检查是否已经安装gcc环境,如果没有,先安装gcc环境;

2.安装apr

[root@localhost ~]$ cd apr-1.5.2
[root@localhost apr-1.5.2]$ ./configure --prefix=/home/svn/apr-1.5.2
[root@localhost apr-1.5.2]$ make
[root@localhost apr-1.5.2]$ make install
3.安装apr-util:

[root@localhost ~]$ cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]$ ./configure --prefix=/home/svn/apr-util-1.5.4 --with-apr=/home/svn/apr-1.5.2
[root@localhost apr-util-1.5.4]$ make
[root@localhost apr-util-1.5.4]$ make install
4.安装依赖的sqlite:

1.可以自行安装sqlite或者将sqlite解压到/home/svn/subversion-1.8.16/sqlite-amalgamation下

2.这里采取将sqlite解压到/home/svn/download/subversion-1.8.18/sqlite-amalgamation下

3.将文件夹名称改为要求的文件夹名称
    [root@localhost subversion-1.8.18]$ mv sqlite-autoconf-3190300 sqlite-amalgamation

5.zlib的安装:

6.安装apr

[root@localhost ~]$ cd zlib-1.2.11
[root@localhost zlib-1.2.11]$ ./configure --prefix=/home/svn/zlib-1.2.11
[root@localhost zlib-1.2.11]$ make
[root@localhost zlib-1.2.11]$ make install
7.subversion的安装:

1.[root@localhost ~]$ cd subversion-1.8.18

2.[root@localhost subversion-1.8.18]$ ./configure --prefix=/home/svn/subversion-1.8.18 --with-apr=/home/svn/apr-1.5.2 --with-apr-util=/home/svn/apr-util-1.5.4 --with-zlib=/home/svn/zlib-1.2.11
  3.[root@localhost subversion-1.8.18]$ make
  4.[root@localhost subversion-1.8.18]$ make install

8.安装完成,添加环境变量path

[root@localhost subversion-1.8.18]$ cd
[root@localhost ~]$ vi .bash_profile
在文件里面添加以一行:PATH=/home/svn/subversion-1.8.18/bin: P A T H 并 保 持 退 出 [ r o o t @ l o c a l h o s t   ] PATH 并保持退出 [root@localhost ~] PATH退[root@localhost ] source .bash_profile
9.验证安装是否成功,输入:svnserve --version

四、配置

1.创建svn版本库目录:

svnadmin create /home/svn/product

  1. **修改版本库配置文件svnserve.conf 主要不要前面留空格**

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件

3.修改passwd文件

[users]
username1 = password1
username2 = password2

username3 = password3

username4 = password4

4.修改authz文件

用户分组;

[groups]

users = username1,username2

给用户组users和用户username3赋予/目录下的读写权限

[/]

@users = rw

username3 = rw

*=

*=其他用户没有该权限

给用户username4赋予/product/10]目录下的读写权限

[/product/10]

username4 = rw

5.添加端口到防火窗里:

vi /etc/sysconfig/iptables

添加一行:

-I INPUT -p tcp --dport 3690 -j ACCEPT

重新启动防火窗:

/sbin/service iptables restart

6.启动服务:

svnserve –d –r /home/svn/product/

7.远程连接地址:

svn://服务器ip:端口(默认端口3690可以不写)/product/

例如:svn://192.168.23.345:82/product/

五、问题

svn客户端访问服务器时报错: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

首先配置什么的都是对的。在网上搜了一些有用的东东,可以解决此问题:

请依次检查下面各项
1,服务器有没有运行,有没有打开相应端口
如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口
如果服务器是apache,检查apahce是否运行,是否打开80端口
检查时可以在服务器运行netstat -an看看相应端口是否在LISTEN
2,防火墙有没有开放相应端口
3,客户端是否可以连接服务器的相应端口
使用命令telnet 服务器IP 相应端口
如:telnet 192.168.0.1 3690

权限控制如下
版本库下conf 文件中
1、auth文件配置用户组以及用户组权限

注意:用户组写在[groups]下,权限写在[repo]下
			   权限目录写法为 [<版本库>:/项目]
					例如:版本库名称为 product 想给版本库下的 ceshi这个目录分配用户权限 可写为 [product:/ceshi]
					 [ / ] 这个下面设置的用户拥有版本库根目录下的所有权限
					 启动命令 svnserve -d -r 版本库路径 
					 但是注意把目录写在版本库目录前一级
					 killall svnserve 杀掉所有svn服务
					 
			此文章引用自 https://www.cnblogs.com/code4app/p/7202039.html
			具体可参考上述链接
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值