Ubuntu 14.04 下搭建SVN服务器 svn://

Ubuntu 14.04 下搭建SVN服务器 svn://

安装软件包:

sudo apt-get install subversion

之后选择SVN服务文件及配置文件的放置位置。我放在了/srv下的svn目录。

cd /srv

sudo mkdir svn

我的svn版本仓库叫tone_src

cd /srv/svn

sudo mkdir tone_src

目录建好后 创建版本仓库

sudo svnadmin create /srv/svn/tone_src

执行之后 tone_src下文件结构如下:  

tone@ubuntu:/srv/svn/tone_src$ ls -l
总用量 24
drwxr-xr-x 2 root root 4096  1月 15 10:52 conf
drwxr-sr-x 6 root root 4096  1月 15 14:52 db
-r--r--r-- 1 root root    2  1月 15 10:50 format
drwxr-xr-x 2 root root 4096  1月 15 10:50 hooks
drwxr-xr-x 2 root root 4096  1月 15 10:50 locks
-rw-r--r-- 1 root root  246  1月 15 10:50 README.txt

下面进行配置:

我们需要修改conf目录下的三个文件,authz;passwd;svnserve.conf

编辑svnserve.conf

[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz

编辑authz 制定管理员组 即admin组的用户为tone admin组有rw(读写权限) 所有人有r(读权限)

[groups]
admin= tone

[/]
@admin =rw
*=r

这里组的名字 不一定叫admin 你的管理员组名 可以叫做任意的名字,另外比如admin组还有其他用户,可以这样制定 admin=tone,tone1,tone2 类似这样的写法

编制passwd 文件 设定用户密码

[users]
# harry = harryssecret
# sally = sallyssecret
tone=www

tone的密码为www 对 没看错 明文的。

以上都做完之后,就可以开启你的svn服务器了。

sudo svnserve -d -r /erv/svn/

-d 已守护模式启动

-r 制定svn版本库根目录 这样是便于客户端不用输入全路径 就可以访问版本库了

例如:svn://127.0.0.1/tone_src

值得注意的是 我这里是用sudo 启动的  因为之前的svn目录 及tone_src目录 我都是在sudo下创建的。目录的所属权限都是root

如果我以 下面的方式启动 是可以的 但是当客户段提交文件的时候 会出问题,因为此时的svnserve 服务对svn版本库目录没有写的权限
svnserve -d -r /erv/svn/

推荐一个14.04 下的svn 客户端

$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update
$ sudo apt-get install rabbitvcs-nautilus3

# Optional
$ sudo apt-get install rabbitvcs-gedit
$ sudo apt-get install rabbitvcs-cli

Ubuntu 14.04 下搭建SVN服务器 svn://

Ubuntu 14.04 下搭建SVN服务器 svn://

对于eclipse 客户端的用户,需要安装 subclipse 插件。安装插件时注意客户端的版本和服务端的版本一定要对应好,最好不要考虑兼容,最好就是准确对应,

Ubuntu 14.04 下搭建SVN服务器 svn://

截至到目前Ubuntu 14.04 下Subversion 的版本是1.8.8 与他对应的subclipse版本是1.10.8

另外还要用到javahl的版本为1.8.8

具体安装配置如下:

下安装 配置subclipse1.10.8本版 http://subclipse.tigris.org/files/documents/906/49397/site-1.10.8.zip

下载后解压 得到一个名为site-1.10.8 的文件夹  请将site-1.10.8放到eclipse 目录下的dropins目录内,重启eclipse

重启之后subclipse1.10.8 就应该可以安装完成了,如果没有成功,检查看文件夹的权限。或者以clean 模式再次启动eclipse

subclipse 安装完成后 就会出现 org.apache.subversion.javahl.clientexception:svn..... 这样的错误

这是因为没有安装javahl  请执行 如下命令进行安装。

sudo apt-get install libsvn-java

安装完毕之后进行一个小的配置,

先查找 javahl所在路径

sudo find /usr -name libsvnjavahl-1.so

结果显示路径在/usr/lib/x86_64-linux-gnu/jni

修改eclipse.ini 增加 一行-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
Ubuntu升级到12.04以后,JavaHL Library的位置由原来/usr/lib/jni改为了/usr/lib/x86_64-linux-gnu/jni 
14.04 也是在/usr/lib/x86_64-linux-gnu/jni

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/commonTools/xulrunner
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

这样启动eclipse 后 就能使用svn了

Ubuntu 14.04 下搭建SVN服务器 svn://

--------------------------------------分割线 --------------------------------------

Linux中Subversion配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm

CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

CentOS 6.5部署Apache+SVN  http://www.linuxidc.com/Linux/2013-12/94315.htm

Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

借助网盘搭建SVN服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm

--------------------------------------分割线 --------------------------------------

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-01/111956.htm

上一篇:jQuery静态方法noop,camelCase,nodeName,trim使用和源码分析


下一篇:C语言 · 打印1-200之间的素数