700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Linux (Ubuntu)安装SVN服务端详细篇

Linux (Ubuntu)安装SVN服务端详细篇

时间:2023-11-09 09:22:21

相关推荐

Linux (Ubuntu)安装SVN服务端详细篇

1 先查看是否已经安装了svn:

如果没有安装svn则:

root@houwp:~# svn --versionThe program 'svn' is currently not installed. You can install it by typing:sudo apt-get install subversion

如果已经安装svn则提示svn版本号:

root@houwp:~# svn --versionsvn, version 1.9.7 (r1800392)compiled Mar 28 , 08:49:13 on x86_64-pc-linux-gnuCopyright (C) The Apache Software Foundation.This software consists of contributions made by many people;see the NOTICE file for more information.Subversion is open source software, see /The following repository access (RA) modules are available:* ra_svn : Module for accessing a repository using the svn network protocol.- with Cyrus SASL authentication- handles 'svn' scheme* ra_local : Module for accessing a repository on local disk.- handles 'file' scheme* ra_serf : Module for accessing a repository via WebDAV protocol using serf.- using serf 1.3.9 (compiled with 1.3.9)- handles 'http' scheme- handles 'https' schemeThe following authentication credential caches are available:* Plaintext cache in /root/.subversion* Gnome Keyring* GPG-Agent* KWallet (KDE)

2. 接下来ubuntu安装svn:

先更新一下(可选)

sudo apt-get update

在线安装命令:

sudo apt-get install subversion

3. 创建版本库

在创建版本库之前先要创建文件夹(根据自己习惯创建文件夹)以下是创建文件夹的方法(仅供参考):

方法1:使用命令创建:在/opt/下面用mkdir命令创建目录svn以及子目录repository。(mkdir /svn/repository)

我的目录结构:/opt/svn/repository (这里我创建在opt下面创建了文件夹)

方法2:可以直接用XFTP进行创建文件。

创建完文件夹,接着更改repository(自己创建的文件夹)文件夹的权限 改为777

sudo chmod -R 777 /opt/svn/repository

将刚刚创建的目录利用svn命令指定为版本库:

sudo svnadmin create /opt/svn/repository

设置完成之后在repository下面会生产几个文件夹和文件

root@houwp:/opt/svn/repository# lltotal 32drwxrwxrwx 6 root root 4096 Nov 6 11:07 ./drwxr-xr-x 3 root root 4096 Nov 5 18:09 ../drwxrwxrwx 2 root root 4096 Nov 6 16:05 conf/drwxrwsrwx 6 root root 4096 Nov 5 18:09 db/-rwxrwxrwx 1 root root 2 Nov 5 18:09 format*drwxrwxrwx 2 root root 4096 Nov 5 18:09 hooks/drwxrwxrwx 2 root root 4096 Nov 5 18:09 locks/-rwxrwxrwx 1 root root 246 Nov 5 18:09 README.txt*

Subversion目录说明:

db目录:所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录。

locks目录:用来追踪存取文件库的客户端。

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

进入conf文件夹下面:主要的配置文件在conf文件夹下面:svnserve.conf,passwd,authz

root@houwp:~# vim /opt/svn/repository/conf/authz hooks-env.tmpl passwdsvnserve.conf

authz:是权限控制文件。passwd:是账号密码文件。svnserve.conf:SVN服务配置文件。

接着修改这三个主要的配置文件:

1.修改svnserve.conf文件

进入 svnserve.conf文件后 按i键进入编辑模式。

打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格):

anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos #认证空间名,版本库所在目录

注意:去掉前面的#,并且顶格,不然可能会报错

Esc键退出编辑模式,并输入:wq(保存命令请转/youaiqingnian/article/details/102938953)保存并退出。

2. 修改passwd文件,增加用户和用户密码

进入passwd文件后,按i键进入编辑模式。

格式:用户名=密码(明文)

Esc键退出编辑模式,并输入:wq保存并退出。

以上设置用户为admin密码为admin

3.修改authz文件,增加用户组,目录认证,组权限

进入authz文件后,按i键进入编辑模式。

[groups] : 组管理

[/foo/bar] :目录认证规则

[repository:/baz/fuz] :组权限管理

单库模式则设置为:[/] 本例子为单库模式

5 启动svn版本库

svnserve -d -r /opt/svn/repository

-d:表示在后台运行 ,-r:指定服务器的根目录

启动之后可以查看进程:

ps -ef|grep svnserve

查看端口号,默认端口3690

sudo netstat -ntlp

如果需要停止,则kill -9 进程号

kill -9 2154

这里的进程号会变,所以在启动一次后,再要停止就要再次查看

6 访问:通过svn://服务器ip/文件夹名字 从svn客户端访问服务器。默认svn协议。如果要配置http或者https则需要安装apache。

本例因为是设置的[/],则svn://ip地址/

注意:如果是阿里云或者亚马逊的服务器,可能svn端口号没有对外开通,需要在控制台中配置。

如果出现下面情况:

执行如下命令:

/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

然后再次访问:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。