——Angel
4.2 创建svn用户组并将svn添加到apache用户组中 2
在终端中输入如下命令:
sudo apt-get install apache2
由于在线安装依赖web服务,所以我们需要先安装apache2
sudo apt-get install libapache2-svn
Apache安装后的目录是/etc/apache2下在浏览器中打入
http://localhost返回it’work。ok.
安装命令:
sudo apt-get install subversion
许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是/usr/local/svn 以及 /home/svn。为了在下面的描述中简单明了,我们假设您的 Subversion 文件仓库放在 /home/svn,并且你的项目名称是简单的“myproject”。 同样的,也有许多常用的方式设置文件仓库的访问权限。然而,这也是安装过程中最经常出现错误的地方,因此我们会对此进行一个详细说明。典型的情况下,您应该创建一个名为“Subversion”的组来拥有文件仓库所在的目录。
4.2 创建svn用户组并将svn添加到apache用户组中
命令如下:
sudo addgroup subversion
sudo usermod -G subversion -a www-data
您需要注销然后再登录以便您能够成为 subversion 组的一员,然后就可以执行签入文件(Check in,也称提交文件)的操作了。
命令如下:
sudo mkdir /home/svn
cd /home/svn
sudo mkdir myproject
sudo chown -R root:subversion myproject
sudo chmod -R g+rws myproject
sudo svnadmin create /home/svn/myproject
(sudo chmod -R g+rws myproject
最后的一条命令赋予组成员对所有新加入文件仓库的文件拥有相应的权限;
sudo svnadmin create /home/svn/myproject
创建仓库
)
注释:红色标记的root是您的用户名。这里不要添成root。要填写您当前登陆的用户名。在默认情况下。Ubuntu的root用户是不能登陆到图形界面的。如果要用root用户登陆。需要对配置文件进行修改。
Subversion 文件仓库可以通过许多不同的方式进行访问(Check Out,签出)——通过本地硬盘,或者通过各种网络协议。无论如何,文件仓库的位置总是使用 URL 来表示。下表显示了不同的 URL 模式对应的访问方法:
本机文件访问:
suod svn co file:///home/svn/myproject
sudo svn co file://localhost/home/svn/myproject
注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
客服端访问:要进行访问首先要启动svn,启动命令如下(这边是基于以上创建的仓库进行操作):
sudo svnserve --daemon --root /home/svn/myproject
我们用客户端进行访问,比如TortoiseSVN 客户端工具。当我们在计算机安装了这个工具,我们就可以再客户端进行访问:访问地址为:svn://ip地址:
svn://192.168.20.100
这样就会直接进入到myproject的根目录。
很多时候,我们并不希望用户能这么简单的就登陆了,这样也太危险了。所以我们需要做一下简单的配置,具体的配置跟在windows下的svn是一致的。
修改文件的命名为 : sudo gedit 文件路径
如何修改可以参考:http://412887952-qq-com.iteye.com/blog/1335251
注释:对文件仓库的访问权限基于文件系统的权限。如果该用户具有读/写权限,那么他/她就可以签出/提交修改。如果您像前面我们说描述的那样设置了相应的组,您可以简单的将一个用户添加到“subversion”组中以使其具有签出和提交的权限。
要通过 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_name
它会提示您输入密码,当您输入了密码,该用户就建立了。
。“-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
到此。Svn服务器配置基本完成。我们可以通过浏览器使用http://IP地址/svn/myproject进行访问了。
注:使用http访问密码是通过纯文本传输的。建议使用SSL。即通过https://进行访问。
Ssl的配置还没有完成。待完成后写总结发给大家。本教程可以参考网址如下:
警告:密码是通过纯文本传输的。如果您担心密码泄漏的问题,我们建议您使用 SSL 加密.
参考文章:
http://wiki.ubuntu.org.cn/SubVersion