SVN服务器配置

首先下载Subversion Windows版本的服务器软件,下载地址如下:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91  [如不能下载,请留下联系方式,直接发你邮箱中]
文件为svn-1.2.0-setup.exe,然后执行安装,安装目录如:d:\develop\subversion,然后设置一下系统的环境变量Path,将Subversion的bin路径加入到系统的path中。
2 创建Subersion库:首先建立一个目录存放Subversion的库,在该库中存放所以的Subversion项目,如D:\repository\subversion
3 创建一个新的Subversion项目。
只需执行: svnadmin create D:\repository\subversion\projectname
下面需要设置项目的用户信息,只需打开Subversion项目conf目录下passwd文件添加新的用户即可,如
[users]
admin = mypassword
接下来是设置项目的一些其他信息,打开conf目录下的svnserve.conf文件,然后进行如下设置即可:
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = projectname
4 启动Subversion,这里可以通过命令行启动,最好使用SVN Service Wrapper,你可以通过以下地址下载: http://dark.clansoft.dk/~mbn/svnservice  [如不能下载,请留下联系方式,直接发你邮箱中],将SVNService.exe拷贝到Subversion安装主目录的bin目录下即可,然后执行以下命令,就可以将Subversion以windows服务方式启动啦。 Svn8.Com
SVNService -install -d -r D:\repository\subversion
5 向Subversion中导入项目:现在我们需要将项目导入到Subversion的库中,只需执行一下命令: svn import d:\projectname svn://localhost/projectname -m “initial import” –username admin –password mypassword
这样项目就导入到subversion库中啦。
6 将项目导出:从Subversion项目中导出项目也很简单,只需执行以下操作:
svn co svn://localhost/projectname –username admin –password mypassword

 

首先就是安装svn了,
ubuntu:sudo apt-get install subversion
centos:sudo yum install subversion

然后是启动svn服务器。
svnserve -d -r /path
中-d是以守护进程的模式启动,-r是指定项目路径 /path则是项目的路径了,比如/home/machinema/myproject
svnserve -d -r /home/machinema/myproject

执行后查看是否正常启动了:
netstat -ntl  如果看到3690的端口正常开放,证明SVN启动了。
这个时候执行:ps ax|grep svn 就会找到在后台执行的进程了。

到这个时候,svn的服务器就算启动完成了。这个时候建立一个数据仓库就可以使用了。

现在建立一个svn的数据仓库,注意仓库要放到刚才指定的路径下面。
因为守护进程只会到我们指定的路径下查找svn项目。
如果你就一个项目可以直接在myproject下建立:
svnadmin create  /home/machinema/myproject/
不过一般我们都有多个项目,因此在myproject下面的文件夹内建立:
svnadmin create /home/machinema/myproject/prject1/

查看是否建立(出现下面的conf dav 等目录和文件就说明建立了):
ls /home/machinema/myproject/prject1/
conf  dav  db  format  hooks  locks  README.txt

配置刚建立的svn数据仓库的访问,管理权。
修改/home/machinema/myproject/prject1/conf/svnserve.conf文件

加入下面几行到svnserve.conf中,保存。
[general]
anon-access = none
auth-access = write
password-db = passwd

anon-access = none:这个选项用于控制匿名用户的访问,其中有none,read,write,三个可选项。
auth-access = write:这个选项用于控制认证用户的访问,其中有none,read,write,三个可选项。
password-db = passwd:这个选项是设置用于保存用户名和密码的文件的文件名,比如这里设置为passwd,
那么就是到/home/machinema/myproject/prject1/conf/passwd文件中修改

修改/home/machinema/myproject/prject1/conf/passwd文件:
vi /home/machinema/myproject/prject1/conf/passwd
加入你所需要用户名和密码,比如我的是:
[users]
machinema = 123456
hellokiki  = 654321
建立了两个用户,machinema hellokiki 密码分别为:123456 654321

导入你已经写好的一些程序入svn的仓库,比如导入disucz
svn import /home/machinema/discuz file:///home/machinema/myproject/project1 -m “这里是注释”
提交后的修订版为 1。

在svn取出项目的数据,从而进行用修改代码,更新
svn co file:///home/machinema/myproject/prject1/ /home/machinema/discuzSVN/
之后我们就可以在/home/machinema/discuzSVN下操作svn了

远程访问:
刚才的检出用的是本地的方法,我们实际上可以远程访问,
假设你的服务器的ip地址是:123.123.123.123
我们可以这样访问:
svn co svn://123.123.123.123/project1/ /home/machinema/discuzSVN/

有的朋友可能要问了,为什么project1之前的那些路径都省略掉了呢?
这样会不会找不到仓库呢?
实际上是不会的,因为我们在建立守护进程的时候就已经定义了仓库主目录的位置了,还记得吗?
svnserve -d -r /home/machinema/myproject
其他svn 的客户端请查看Subversion的说明。
http://www.subversion.org.cn/svnbook/1.1/index.html

 

posted on 2010-09-23 09:36  风的轮廓  阅读(782)  评论(0编辑  收藏  举报

导航