1. 安装svnserve
[email protected]:~$ sudo apt-get install subversion
2. 创建版本库
sudo mkdir /var/svn
sudo mkdir /var/svn/ipsec
svnadmin create /var/svn/ipsec
3. 修改配置文件
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
a. 修改每个版本库目录conf文件夹下面的svnserve.conf文件,将
# anon-access = read 表示禁止匿名用户访问。
#auth-access = write 表示授权用户拥有读写权限。
#password-db = passwd 指定用户名口令文件,即 passwd 文件。
#authz-db = authz 指定权限配置文件,即 authz 文件。
#realm = /var/svn 指定认证域,即 /var/svn 目录
修改为
anon-access = none
auth-access= write
password-db = ../../passwd
authz-db = ../../authz
#realm = /var/svn
b. 取出ipsec下面conf文件夹下的authz和passwd两个文件到svn根目录下面,即/var/svn
c. 编辑authz文件
[/]:表示根目录,即 /var/svn
luo = rw:表示用户luo对根目录具有读写权限。
d. 编辑passwd文件
如上所示,用户名为:luo,认证密码为:luo123456
4. 防火墙配置(iptable防火墙)
vi /etc/sysconfig/iptables
添加配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
保存退出
systemctl restart iptables.service #重启防火墙使配置生效
5. 启动svn服务器
svnserve -d -r /var/svn
启动成功后,可用ps -aux查看服务启动是否成功
ps -ef | grep 'svnserve'
6. 客户端访问svn服务器
在windows客户端,输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问
或者在linux服务器输入命令测试:
svn co svn://ip地址:3690/ipsec
7. 遇到的问题
- 输入账号密码后,提示 svn: Authorization failed解决办法
把authz 文件 [/] 改为 [\] 试试
- 在windows客户端添加文件显示权限不足
chmod -R o+rw /var/svn