linux下svn服务器的搭建
网上的教程实在是太恶心了,不是太老,就是有问题,刚参考的一篇文章也有问题。自己记录下来,以后用就方便了,现在一边重新安装一遍,一边记录。笔者亲测,今天是5月29号深夜。
linux用的是centos6.2,yum install subversion,安装svn服务端。本篇操作均为root用户权限。
1.建立svn库目录。
mkdir -p /opt/svndata/repos1
2.建立版本库
svnadmin create /opt/svndata/repos1
3.修改配置文件
(1)服务器主文件svnserve.conf(据说一定要顶格写)
vi /opt/svndata/repos1/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svndata/repos1/conf/passwd
authz-db = /opt/svndata/repos1/conf/authz
realm = repos1
(2)用户密码
vi /opt/svndata/repos1/conf/passwd
[users]
wang = hello
king = hello
(3)权限
vi /opt/svndata/repos1/conf/authz
[groups]
admin = wang
[/]
@admin = rw #可读写的意思
[repos1:/]
king = rw
4.建立启动svn的用户:
useradd svn
passwd svn
根据提示为用户svn设置密码
允许用户svn访问版本库:
chown -R svn:svn /opt/svndata
5.启动svn
svnserve -d –-listen-port 3690 -r /opt/svndata
如果出现cant bind server socket提示,就是端口被占用了。用下面的命令:
ps -e|grep svnserve
把出现的id给kill掉,再用上面的命令启动。
6.验证启动状态
使用命令:
ps -ef|grep svnserve
出现如下提示,则说明已经启动
root 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 3690 -r /opt/svndata
7.测试服务器
命令:svn co svn://127.0.0.1/repos1
Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
Password for 'root':
Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
Username: server_group
第一次要输入前面设置的账号和密码,以及linux用户密码,大致内容如上,上面这个是拷贝的别的地方的。最后出现 Checked out revision .. 说明已经ok了。
还要注意linux的防火墙,端口不通过的话,客户端是访问不了的。
# vi /etc/sysconfig/iptables
添加如下一行,可以参照已有的已经开启的ssh的22端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
至此,全部ok,网上教程太坑爹,弄了几个小时了。也是第一次配置这个,希望这个能给一些和我一样的人,带来一些帮助。夜深了,晚安了。