`
pascal4123
  • 浏览: 110893 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ubuntu 12.04上安装subversion

    博客分类:
  • OS
 
阅读更多

从官网http://www.collab.net/downloads/subversion 下载Subversion Edge 3.1.2 (Linux 64-bit)

 

 

cd /opt

tar xfvz CollabNetSubversionEdge-3.1.2_linux-x86_64.tar.gz 

 

 

在/etc/profile中加以下2行

export JAVA_HOME=/etc/lib/jvm/default-java

export PATH=$PATH:$JAVA_HOME

再运行一下source /etc/profile

 

cd csvn

sudo -E bin/csvn install

 

bin/csvn start

 

启动失败!!

用bin/csvn console 发现 ERROR: Could not write pid file /opt/csvn/bin../data/run/csvn.pid Permission denied

即使chmod加上权限,还是失败!!

 

 

访问 http://localhost:3343/csvn

Username: admin

Password: admin

 

另外SSL保护的版本也在运行,可以访问https://localhost:4434/csvn

 

配置 apache subversion 服务器,让其随系统启动而自动启动

sudo bin/csvn-httpd install

 

 

===============================================

没办法,还是用老svn

 

库是从windows原来转来的

svnadmin dump c:/csvn/data/repositories/A4COSL > f:\A4COSL.dump

 

重建库

svnadmin create /home/fsong/svndata/A4COSL

 

导入

svnadmin load /home/fsong/svndata/A4COSL < A4COSL.dump

 

配置访问权限,以通过自带协议访问(svn://)

方便起见,所有的库采用同样的权限配置。

 

vi /home/fsong/svndata/A4COSL/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /home/fsong/svncommon/conf/passwd

authz-db = /home/fsong/svncommon/conf/authz

 

vi /home/fsong/svncommon/conf/authz

[groups]

admin =xxx, yyy

guest = zzz

 

d[/]

@admin = rw

@guest = r

* =

 

 

vi /home/fsong/svncommon/conf/passwd

[users]

xxx = xxx's password

yyy = yyy's password

zzz = zzz's password

 

 

上述三个配置文件的改动保存后即生效,无需重启svnserver

 

为了能在系统启动时自动启动svn服务,在.profile插入一行:

svnserve -d -r /home/fsong/svndata

 

-d:以daemon方式后台运行
-r :指定根目录/home/fsong/svndata

为了在用户启动时自动加载,配置在文件$HOME/.profile中
svnserve -d -r $HOME/svndata

如果想通过http或https协议访问svn,继续往下看 ---  参见Ubuntu wiki (原文出处 )

除了subversion必须安装之外,还要装
$ sudo apt-get install libapache2-svn
添加subversion组,把自己和apache用户(www-data)加入这个组
sudo addgroup subversion
sudo usermod -G subversion -a www-data

 

 

现在执行下面的命令

$ sudo chown -R root:subversion /home/fsong/svndata/A4COSL

如果是以root帐号创建的库,后面Check in时可能会遇到如下错误:

Can't open '/home/fsong/svndata/db/txn-current-lock': Permission denied

 

解决办法就是

 

$ sudo chown -R fsong:subversion /home/fsong/svndata/A4COSL
$ sudo chmod -R 755 /home/fsong/svndata/A4COSL

通过 WebDAV 协议访问(http:// )

要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:

 

<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。

当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,请输入下面的命令:

sudo /etc/init.d/apache2 restart

接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

sudo htpasswd -c /etc/subversion/passwd user_name1
sudo htpasswd /etc/subversion/passwd user_name2 

它会提示您输入密码,当您输入了密码,该用户就建立了。“-c”选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可:

sudo htpasswd /etc/subversion/passwd other_user_name

您可以通过下面的命令来访问文件仓库:

$ svn co http://hostname/svn/myproject myproject --username user_name

它会提示您输入密码。您必须输入您使用 htpasswd 设置的密码。当通过验证,项目的文件就被签出了。

警告:密码是通过纯文本传输的。如果您担心密码泄漏的问题,我们建议您使用 SSL 加密,有关详情请看下一节。

[编辑 ] 通过具有安全套接字(SSL)的 WebDAV 协议访问(https:// )

通过具有 SSL 加密的 WebDAV 协议访问 SVN 文件仓库(https:// )非常类似上节所述的内容,除了您必须为您的 Apache 2 Web 服务器设置数字证书之外。

您可以安装由诸如 Verisign 发放的数字签名,或者您可以安装您自己的数字签名。

我们假设您已经为 Apache 2 Web 服务器安装和配置好了相应的数字证书。现在按照上一节所描述的方法访问 SVN 文件仓库,别忘了把 http://  换成https:// 。如何,几乎是一模一样的!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics