CentOS安装SVN Server

本文详细介绍了SVN的基本操作、配置、启动与关闭方法,包括目录创建、权限设置、导入导出、版本控制等核心功能,并提供了开机启动、远程访问及服务器迁移等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://www.ha97.com/4467.html


1. 

# current directory: /home/lizk

mkdir svn

cd svn

svnadmin create myapp

svn import /home/lizk/project file:///home/lizk/svn/myapp -m "init directory"


2. 

# current directory: /home/lizk/svn/myapp/conf

# edit file-passwd

[users]
# harry = harryssecret
# sally = sallyssecret

pm = hello


#edit authz

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

[/]
pm = rw
* =

#edit svnserve.conf

general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

3. 

启动:

svnserve -d -r /home/lizk/svn

关闭:

ps -aux|grep svnserve

kill -9 ID号


4. check out

svn co svn://192.168.60.10/myapp


5. 开机启动

    参考:http://blog.youkuaiyun.com/linglongwunv/article/details/5186968

vim /etc/rc.d/rc.local

    /usr/bin/svnserve -d -r /home/lizk/svn



注:

    svn list svn://192.168.60.10/myapp    // 列举目录

    svn export svn://192.168.60.10/myapp,用于导出干净的项目文件,即不包括.svn文件信息。

    svn mkdir svn://192.168.60.10/a/b/c -m ""      // 创建目录

    svn remove svn://192.168.60.10/a/b/trunk -m "sss"        // 删除目录

    svn mkdir svn://192.168.60.10/a/b/c/branches -m ""      // 创建目录

    svn import v1.0/ svn://192.168.60.10/a/b/c/trunk -m "init trunk"    // 导入项目文件

    svn checkout svn://192.168.60.10/a/b/c/trunk ./myproject  // 导出   

    svn cp svn://192.168.60.10/a/b/c/trunk svn://192.168.60.10/a/b/c/branches/v1.0 -m "init v1.0 branch"    // 创建branch


    svn info // 查看当前目录的svn信息


    svn sw --relocate <from_url> <to_url> [PATH]  

    svn switch --relocate svn://lizk@10.10.10.72/a/b/c/branches/v1.8.9 svn://lizk@192.168.1.78/a/b/c/branches/v1.8.9     // 修改svn服务器ip,或者部署到别的机器后,重定位。

    (注意:path,其实可以不打,不打默认表示当前目录)


    把当前目录即import,又作为export目录方法:(http://stackoverflow.com/questions/678437/svn-in-place-import-and-checkout)        

cd /home/user/mydirname
svn co svn://192.168.1.111 .       # this only creates the ".svn" folder for version control
svn add ./*                        # tell svn you want to version control all files in this dir
svn ci



### CentOS安装和使用 SVN 服务器指南 #### 安装 Subversion 和 Apache HTTP Server 为了在 CentOS 上设置 SVN (Subversion) 服务器,需要先通过 yum 或者 dnf 来安装必要的软件包。对于较新的 CentOS 版本可以采用 `dnf` 命令来完成此操作。 ```bash sudo dnf install subversion mod_dav_svn httpd -y ``` 这一步骤会下载并安装最新版本的 Subversion 及其依赖项以及 Apache Web 服务端[^1]。 #### 配置 Apache 支持 SVN 协议 编辑 `/etc/httpd/conf.modules.d/10-subversion.conf` 文件以加载 dav_svn 模块: ```apacheconf LoadModule dav_svn_module modules/mod_dav_svn.so ``` 上述配置确保了 Apache 能够处理来自客户端针对 SVN 库的操作请求。 #### 创建仓库位置 创建一个用于存储所有项目库的新目录,并初始化第一个仓库实例作为例子展示如何建立新库结构: ```bash mkdir -p /var/www/svn/myproject svnadmin create /var/www/svn/myproject chown -R apache:apache /var/www/svn/ chmod -R 750 /var/www/svn/ ``` 这里假设默认情况下 web 用户组为 "apache"。 #### 设置访问控制权限 接下来定义哪些用户能够读取或写入特定资源。可以通过修改位于 `/etc/httpd/conf.d/subversion.conf` 的文件实现这一点,在其中加入如下内容以便于管理不同项目的权限列表: ```apacheconf <Location /svn> DAV svn SVNParentPath /var/www/svn AuthType Basic AuthName "Authorization Realm" AuthUserFile /etc/svn-auth-users Require valid-user </Location> htpasswd -cm /etc/svn-auth-users username ``` 这段脚本设置了基本的身份验证机制,并指定了密码文件的位置;最后一条命令用来添加首个授权账户。 #### 启动与启用Apache服务 启动HTTPD守护进程并将它设为开机自启状态: ```bash systemctl start httpd.service systemctl enable httpd.service firewall-cmd --permanent --add-service=http firewall-cmd --reload ``` 这些指令保证Web服务器正常运行并且允许外部连接到达80端口上的SVN接口。 #### 测试部署成果 现在应该可以从浏览器或者其他支持SVN协议的应用程序中尝试检出刚刚创建好的测试工程了。如果一切顺利的话,则说明整个环境搭建成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值