linux下svn服务器端安装与使用
下载:
一、安装:
解压:#: tar zxvf subversion-1.3.2.tar.gz
依次输入./configure , make , make install 进行编译安装完成。http://subversion.tigris.org
将svn加入PATH中。开启SVN服务:svnserve -d
检测服务是否开启:netstat -ntlp如果看到3690的端口正常开放了,证明SVN启动了。
也可以使用下面命令查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
正式使用:
二、创建仓库 svnadmin create /home/laiguanhui/svn/testsvn
/home/laiguanhui/svn/testsvn为所创建仓库的路径,理论上可以是任何目录
三、修改配置文件/home/laiguanhui/svn/testsvn/conf/svnserve.conf
代码
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
注意:所有的行都必须顶格,否则报错。
1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
2. 这里的密码都是没有加密的
四、修改配置文件passwd。
代码
[users]
sxy = sxy
五、配置SVN xinetd启动方式:
在/etc/xinetd.d/下面新建svn文件
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/local/bin/svnserve
server_args = -i -r /home/svn
}
重启xinetd /etc/init.d/xinetd restart
六、停止SVN服务器:killall svnserve
七、启动SVN服务器
对于单个代码仓库
启动命令 svnserve -d -r /home/laiguanhui/svn/testsvn --listen-host 192.168.1.1
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.
我们可以在svn客户端中通过svn://192.168.1.1来访问svn服务器
对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.
比 如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home --listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn://192.168.1.16 /repo2来分别访问两个项目
八、开放服务器端口
svn默认端口是3690,你需要在防火墙上开放这个端口。
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
/sbin/service iptables save
你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.1.200:9999/.
九、使用svn客户端导入项目
推荐使用客户端 http://tortoisesvn.tigris.org/
eclipse插件
http://subclipse.tigris.org/
十、安装中遇到的问题
有些帖子中提到了权限的管理,修改了authz文件,不过可能是我没有理解好,修改了该文件后就提示Authentication denies。
补:
1. 权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
// 在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可.
好了,现在就可以使用eclipse访问svn了!
使用Software Update功能安装svn,url是并输入以下 URL:http://subclipse.tigris.org/update_1.0.x
转帖自 http://blog.csdn.net/yangjiehuan/archive/2011/03/04/6224101.aspx
一、安装:
解压:#: tar zxvf subversion-1.3.2.tar.gz
依次输入./configure , make , make install 进行编译安装完成。http://subversion.tigris.org
将svn加入PATH中。开启SVN服务:svnserve -d
检测服务是否开启:netstat -ntlp如果看到3690的端口正常开放了,证明SVN启动了。
也可以使用下面命令查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
正式使用:
二、创建仓库 svnadmin create /home/laiguanhui/svn/testsvn
/home/laiguanhui/svn/testsvn为所创建仓库的路径,理论上可以是任何目录
三、修改配置文件/home/laiguanhui/svn/testsvn/conf/svnserve.conf
代码
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
注意:所有的行都必须顶格,否则报错。
1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
2. 这里的密码都是没有加密的
四、修改配置文件passwd。
代码
[users]
sxy = sxy
五、配置SVN xinetd启动方式:
在/etc/xinetd.d/下面新建svn文件
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/local/bin/svnserve
server_args = -i -r /home/svn
}
重启xinetd /etc/init.d/xinetd restart
六、停止SVN服务器:killall svnserve
七、启动SVN服务器
对于单个代码仓库
启动命令 svnserve -d -r /home/laiguanhui/svn/testsvn --listen-host 192.168.1.1
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.
我们可以在svn客户端中通过svn://192.168.1.1来访问svn服务器
对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.
比 如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home --listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn://192.168.1.16 /repo2来分别访问两个项目
八、开放服务器端口
svn默认端口是3690,你需要在防火墙上开放这个端口。
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
/sbin/service iptables save
你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.1.200:9999/.
九、使用svn客户端导入项目
推荐使用客户端 http://tortoisesvn.tigris.org/
eclipse插件
http://subclipse.tigris.org/
十、安装中遇到的问题
有些帖子中提到了权限的管理,修改了authz文件,不过可能是我没有理解好,修改了该文件后就提示Authentication denies。
补:
1. 权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
// 在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可.
好了,现在就可以使用eclipse访问svn了!
使用Software Update功能安装svn,url是并输入以下 URL:http://subclipse.tigris.org/update_1.0.x
转帖自 http://blog.csdn.net/yangjiehuan/archive/2011/03/04/6224101.aspx