Linux安装SVN

使用 SVN 进行网站的发布工具。

在 Linux 上安装 SVN 步骤:

安装 SVN

# yum install subversion

创建 SVN 仓库

# cd /opt
# mkdir svn
# svnadmin create /opt/svn/web

通过上述命令在服务器 /opt/svn 目录下创建了一个仓库 web。接下来需要修改仓库的配置文件。

配置 SVN 仓库

# cd /opt/svn/web
# ls
conf db format hooks locks README.txt
# ls
authz passwd svnserve.conf

conf 目录下存放 SVN 仓库相关配置文件。

1、修改 authz 文件
authz 是 SVN 认证文件,vim 打开

[groups]
admin = svn_admin
[/]
@admin = rw

在 [groups] 下增加 admin,在文件末尾增加 [/],换行增加 @admin=rw。@ 紧跟着用户组,等号右侧是读写权限。

2、修改 passwd 文件

passwd 是 SVN 账号密码文件,vim 打开

[users]
svn_admin = svn_password

在 [users] 下增加 svn_admin,等号右侧是该账号的密码

3、修改 svnserve.conf 文件

svnserve.conf 是该 SVN 仓库运行配置,vim 打开

[general]
anon-access = read
auth-access = write
authz-db = /opt/svn/web/conf/authz
password-db = /opt/svn/web/conf/passwd

在 [general] 下增加访问控制和 authz-db、password-db 文件路径。

启动 SVN 仓库

# svnserve -d -r /opt/svn/web/

启动 SVN 仓库之后,SVN server 即创建完成。

检查仓库运行

# netstat -anp | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 15019/svnserve

检查端口可以发现 SVN serve 已经运行在端口 3690。

通过 telnet 127.0.0.1 3690 连接该端口可以收到类似这样的信息 ( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )。

通过 curl http://127.0.0.1:3690 可以收到类似这样的信息 ( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) ) 。

checkout 仓库

通过 SVN TortoiseSVN 客户端 checkout 仓库 svn://127.0.0.1 验证账户并登录就可以正常使用 SVN 了。进一步可以了解如何使用 https 访问 SVN 服务。

后续在 Linux 上部署 SVN 更新脚本即可实现 SVN 管理站点发布上线。

开机启动 SVN 服务

一般来说,Linux 服务器重启情况比较少。但为了方便,可以 SVN 服务添加到开机启动项中。

在文件 /etc/rc.local 中增加一行 /usr/bin/svnserve -d -r /opt/svn/web/

不使用 /etc/init.d/svnserver 启动 SVN 服务是因为该命令默认启动时没有携带 -r 参数,即默认没有指定仓库路径。

作者: 袖之欢

科技改变生活,编程改变世界。

发表评论

电子邮件地址不会被公开。 必填项已用*标注