ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#在linux环境下搭建svn 服务器让提交的代码 同步到lnmp环境下 1,centos6.3 先检测是否安装了svn rpm –qa subversion 看看有没有 如果有 执行卸载命令 yum remove subversion 2,安装svn yum install subversion 3,判断安装是否成功 svnserve --version ![](https://box.kancloud.cn/2015-12-17_567225530bdf8.png) 配置svn 看看svn版本库建在那个目录下 这里就建在opt目录下 mkdir /opt/svn/ 然后建立svn版本库(这个怎么说呢 就相当于项目文件夹吧 就这样叫了) svnadmin create /opt/svn/test (后面这个文件夹名字随意,叫什么都可以) 这样的话 就会在test 文件夹下面 出现 conf,db,format,hooks,locks,README.txt 进入到 conf 文件夹下 里面会有 authz 权限控制 可以设置哪些用户可以访问哪些目录 passwd是设置用户和密码的 svnserve.conf是设置svn相关的操作 vim /opt/svn/test/conf/passwd ![](https://box.kancloud.cn/2015-12-17_567225539997c.png) authz为新增用户设置访问权限 vim /opt/svn/test/conf/ authz ![](https://box.kancloud.cn/2015-12-17_56722553a5954.png) Vim /opt/svn/test/conf/svnserve.conf 去掉相关注释就行,并把空白也删除. 我刚开始的时候以为 只要添加上这四个被取消注释的就行 没想到必须要在特定的位置才可以。。。。只能取消注释 ![](https://box.kancloud.cn/2015-12-17_56722553b7e34.png) (只要去除注释,删除前面空白就行了) svn: svnserve -d -r /opt/svn 启动svn ![](https://box.kancloud.cn/2015-12-17_56722553d82a8.png) 这就说明 svn 已经启动了 (关闭svn) killall svnserve 启动svn(svnserve -d -r /opt/svn) 如果已经有svn在运行,可以换一个端口运行 svnserve -d -r /opt/svn/repos --listen-port 3391 连接地址为 svn://192.168.1.231:3690(这是我的端口号ps:可根据自己的具体地址 具体写) 到这里基本就是结束了 如果不能连接的话 那就应该是防火墙的事情了。。。 #这个不熟悉,直接上代码吧.本人亲测可以使用. #vi /etc/sysconfig/iptables 新增一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT #注意这里的端口号,svn服务默认的端号是3690,可以改成你设置的. 重启svn 到这里svn 就已经安装结束了 ,试试 已经可以使用了。(但是 我想要的是 提交上来的代码直接提交到lnmp环境下 这样我就可以直接通过内网ip访问了 协作开发也方便啊 这样我就要设置svn 钩子,让提交的代码 同步到lnmp环境下 这个就比较吊了。。。我弄了接近一天(搞明白了,发现很简单)) 在你的svn版本库里面 有个 conf 文件夹 打开 进入到 hooks 目录下 新建一个 post-commit 文件(钩子脚本) Vim post-commit 内容如下: ![](https://box.kancloud.cn/2015-12-17_56722553e8759.png) #!/bin/bash SVN=svn WEB=/home/wwwroot/default/wwwroot export LANG=zh_CN.UTF-8 $SVN update $WEB --username "niewenbo" --password "123456" --no-auth-cache (为了保险起见 先去lnmp环境下 svn checkout svn://localhost:3690/test) 这个用户名 密码 是我们刚才添加进去对svn版本库有权限的 也就是去 我的lnmp环境下 进行了 svn update 然后基本就配置完了。。但是你上传的时候 会发现255错误 那是因为 post-commit 没有执行权限 给个权限吧!! chmod 777 post-commit 再测试一下吧。。。。完美