文档章节

Ubuntu下SVN服务器安装和配置

FansUnion
 FansUnion
发布于 2015/10/22 10:29
字数 1188
阅读 5
收藏 0


一、SVN安装
1.安装包
$ sudo apt-get install subversion

2.添加svn管理用户及subversion组
#添加用户
$ sudo adduser  svnuser
#添加分组
$ sudo addgroup svngroup
#添加用户到分组
$ sudo adduser  svnuser svngroup       

3.创建项目目录
$ sudo mkdir /var/www/svn
$ cd /var/www/svn

4.创建SVN文件仓库
$ sudo svnadmin create /var/www/svn/svnroot

5.修改所有者
chown svnuser.svngroup -R svnroot

6.访问方式及项目导入
$ svn co file://var/www/svn/svnroot
或者
$ svn co file://localhost/var/www/svn/svnroot

#注意:
如果您并不确定主机的名称,必须使用三个斜杠(///),而如果您指定了主机的名称,则必须使用两个斜杠(//).

#下面的命令用于将项目导入到SVN 文件仓库,一定要注明导入信息
svn import -m "new commit" /root/test file://localhost/var/www/svn/svnroot

/root/test是需要导入的文件的位置
file://localhost/var/www/svn/svnroot是仓库地址

7.访问权限设置
修改 /var/www/svn/svnroot/目录下:
svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

编辑svnserve.conf文件,把如下两行取消注释
password-db = password
authz-db = authz

//补充说明
#[general]
anon-access = read
auth-access = write
password-db = passwd
其中anon-access和auth-access分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read改成none就能达到目的。


编辑var/www/svnuser/etc/passwd  如下:
[users]
FansUnion = 123456

编辑var/www/svnuser/etc/authz如下
[groups]
admin = FansUnion

[/]
@admin=rw
*=r
这里设置了FansUnion这个用户,密码是123456

8.启动SVN服务
svnserve -d -r /var/www/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://localhost/svnroot

这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://localhost/svnroot --username FansUnion --password 123456 /var/www/svnroot/


二、通过HTTP访问SVN仓库(Apache)
1.安装包 (已安装subversion)
$ sudo apt-get install libapache2-svn

2.创建版本仓库
sudo svnadmin create /var/www/svn/svnroot
目录地址必须存在,这个就是保存版本仓库的地方,不同的版本仓库创建不同的文件夹即可,比如:

本来/var/www/svn/svnroot这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。

3.修改用户和组
然后把这个版本仓库目录授权给apache读写:
sudo chown -R www-data:www-data /var/www/svn/svnroot

4.编辑apache配置文件
sudo vim /etc/apache2/mods-available/dav_svn.conf

加入如下内容:
<Location /svnroot>
DAV svn
SVNPath /var/www/svn/svnroot
AuthType Basic
AuthName "Dream Team Svn Repos"
AuthUserFile /var/www/svn/svnroot/conf/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

location说的是访问地址,比如上述地址,访问的时候就是
http://127.0.0.1/svnroot
其中有两行被注释掉了,以保证每次都需要用户名密码。

5.创建访问用户
建议将用户名密码文件存放在当前版本仓库下conf文件夹下,这样版本仓库多的时候无至于太乱。
因为conf文件夹下已经存在passwd文件了,所以直接添加用户:

sudo htpasswd -c /var/www/svn/svnroot/conf/passwd leiwen
(-c,创建passwdfile文件。如果passwdfile已经存在,那么将被清空并改写。)

然后输入两遍密码,leiwen这个用户就创建好了。
打开/var/www/svn/svnroot/conf/passwd这个文件,会开到形如如下形式的文本:
leiwen:$apr1$spmGy53l$m7RcVXWq/xsAEtRXFDlD4  //后面是加密后的密码。

#这种方法比较合适
sudo htpasswd -b /var/www/svn/svnroot/conf/passwd FansUnion 123456
(123456将被加密,已有的密码文件会被更新,而不是从新创建)


创建以后,再次需要往别的版本仓库添加这个用户,直接把这一行复制过去就可以了。

6.重启apache
sudo /etc/init.d/apache2 restart

或service apache2 restart


7.htpasswd命令参考
Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password

        htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password (default).
 -d  Force CRYPT encryption of the password.
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On other systems than Windows, NetWare and TPF the '-p' flag will probably not work.
The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.

有问题请留言.

原文参见http://FansUnion.cn/articles/1995(小雷网-FansUnion.cn)

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 57
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问

暂无文章

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
12
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部