Linux在线安装svn解决方案
Linux在线安装svn解决方案
——Angel
1.?Apache的安装 1
2.?安装svn的配置模块 1
3.?Svn的安装 2
4.?Svn的配置 2
4.1?svn仓库的配置说明 2
4.2?创建svn用户组并将svn添加到apache用户组中 2
4.3?提交文件 3
4.4?访问方式 4
4.5?配置通过WebDav协议访问。 6
1.?Apache的安装
在终端中输入如下命令:
sudo?apt-get?install?apache2
由于在线安装依赖web服务,所以我们需要先安装apache2
2.?安装svn的配置模块
?sudo?apt-get?install?libapache2-svn
Apache安装后的目录是/etc/apache2下在浏览器中打入
http://localhost返回it’work。ok.
3.?Svn的安装
安装命令:
sudo?apt-get?install?subversion
4.?Svn的配置
4.1?svn仓库的配置说明
许多位置都可以放置?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,也称提交文件)的操作了。
4.3?提交文件
命令如下:
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用户登陆。需要对配置文件进行修改。
4.4?访问方式
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”组中以使其具有签出和提交的权限。
4.5?配置通过WebDav协议访问。
要通过?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
<!--EndFragment-->