svn服务搭建

svn服务端搭建

  • 安装 subversion
  • 创建版本库,初始化
  • 修改配置文件 authz passwd svnserve.conf
  • 启动svn服务

svn客户端搭建

  • 安装 subversion
  • 连接服务端,检出服务端项目,会生成与服务端相同的项目名
  • 在项目目录下创建测试内容
  • 提交给服务器

注:可去另一台svn客户端更新项目,查看日志。一旦客户端连接到服务端就会缓存服务器提供给客户的用户名和密码。

svn服务端(192.168.221.10)代码如下

yum install subversion -y
mkdir -p /svn/server/project
svnadmin create /svn/server/project  //此目录下会生成一些文件
cd /svn/server/project
[root@localhost project]# ls
conf  db  format  hooks  locks  README.txt
cd conf/   //配置文件目录
ls
authz  passwd  svnserve.conf   //配置文件
vim /svn/server/project/conf/authz
[groups]
authgroup = apeng,aling
[/]
@authgroup = rw
* = r
[project:/]
apeng = rw
vim /svn/server/project/conf/passwd
[users]
apeng = 3f3071b1c9
aling = ec5a530489
vim /svn/server/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /svn/server/project/
svnserve -d -r /svn/server/
netstat -tlnp|grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      2011/svnserve
ps aux|grep svn|grep -v grep
root       2011  0.0  0.0 162200   656 ?        Ss   16:37   0:00 svnserve -d -r /svn/server/
systemctl stop firewalld.service
iptables -nvL

svn客户端(192.168.221.20)代码如下

yum install subversion -y
mkdir -p /svn/client/192.168.221.20
cd /svn/client/192.168.221.20
svn checkout svn://192.168.221.10/project --username=apeng
认证领域:  /svn/server/project/
“apeng”的密码: 

-----------------------------------------------------------------------
注意!  你的密码,对于认证域:

    /svn/server/project/

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
取出版本 0。

ls -a
.  ..  project
ls -a project/
.  ..  .svn
cd project/
echo "svn test" > svntest.file
svn add svntest.file 
A         svntest.file

svn commit -m "add svntest.file"
正在增加       svntest.file
传输文件数据.
提交后的版本为 1。

cat /root/.subversion/auth/svn.simple/f9ac09a0c2eaac3cfc02731a978df5c9 //缓存服务端授权用户和密码文件
........................以上省略..................................
password
V 10
3f3071b1c9
..........................省略...................................................
username
V 5
apeng
END

svn客户端(192.168.221.30)代码如下

yum install subversion -y
mkdir -p /svn/client/192.168.221.30
cd /svn/client/192.168.221.30/
svn checkout svn://192.168.221.10/project --username=aling
cd project/
svn update
cat svntest.file
svn test
echo "modify svt test" >> svntest.file
svn commit -m "modify svntest.file"

去svn客户端(192.168.221.20)上查看

svn update
cat svntest.file  //以下2行是查看到的内容
svn test
modify svt test

svn delete svntest.file  //删除本地文件
svn commit -m "delete svntest.file"  //删除服务器文件

去svn客户端(192.168.221.30)上查看日志

svn log
------------------------------------------------------------------------
r1 | apeng | 2018-03-23 16:53:05 +0800 (五, 2018-03-23) | 1 行

add svntest.file
------------------------------------------------------------------------