subversion linux 服务器端搭建 源码安装
下载源码包
1.1 subversion 源码包 http://subversion.apache.org/download/
1.2下载sqlite-amalgamation
此处用的版本 subversion-1.8.9.tar.gz
sqlite-amalgamation-201408010140.zip
2.请参照 http://my.oschina.net/u/234018/blog/297849 安装apr apr-util apache
3. 解压 安装
tar -zxvf subversion-1.8.9.tar.gz wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip unzip sqlite-amalgamation-3071501.zip mkdir /home/devtac/soft/subversion-1.8.9/sqlite-amalgamation cp ./sqlite-amalgamation-3071501/* /home/devtac/soft/subversion-1.8.9/sqlite-amalgamation ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache/bin/apxs --with-openssl --enable-maintainer-mode make make install
4.检测是否安装成功
[root@localhost data]# cd /usr/local/subversion/bin/ [root@localhost bin]# pwd /usr/local/subversion/bin [root@localhost bin]# ll 总用量 6780 -rwxr-xr-x 1 root root 4580966 8月 5 13:55 svn -rwxr-xr-x 1 root root 211775 8月 5 13:55 svnadmin -rwxr-xr-x 1 root root 163522 8月 5 13:55 svndumpfilter -rwxr-xr-x 1 root root 222480 8月 5 13:55 svnlook -rwxr-xr-x 1 root root 162722 8月 5 13:55 svnmucc -rwxr-xr-x 1 root root 495959 8月 5 13:55 svnrdump -rwxr-xr-x 1 root root 683761 8月 5 13:55 svnserve -rwxr-xr-x 1 root root 289204 8月 5 13:55 svnsync -rwxr-xr-x 1 root root 115601 8月 5 13:55 svnversion [root@localhost bin]# svnserve --version svnserve,版本 1.6.11 (r934486) 编译于 Apr 12 2012,11:09:11 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。
5 subversion 配置环境变量(可以不用到subversion 的bin目录下执行subversion 命令了 )
cp /etc/profile /etc/profile.bak.20140805 vi /etc/profile 文件最后加入 SVNPATH=$PATH:/usr/local/subversion/bin export SVNPATH
6.创建仓库
svnadmin 只能创建一级目录,如果直接执行
mkdir -p /home/devtac/svn/case
在后面用客户端checkout 的时候有时会报错
报错 : 期望文件系统格式在"1"到"4"之间;发现格式"6"
正解:
cd /home/devtac mkdir svn svnadmin create /home/devtac/svn/case
创建好后,有如下目录
[root@localhost bin]# cd /home/devtac/svn/case/ [root@localhost case]# ll 总用量 24 drwxr-xr-x 2 root root 4096 8月 5 16:41 conf drwxr-sr-x 6 root root 4096 8月 5 16:45 db -r--r--r-- 1 root root 2 8月 5 16:36 format drwxr-xr-x 2 root root 4096 8月 5 16:36 hooks drwxr-xr-x 2 root root 4096 8月 5 16:36 locks -rw-r--r-- 1 root root 229 8月 5 16:36 README.txt
7 修改配置文件
主要修改 /home/devtac/svn/case/conf
root@localhost conf]# pwd /home/devtac/svn/case/conf [root@localhost conf]# ls authz passwd svnserve.conf svnserve.conf.bak [root@localhost conf]# ls -al 总用量 24 drwxr-xr-x 2 root root 4096 8月 5 16:41 . drwxr-xr-x 6 root root 4096 8月 5 16:36 .. -rw-r--r-- 1 root root 1144 8月 5 16:37 authz -rw-r--r-- 1 root root 350 8月 5 16:38 passwd -rw-r--r-- 1 root root 3995 8月 5 16:41 svnserve.conf -rw-r--r-- 1 root root 2279 8月 5 16:37 svnserve.conf.bak
主要修改
svnserve.conf
anon-access = none (匿名用户不能访问)
auth-access = write (认证用户 可读可写)
password-db = passwd(用户密码文件)
authz-db = authz
详细解释请读配置文件svnserve.conf里注释
注意:
### users have read and write access to the repository. anon-access = none auth-access = write
auon-access 前面不能有空格,auth-access 也不能有,svnserve.conf 每行修改的行首都不要有空格
否则 后面客户端checkout 又会报错。
passwd 配置账号密码
[root@localhost conf]# more passwd ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret admin = admin tac = lovelife test = test
authz 配置权限 如下
[root@localhost conf]# more authz ### This file is an example authorization file for svnserve. ### Its format is identical to that of mod_authz_svn authorization ### files. ### As shown below each section defines authorizations for the path and ### (optional) repository specified by the section name. ### The authorizations follow. An authorization line can refer to: ### - a single user, ### - a group of users defined in a special [groups] section, ### - an alias defined in a special [aliases] section, ### - all authenticated users, using the ‘$authenticated‘ token, ### - only anonymous users, using the ‘$anonymous‘ token, ### - anyone, using the ‘*‘ wildcard. ### ### A match can be inverted by prefixing the rule with ‘~‘. Rules can ### grant read (‘r‘) access, read-write (‘rw‘) access, or no access ### (‘‘). [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe user = admin,tac,test # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [/] user = rw admin = rw tac = rw test = r
配置文件暂时修改完毕
8. 导入代码库 到仓库
1423 mkdir -p /tmp/data/ 1424 echo ‘1111‘ >/tmp/data/index.html 1425 echo ‘2222‘ >/tmp/data/2.html 1426 ./svn import /tmp/data/ file:///home/devtac/svn/case -m "testttttttest"
9.安装客户端
TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi
10. checkout
10.1 先 在server 端把svn 默认端口加到iptables 里
重启iptable
10.2 启动 svn
svnserve -d -r /home/devtac/svn/case
10.2 客户端 checkout
我这边url 里写的是:
svn://192.168.2.241
完工
谢谢网络诸君
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。